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' , ... ] )
Snowflake recomenda usar regras de rede em conjunto com políticas de rede, em vez de usar esse parâmetro. Use o parâmetro ALLOWED_NETWORK_RULE_LIST para especificar regras de rede que contenham endereços IPv4.
Especifica uma lista de endereços IPv4 com acesso permitido à sua conta Snowflake. Ela é chamada de lista de permissões. O Snowflake bloqueia automaticamente todos os endereços IP não incluídos na lista de permissões.
Observe que se o parâmetro for especificado com uma lista vazia, a política de redes não IPv4 permite que os endereços acessem o Snowflake.
BLOCKED_IP_LIST = ( [ ip_address ] [ , 'ip_address' , ... ] )
Snowflake recomenda usar regras de rede em conjunto com políticas de rede, em vez de usar esse parâmetro. Use o parâmetro BLOCKED_NETWORK_RULE_LIST para especificar regras de rede que contenham endereços IPv4.
Especifica uma lista de endereços IPv4 com acesso negado à sua conta Snowflake. Ela é chamada de lista de bloqueio.
Defina este parâmetro somente quando você estiver permitindo o acesso a um intervalo de endereços IP (especificado em
ALLOWED_IP_LIST
), mas quiser negar acesso a um ou mais endereços IP neste intervalo.Padrão: sem valor (ou seja, nenhum endereço IP em
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¶
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.Não adiciona
0.0.0.0/0
aBLOCKED_IP_LIST
. Como o Snowflake aplica primeiro a lista de bloqueio, isto bloquearia seu próprio acesso. Além disso, para bloquear todos os endereços IP exceto uma lista seleta, basta adicionar endereços IP aALLOWED_IP_LIST
. O Snowflake bloqueia automaticamente todos os endereços IP não incluídos na lista de permissões.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 | +-----------------+---------------------------+