ALTER NETWORK POLICY¶
Modifica as propriedades de uma política de redes existente.
Nota
Somente o proprietário da política de redes (ou seja, a função com o privilégio OWNERSHIP na política de redes) ou superior pode alterar uma política de redes.
- Consulte também:
CREATE NETWORK POLICY , DESCRIBE NETWORK POLICY , DROP NETWORK POLICY , SHOW NETWORK POLICIES
Sintaxe¶
ALTER NETWORK POLICY [ IF EXISTS ] <name> SET {
[ 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>' ] }
ALTER NETWORK POLICY [ IF EXISTS ] <name> UNSET COMMENT
ALTER NETWORK POLICY <name> ADD { ALLOWED_NETWORK_RULE_LIST = '<network_rule>' | BLOCKED_NETWORK_RULE_LIST = '<network_rule>' }
ALTER NETWORK POLICY <name> REMOVE { ALLOWED_NETWORK_RULE_LIST = '<network_rule>' | BLOCKED_NETWORK_RULE_LIST = '<network_rule>' }
ALTER NETWORK POLICY <name> RENAME TO <new_name>
ALTER NETWORK POLICY <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER NETWORK POLICY <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
Parâmetros¶
nameEspecifica o identificador para a política de redes a ser alterada. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.
SET ...Especifica o parâmetro a ser definido para a política de redes:
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.
Substitui regras de rede existentes na lista de permissões. Para adicionar regras de rede sem substituir as existentes, use o comando
ALTER NETWORK POLICY ... ADD.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.
Substitui regras de rede existentes na lista de bloqueio. Para adicionar regras de rede sem substituir as existentes, use o comando
ALTER NETWORK POLICY ... ADD.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_LISTpara 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_LISTpara 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_LISTestá bloqueado.COMMENT = 'string_literal'Adiciona um comentário ou substitui um comentário existente para a política de redes.
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]Especifica o nome da tag e o valor da cadeia de caracteres dela.
O valor de tag é sempre uma cadeia de caracteres, e o número máximo de caracteres do valor da tag é 256.
Para obter informações sobre como especificar tags em uma instrução, consulte Cota de tags para objetos.
UNSET ...Especifica as propriedades a serem removidas para a política de redes, o que as restaura para os padrões:
COMMENT, o que remove o comentário, se existir, para a política de redes.TAG tag_name [ , tag_name ... ]
ADD { ALLOWED_NETWORK_RULE_LIST = 'network_rule' | BLOCKED_NETWORK_RULE_LIST = 'network_rule' }Adiciona uma regra de rede à lista de permissões ou bloqueio da política de redes sem remover as existentes.
REMOVE { ALLOWED_NETWORK_RULE_LIST = 'network_rule' | BLOCKED_NETWORK_RULE_LIST = 'network_rule' }Remove uma regra de rede da lista de permissões ou bloqueio da política de redes.
RENAME TO ...Especifica um novo nome para a política de redes existente.
Requisitos de controle de acesso¶
A função usada para executar essa operação deve ter, no mínimo, os seguintes privilégios:
Privilégio |
Objeto |
Notas |
|---|---|---|
OWNERSHIP |
Política de redes |
Modificar uma política de redes requer uma função com o privilégio OWNERSHIP na política. |
Para obter informações gerais sobre funções e concessões de privilégios para executar ações SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
Um usuário cujo endereço IP está na ALLOWED LIST e que tenta alterar uma política de redes removendo todo o intervalo de IP CDIR vê a seguinte mensagem:
Changes cannot be applied to the network policy RULE_BASED_POLICY because current IP address/token x.xx.xxx.xxx is not allowed in it.
Esse design ajuda a evitar que o usuário conectado no momento seja bloqueado ou bloqueado acidentalmente em sua conta Snowflake.
Não modifique uma política de redes para ter propriedades
ALLOWED_IP_LISTeBLOCKED_IP_LISTvazias. Use regras de rede em conjunto com a política de redes para gerenciar o acesso à sua conta Snowflake.A ação
SETpara as listas permitidas/bloqueadas não é aditiva (ou seja, ela remove todos os endereços IP nas listas existentes para a política de redes e os substitui pelas listas especificadas).Como resultado, para fazer adições às listas existentes, é necessário especificar os novos endereços IP e replicar as listas existentes.
Cada
ip_addresspode 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/24Quando uma política de redes inclui valores tanto para
ALLOWED_IP_LISTcomo paraBLOCKED_IP_LIST, a Snowflake aplica primeiro a lista de bloqueio.Não adiciona
0.0.0.0/0aBLOCKED_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.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.
Exemplo¶
Por exemplo, use ALTER NETWORK POLICY para alterar uma política de redes chamada allow_access_policy que permite o tráfego de rede definido por allow_access_rule para também bloquear o tráfego de rede definido por block_access_rule, de acordo com as regras de rede definidas em Intervalos de IP. Primeiro, mostre a política atual:
DESC NETWORK POLICY allow_access_policy;
+---------------------------+-------------------+
| name | value |
|---------------------------+-------------------|
| ALLOWED_NETWORK_RULE_LIST | allow_access_rule |
+---------------------------+-------------------+
Em seguida, altere allow_access_policy para usar também block_access_rule e, depois, mostre a política atualizada:
ALTER NETWORK POLICY IF EXISTS allow_access_policy SET
BLOCKED_NETWORK_RULE_LIST = ('block_access_rule');
DESC NETWORK POLICY allow_access_policy;
+---------------------------+-------------------+
| name | value |
|---------------------------+-------------------|
| ALLOWED_NETWORK_RULE_LIST | ALLOW_ACCESS_RULE |
| BLOCKED_NETWORK_RULE_LIST | BLOCK_ACCESS_RULE |
+---------------------------+-------------------+
Em seguida, renomeie a política atualizada para descrever o uso de ambas as regras:
ALTER NETWORK POLICY allow_access_policy RENAME TO limit_access_policy;
Em seguida, adicione um comentário que descreva que limit_access_policy é definido por regras de rede:
ALTER NETWORK POLICY limit_access_policy SET COMMENT = 'No_Lists_See_Rules';
SHOW NETWORK POLICIES;
A saída de SHOW NETWORK POLICIES inclui o nome da política atualizada e o comentário incluso na política de redes modificada (alterada).
+-------------------------------+---------------------+--------------------+----------------------------+----------------------------+----------------------------------+----------------------------------+
| created on | name | comment | entries_in_allowed_ip_list | entries_in_blocked_ip_list | entries_in_allowed_network_rules | entries_in_blocked_network_rules |
|-------------------------------+------------------------------------------|----------------------------|----------------------------|----------------------------------|----------------------------------|
|... | | | | | | |
|-------------------------------+------------------------------------------|----------------------------|----------------------------|----------------------------------|----------------------------------|
| 2024-12-04 10:33:19.853 -0800 | LIMIT_ACCESS_POLICY | NO_LISTS_SEE_RULES | 0| 0| 1| 1|
|-------------------------------+------------------------------------------|----------------------------|----------------------------|----------------------------------|----------------------------------|
|... | | | | | | |
+-------------------------------+---------------------+--------------------+----------------------------+----------------------------+----------------------------------+----------------------------------+