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

ALTER ACCOUNT

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>' ]
Copy

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.

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.

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. 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' , ... ] )

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 para BLOCKED_IP_LIST, a Snowflake aplica primeiro a lista de bloqueio.

  • Não adiciona 0.0.0.0/0 a BLOCKED_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 a ALLOWED_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>;
    
    Copy

    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 em BLOCKED_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 a 192.168.1.255 (via notação CIDR 192.168.1.0/24), exceto 192.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;
Copy
+-----------------+----------------+
| 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;
Copy
+-----------------+---------------------------+
| name            | value                     |
|-----------------+---------------------------|
| ALLOWED_IP_LIST | 192.168.1.0,192.168.1.100 |
+-----------------+---------------------------+