CREATE NETWORK POLICY¶
Cria uma política de redes ou substitui uma política de redes existente.
Nota
Somente administradores de segurança (ou seja, usuários com a função SECURITYADMIN) ou superior ou uma função com o privilégio global CREATE NETWORK POLICY podem criar políticas de rede.
- Consulte também:
ALTER NETWORK POLICY , DROP NETWORK POLICY , SHOW NETWORK POLICIES , DESCRIBE NETWORK POLICY
Sintaxe¶
CREATE [ OR REPLACE ] NETWORK POLICY <name>
[ ALLOWED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
[ BLOCKED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
[ ALLOWED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' , ... ] ) ]
[ BLOCKED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' , ... ] ) ]
[ COMMENT = '<string_literal>' ]
Parâmetros obrigatórios¶
name
Identificador para a política de redes; deve ser único para sua conta.
O valor do identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais, a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo,
"My object"
), os identificadores entre aspas duplas também diferenciam letras maiúsculas de minúsculas.Para obter mais detalhes, consulte Requisitos para identificadores.
Parâmetros opcionais¶
ALLOWED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )
Especifica uma lista de regras de rede que contêm os identificadores de rede que têm permissão de acesso ao Snowflake. Não há limite para o número de regras de rede na lista.
BLOCKED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )
Especifica uma lista de regras de rede que contêm os identificadores de rede cujo acesso ao Snowflake foi negado. Não há limite para o número de regras de rede na lista.
ALLOWED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )
Especifica uma lista de endereços IPv4 com acesso permitido à sua conta Snowflake. Ela é chamada de lista de permissões.
A Snowflake recomenda usar regras de rede em conjunto com políticas de rede em vez de usar esta propriedade. Use a propriedade
ALLOWED_NETWORK_RULE_LIST
para especificar regras de rede com endereços IPv4.Se você ainda não estiver usando regras de rede, especifique pelo menos um endereço IPv4 ou intervalo de bloco CIDR para permitir o acesso à sua conta Snowflake. Além disso, se você não estiver usando regras de rede e esta propriedade for especificada com uma lista vazia, nenhum endereço IPv4 poderá acessar sua conta Snowflake.
BLOCKED_IP_LIST = ( [ ip_address ] [ , ip_address , ... ] )
Especifica uma lista de endereços IPv4 com acesso negado à sua conta Snowflake. Ela é chamada de lista de bloqueio. Para remover este parâmetro, especifique um intervalo de blocos CIDR diferente, uma série de endereços IPv4 ou um único endereço IPv4.
A Snowflake recomenda usar regras de rede em conjunto com políticas de rede em vez de usar este parâmetro. Use a propriedade
BLOCKED_NETWORK_RULE_LIST
para especificar regras de rede com endereços IPv4.Para bloquear o acesso público, use uma regra de rede e adicione a regra de rede à propriedade
BLOCKED_NETWORK_RULE_LIST
. O resultado é que apenas endereços IP que usam conectividade privada, como AWS PrivateLink, podem acessar sua conta Snowflake.Padrão: Nenhum valor; nenhum endereço IP na propriedade
ALLOWED_IP_LIST
está bloqueado.
COMMENT = 'string_literal'
Especifica um comentário para a política de redes.
Padrão: sem valor
Requisitos de controle de acesso¶
Uma função usada para executar este comando SQL deve ter os seguintes privilégios no mínimo:
Privilégio |
Objeto |
Notas |
---|---|---|
CREATE NETWORK POLICY |
Conta |
Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed. |
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
Use regras de rede em conjunto com a política de redes para gerenciar o acesso à sua conta Snowflake.
Você não pode executar um comando CREATE OR REPLACE NETWORK POLICY para substituir uma política de redes existente se essa política estiver atualmente atribuída a uma conta, integração de segurança ou usuário.
Cada
ip_address
pode cobrir uma gama de endereços usando a notação Roteamento entre domínios sem classe (CIDR):ip_address[/optional_prefix_length]
Por exemplo:
192.168.1.0/24
Quando uma política de redes inclui valores tanto para
ALLOWED_IP_LIST
como paraBLOCKED_IP_LIST
, a Snowflake aplica primeiro a lista de bloqueio.O número máximo de caracteres para a lista
ALLOWED_IP_LIST
é 100.000. O Snowflake retorna uma mensagem de erro quando este limite de caracteres é excedido.Após criar uma política de redes, você deve associá-la à sua conta antes que Snowflake aplique a política. Você pode associar uma política à sua conta através do comando ALTER ACCOUNT, que deve ser executado por um usuário com a função SECURITYADMIN (ou superior).
Por exemplo:
USE ROLE SECURITYADMIN; ALTER ACCOUNT SET NETWORK_POLICY = <policy_name>;
Para obter mais detalhes, consulte Gerenciamento de parâmetros. Observe que NETWORK_POLICY é atualmente o único parâmetro de conta que pode ser definido pelos usuários com a função SECURITYADMIN.
Antes de associar uma política de redes à sua conta, seu endereço IP atual deve ser incluído em
ALLOWED_IP_LIST
; caso contrário, o comando ALTER ACCOUNT retorna um erro. Além disso, seu endereço IP atual não pode ser incluído emBLOCKED_IP_LIST
.Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Instruções CREATE OR REPLACE <object> são atômicas. Ou seja, quando um objeto é substituído, o objeto antigo é excluído e o novo objeto é criado em uma única transação.
Exemplos¶
Criar uma política de redes chamada mypolicy1
com as seguintes propriedades:
Permitir todos os endereços IP no intervalo de
192.168.1.0
a192.168.1.255
(via notação CIDR192.168.1.0/24
), exceto192.168.1.99
, que é explicitamente bloqueado.Negar todos os outros endereços IP.
CREATE NETWORK POLICY mypolicy1 ALLOWED_IP_LIST=('192.168.1.0/24') BLOCKED_IP_LIST=('192.168.1.99'); DESC NETWORK POLICY mypolicy1;+-----------------+----------------+ | name | value | |-----------------+----------------| | ALLOWED_IP_LIST | 192.168.1.0/24 | | BLOCKED_IP_LIST | 192.168.1.99 | +-----------------+----------------+
Criar uma política de redes chamada mypolicy2
que permita que somente os endereços IP 192.168.1.0
e 192.168.1.100
acessem sua conta:
CREATE NETWORK POLICY mypolicy2 ALLOWED_IP_LIST=('192.168.1.0','192.168.1.100'); DESC NETWORK POLICY mypolicy2;+-----------------+---------------------------+ | name | value | |-----------------+---------------------------| | ALLOWED_IP_LIST | 192.168.1.0,192.168.1.100 | +-----------------+---------------------------+