Controle do tráfego de rede com políticas de rede

O uso de SQL para trabalhar com políticas e regras de rede está em disponibilidade geral.

Nota

As políticas de rede que existiam antes da introdução das regras de rede não podem mais ser modificadas em Snowsight. Use o comando ALTER NETWORK POLICY em vez disso.

Você pode usar políticas de rede para controlar o acesso de entrada ao serviço Snowflake e ao estágio interno.

Se você deseja controlar o tráfego de saída do Snowflake para um destino de rede externo, consulte Visão geral do acesso à rede externa.

Sobre políticas de rede

Por padrão, o Snowflake permite que os usuários se conectem ao serviço e ao estágio interno de qualquer computador ou dispositivo. Um administrador de segurança (ou superior) pode usar uma política de redes para permitir ou negar acesso a uma solicitação com base em sua origem. A lista de permissões da política de redes controla quais solicitações têm permissão para acessar o serviço Snowflake ou estágio interno, enquanto a lista de bloqueio controla quais solicitações devem ser explicitamente bloqueadas.

Uma política de redes não especifica diretamente os identificadores de rede em sua lista de permissões ou lista de bloqueio. Em vez disso, uma política de redes adiciona regras de rede às suas listas de permissões e bloqueio. Essas regras de rede agrupam identificadores relacionados em unidades lógicas que são adicionadas à lista de permissões e à lista de bloqueio de uma política de redes.

Importante

As políticas de redes que existiam antes da introdução das regras de rede ainda funcionam. No entanto, todas as novas políticas de redes devem usar regras de rede, e não os parâmetros ALLOWED_IP_LIST e BLOCKED_IP_LIST, para controlar o acesso de endereços IP. A prática recomendada é evitar usar ambas as formas para restringir o acesso na mesma política de redes.

Fluxo de trabalho

O fluxo de trabalho geral de uso de políticas de redes para controlar o tráfego de rede de entrada é:

  1. Crie regras de rede com base na finalidade e no tipo de identificador de rede.

  2. Crie uma ou mais políticas de redes que incluam as regras de rede que contêm os identificadores a serem permitidos ou bloqueados.

  3. Ative a política de redes para uma conta, usuário ou integração de segurança. Uma política de redes não restringe o tráfego de rede até que seja ativada.

Interação entre listas de permissões e listas de bloqueio

Quando você adiciona uma regra de rede à lista de permissões de uma política de redes, não precisa usar a lista de bloqueios para bloquear explicitamente outros identificadores do mesmo tipo; somente os identificadores permitidos têm acesso. No entanto, identificadores de tipo diferente não são bloqueados automaticamente. Por exemplo, se você adicionar uma regra de rede IPV4 com um único endereço IP à lista de permissões, todos os outros endereços IPv4 serão bloqueados. Não há necessidade de usar a lista de bloqueios para restringir o acesso de outros endereços IP. No entanto, os pontos de extremidade VPC ainda terão acesso, a menos que regras de rede adicionais sejam adicionadas à política de redes.

Por exemplo, uma regra de rede que utiliza identificadores de pontos de extremidade privados, como o Azure LinkIDs ou AWS VPCE IDs para restringir o acesso, não tem efeito sobre as solicitações provenientes da rede pública. Se quiser restringir o acesso com base em identificadores de ponto de extremidade privado e, em seguida, bloquear completamente as solicitações de endereços IPv4 públicos, você deverá criar duas regras de rede separadas, um para a lista de permissões e outro para a lista de bloqueio.

As seguintes regras de rede podem ser combinadas em uma política de redes para permitir um VPCE ID ao bloquear o tráfego de rede pública.

CREATE NETWORK RULE block_public_access
  MODE = INGRESS
  TYPE = IPV4
  VALUE_LIST = ('0.0.0.0/0');

CREATE NETWORK RULE allow_vpceid_access
  MODE = INGRESS
  TYPE = AWSVPCEID
  VALUE_LIST = ('vpce-0fa383eb170331202');

CREATE NETWORK POLICY allow_vpceid_block_public_policy
  ALLOWED_NETWORK_RULE_LIST = ('allow_vpceid_access')
  BLOCKED_NETWORK_RULE_LIST=('block_public_access');
Copy

Intervalos de IP

Se quiser permitir um intervalo de endereços IP com exceção de um único endereço IP, você poderá criar duas regras de rede, uma para a lista de permissões e outra para a lista de bloqueio.

Por exemplo, o seguinte permitiria solicitações de todos os endereços IP no intervalo de 192.168.1.0 a 192.168.1.255, exceto 192.168.1.99. Endereços IP fora do intervalo também são bloqueados.

CREATE NETWORK RULE allow_access_rule
  MODE = INGRESS
  TYPE = IPV4
  VALUE_LIST = ('192.168.1.0/24');

CREATE NETWORK RULE block_access_rule
  MODE = INGRESS
  TYPE = IPV4
  VALUE_LIST = ('192.168.1.99');

CREATE NETWORK POLICY public_network_policy
  ALLOWED_NETWORK_RULE_LIST = ('allow_access_rule')
  BLOCKED_NETWORK_RULE_LIST=('block_access_rule');
Copy

Precedência de política de redes

É possível aplicar uma política de redes a uma conta, a uma integração de segurança ou a um usuário. Se houver políticas de redes aplicadas a mais de uma delas, a política de redes mais específica substituirá as políticas de redes mais gerais. O seguinte resume a ordem de precedência:

Conta:

As políticas de redes aplicadas a uma conta são as políticas de redes mais gerais. Elas são substituídas por políticas de redes aplicadas a uma integração de segurança ou usuário.

Integração de segurança:

As políticas de redes aplicadas a uma integração de segurança substituem as políticas de redes aplicadas à conta, mas são substituídas por uma política de redes aplicada a um usuário.

Usuário:

As políticas de redes aplicadas a um usuário são as políticas de redes mais específicas. Elas substituem contas e integrações de segurança.

Como ignorar uma política de redes

É possível ignorar temporariamente uma política de rede por um determinado número de minutos configurando a propriedade do objeto do usuário MINS_TO_BYPASS_NETWORK_POLICY, que pode ser visualizada executando DESCRIBE USER. Somente o Snowflake pode definir o valor para este objeto de propriedade. Entre em contato com o suporte Snowflake para definir um valor para essa propriedade.

Sobre regras de rede

Embora as restrições às solicitações de entrada para o Snowflake sejam, em última análise, aplicadas a uma conta, usuário ou integração de segurança com uma política de redes, o administrador pode organizar essas restrições usando regras de rede, que são objetos no nível do esquema.

Cada regra de rede agrupa os identificadores para um tipo específico de origem de solicitação. Por exemplo, uma regra de rede pode incluir todos os endereços IPv4 que devem ter permissão para acessar o Snowflake, enquanto outra agrupa todos os pontos de extremidade privados que devem ser bloqueados.

Uma regra de rede, entretanto, não especifica se está permitindo ou bloqueando a origem de uma solicitação. Ela simplesmente organiza origens relacionadas em uma unidade lógica. Os administradores especificam se essa unidade deve ser permitida ou bloqueada quando criam ou modificam uma política de redes.

Se você já entende as estratégias para usar regras de rede com políticas de redes, consulte Como trabalhar com regras de rede.

Práticas recomendadas

  • Limite o escopo. As regras de rede são projetadas para agrupar pequenas unidades de identificadores de rede relacionados. Anteriormente, as políticas de redes geralmente continham uma lista grande e monolítica de endereços IP que deveriam ser permitidos ou bloqueados. A introdução de regras de rede altera esta estratégia. Por exemplo, você pode dividir os identificadores de rede da seguinte forma:

    • Criação de uma regra de rede para conter endereços IP de clientes para a região da América do Norte e uma regra diferente para a região da Europa e Oriente Médio.

    • Criação de uma regra de rede cujo objetivo é permitir o acesso a uma população especial, como usuários altamente privilegiados e usuários de contas de serviço. Esta regra de rede pode ser adicionada a uma política de redes aplicada a usuários individuais.

    • Criação de uma regra de rede com escopo para um ou mais aplicativos de dados.

    Com a introdução de regras de rede, Snowflake recomenda que você também limite o escopo das políticas de redes. Sempre que possível, limite uma política de redes a um grupo de usuários ou a uma integração de segurança, em vez de uma conta inteira.

  • Adicione comentários. Ao criar uma regra de rede, use a propriedade COMMENT para acompanhar o que a regra deve fazer. Os comentários são importantes porque o Snowflake incentiva um grande número de pequenas regras direcionadas em vez de regras monolíticas.

    Você pode usar o comando SHOW NETWORK RULES para listar todas as regras de rede, incluindo seus comentários.

Identificadores suportados

Cada regra de rede contém uma lista de um ou mais identificadores de rede do mesmo tipo (por exemplo, uma regra de endereço IPv4 ou uma regra de ponto de extremidade privado).

A propriedade TYPE de uma regra de rede identifica quais tipos de identificadores a regra de rede contém.

Para obter uma lista completa dos tipos de identificadores que podem ser restringidos usando regras de rede, consulte Identificadores de rede suportados.

Proteção do serviço Snowflake

Esta seção discute como usar regras de rede para restringir o acesso apenas ao serviço Snowflake. Se você quiser restringir o acesso ao serviço e ao estágio interno de uma conta no AWS, consulte Proteção de estágios internos no AWS.

Para restringir o acesso ao serviço Snowflake, defina a propriedade MODE da regra de rede como INGRESS.

Você pode então usar a propriedade TYPE para especificar os identificadores que devem ser permitidos ou bloqueados.

Proteção de estágios internos no AWS

Esta seção discute como usar regras de rede para restringir o acesso a estágios internos no AWS, incluindo como restringir simultaneamente o acesso ao serviço Snowflake e ao estágio interno. Isso inclui:

Nota

Você não pode usar uma regra de rede para restringir o acesso a um estágio interno no Microsoft Azure. No entanto, você poderá bloquear todo o acesso público a um estágio interno no Azure se estiver usando o Azure Private Link. Para obter mais detalhes, consulte Bloqueio do acesso público (opcional).

Limitações

  • Uma política de redes que é ativada para uma integração de segurança não restringe o acesso a um estágio interno.

  • As restrições de regras de rede não se aplicam a solicitações que acessam um estágio interno usando um URL predefinido que foi gerado pela função GET_PRESIGNED_URL.

Pré-requisito: ativação de restrições de estágio interno

Para usar regras de rede para restringir o acesso ao estágio interno de uma conta, o administrador da conta deve ativar o parâmetro ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES. As regras de rede não protegem um estágio interno até que este parâmetro seja habilitado, independentemente do modo da regra.

Para permitir que regras de rede restrinjam o acesso a estágios internos, execute:

USE ROLE ACCOUNTADMIN;
ALTER ACCOUNT SET ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES = true;
Copy

Diretrizes para estágios internos

Além das práticas recomendadas para regras de rede, você deve seguir as diretrizes a seguir ao criar regras de rede para restringir o acesso a estágios internos.

  • Limite o número de identificadores. Devido às restrições impostas pelas políticas de sessão AWS S3, sua estratégia para proteger um estágio interno deve estar em conformidade com os seguintes limites:

    • Uma regra de rede que contém endereços IPv4 não pode conter mais de 15 IP intervalos de endereços por regra. Se você tiver mais de 15 intervalos de endereços, crie uma regra de rede adicional.

    • Quando você permite ou bloqueia o tráfego com base em VPCE IDs de pontos de extremidade VPC, há um limite cumulativo de 10 VPCE IDs por política de redes. Por exemplo, se uma regra de rede contiver 5 VPCE IDs e outra contiver 6 VPCE IDs, você não poderá adicionar ambas as regras à mesma política de redes.

    Se você encontrar exceções PolicySizeExceeded ao buscar as credenciais com escopo definido de AWS STS, divida os identificadores de rede em regras de rede menores.

  • Use a mesma regra para proteger o serviço e o estágio interno. Quando uma regra contém endereços IPv4 e o modo de uma regra de rede é INGRESS, uma única regra pode proteger o serviço Snowflake e o estágio interno da conta. Snowflake recomenda usar uma única regra mesmo quando os endereços IP que acessam o serviço são diferentes dos endereços IP que acessam o estágio interno. Essa abordagem melhora a organização, a capacidade de gerenciamento e a auditoria.

  • Teste as políticas de redes. Snowflake recomenda testar regras de rede usando políticas de redes em nível de usuário. Se você encontrar exceções PolicySizeExceeded ao buscar as credenciais com escopo definido de AWS STS, divida os identificadores de rede em regras de rede menores.

Estratégia para proteger apenas o estágio interno

Para restringir o acesso a um estágio interno AWS sem afetar a forma como o tráfego de rede acessa o serviço Snowflake, crie uma regra de rede com as seguintes configurações:

  • Ajuste o parâmetro MODE para INTERNAL_STAGE.

  • Ajuste o parâmetro TYPE para AWSVPCEID.

Nota

Você não pode restringir o acesso ao estágio interno com base no endereço IP da solicitação sem restringir também o acesso ao serviço Snowflake.

Estratégias para proteger o serviço e o estágio interno

Ao restringir o acesso ao serviço Snowflake e ao estágio interno, a estratégia de implementação varia dependendo se o tráfego de rede atravessa a internet pública ou o AWS Private Link.

Na comparação a seguir, “Público” indica que o tráfego para o serviço ou estágio interno está atravessando a internet pública, enquanto “Privado” indica que o tráfego está usando o AWS Private Link. Encontre a combinação que corresponde ao seu ambiente e escolha a estratégia de implementação adequada.

Conexão de serviço

Conexão do estágio interno

Estratégia de implementação

Público

Público

Crie uma única regra de rede com TYPE=IPV4 e MODE=INGRESS. Inclua todos os endereços IP que acessam o serviço e o estágio interno.

Privado

Privado

A estratégia depende se você deseja restringir o acesso usando endereços IP privados ou VPCE ID dos pontos de extremidade VPC:

  • (Recomendado) Se estiver usando VPCE IDs, você deverá criar duas regras de rede, mesmo que o mesmo ponto de extremidade VPC esteja se conectando ao serviço e ao estágio interno.

    • Para o serviço, crie uma regra de rede com TYPE=AWSVPCEID e MODE=INGRESS.

    • Para o estágio interno, crie uma regra de rede com TYPE=AWSVPCEID e MODE=INTERNAL_STAGE.

  • Se estiver usando endereços IP privados, crie uma regra de rede com TYPE=IPV4 e MODE=INGRESS. Inclui todos os endereços IP privados que acessam o serviço e o estágio interno.

Público [1]

Privado

A estratégia depende se você deseja restringir o acesso ao estágio interno usando endereços IP privados ou VPCE ID dos pontos de extremidade VPC:

  • (Recomendado) Se estiver usando VPCE IDs, crie duas regras de rede, uma para o serviço e outra para o estágio interno.

    • Para o serviço, crie uma regra de rede com TYPE=IPV4 e MODE=INGRESS.

    • Para o estágio interno, crie uma regra de rede com TYPE=AWSVPCEID e MODE=INTERNAL_STAGE.

  • Se estiver usando endereços IP privados, crie uma única regra de rede com TYPE=IPV4 e MODE=INGRESS. Inclua todos os endereços IP que acessam o serviço e o estágio interno.

Privado

Público [1]

Você deve usar IPs privados para o serviço (não é possível usar VPCE IDs). Crie uma única regra de rede com TYPE=IPV4 e MODE=INGRESS. Inclua todos os endereços IP que acessam o serviço e o estágio interno.

Como trabalhar com regras de rede

Você pode usar Snowsight ou SQL para gerenciar o ciclo de vida de uma regra de rede.

Criação de uma regra de rede

Você precisa do privilégio CREATE NETWORK RULE no esquema para criar uma regra de rede. Por padrão, somente as funções ACCOUNTADMIN e SECURITYADMIN, juntamente com o proprietário do esquema, têm esse privilégio.

O modo de uma regra de rede que será usada por uma política de redes deve ser INGRESS ou INTERNAL STAGE.

Para entender melhor as práticas recomendadas e estratégias para a criação de regras de rede, consulte Sobre regras de rede.

Você pode criar uma regra de rede usando Snowsight ou executando um comando SQL:

Snowsight:
  1. Entre em Snowsight.

  2. Selecione Admin » Security.

  3. Selecione a guia Network Rules.

  4. Selecione + Network Rule.

  5. Insira o nome da regra de rede.

  6. Selecione o esquema da regra de rede. As regras de rede são objetos no nível do esquema.

  7. Opcionalmente, adicione um comentário descritivo à regra de rede para ajudar a organizar e manter as regras de rede no esquema.

  8. No menu suspenso Type, selecione o tipo de identificador que está sendo definido na regra de rede. O tipo Host Port não é uma opção válida para regras de rede usadas com políticas de redes.

  9. No menu suspenso Mode, selecione Ingress ou Internal Stage. O modo Egress não é uma opção válida para regras de rede usadas com políticas de redes.

  10. Insira uma lista separada por vírgulas dos identificadores que serão permitidos ou bloqueados quando a regra de rede for adicionada a uma política de redes. Os identificadores nesta lista devem ser todos do tipo especificado no menu suspenso Type.

  11. Selecione Create Network Policy.

SQL:

Um administrador pode executar o comando CREATE NETWORK RULE para criar uma nova regra de rede, especificando uma lista de identificadores de rede junto com o tipo desses identificadores.

Por exemplo, para usar uma função personalizada para criar uma regra de rede que possa ser usada para permitir ou bloquear o tráfego de um intervalo de endereços IP:

GRANT USAGE ON DATABASE securitydb TO ROLE network_admin;
GRANT USAGE ON SCHEMA securitydb.myrules TO ROLE network_admin;
GRANT CREATE NETWORK RULE ON SCHEMA securitydb.myrules TO ROLE network_admin;
USE ROLE network_admin;

CREATE NETWORK RULE cloud_network TYPE = IPV4 VALUE_LIST = ('47.88.25.32/27');
Copy

Modificar uma regra de rede

Você pode modificar os identificadores e comentários de uma regra de rede existente, mas não pode modificar seu tipo, modo, nome ou esquema.

Você pode adicionar ou remover identificadores e comentários de uma regra de rede existente usando Snowsight ou SQL.

Snowsight:
  1. Entre em Snowsight.

  2. Selecione Admin » Security.

  3. Selecione a guia Network Rules.

  4. Encontre a regra de rede, selecione o botão e selecione Edit.

  5. Modifique a lista de identificadores delimitada por vírgulas ou o comentário.

  6. Selecione Update Network Rule.

SQL:

Execute uma instrução ALTER NETWORK RULE.

Como trabalhar com políticas de redes

Depois de agrupar os identificadores de rede em regras de rede, você estará pronto para adicionar essas regras de rede à lista de permissões e à lista de bloqueio de uma política de redes nova ou existente. Não há limite de quantas regras de rede podem ser adicionadas a uma política de redes.

Para obter informações gerais sobre como as políticas de redes controlam o acesso de entrada ao serviço Snowflake e ao estágio interno, consulte Sobre políticas de rede.

Criação de uma política de redes

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. A propriedade de uma política de rede pode ser transferida para outra função.

Você pode criar uma política de redes usando Snowsight ou SQL:

Snowsight:
  1. Entre em Snowsight.

  2. Selecione Admin » Security.

  3. Selecione a guia Network Policies.

  4. Selecione + Network Policy.

  5. Insira o nome da política de redes.

  6. Opcionalmente, insira um comentário descritivo.

  7. Para adicionar uma regra de rede à lista de permissões, selecione Allowed e selecione Select rule. Você pode adicionar várias regras de rede à lista de permissões selecionando novamente Select rule.

  8. Para adicionar uma regra de rede à lista de bloqueio, selecione Blocked e selecione Select rule. Você pode adicionar várias regras de rede à lista de bloqueio selecionando novamente Select rule.

  9. Selecione Create Network Policy.

SQL:

Execute uma instrução CREATE NETWORK POLICY.

Identificação de políticas de redes em sua conta

Você pode identificar as políticas de redes na sua conta usando Snowsight ou SQL.

Snowsight:
  1. Entre em Snowsight.

  2. Selecione Admin » Security.

  3. Selecione a guia Network Policies.

SQL:

Chame a função de tabela do Information Schema POLICY_REFERENCES ou consulte a exibição do Account Usage POLICY_REFERENCES ou NETWORK_POLICIES.

Modificação de uma política de redes

Você pode adicionar ou remover regras de rede da lista de permissões e da lista de bloqueio de uma política de redes existente usando Snowsight ou SQL. Se estiver editando uma política de redes que usa os parâmetros ALLOWED_IP_LIST e BLOCKED_IP_LIST em vez de uma regra de rede, você deverá usar SQL para modificar a política de redes.

Snowsight:
  1. Entre em Snowsight.

  2. Selecione Admin » Security.

  3. Selecione a guia Network Policies.

  4. Encontre a política de redes, selecione o botão e selecione Edit.

  5. Para adicionar uma regra de rede à lista de permissões, selecione Allowed e selecione Select rule. Você pode adicionar várias regras de rede à lista de permissões selecionando novamente Select rule.

  6. Para adicionar uma regra de rede à lista de bloqueio, selecione Blocked e selecione Select rule. Você pode adicionar várias regras de rede à lista de bloqueio selecionando novamente Select rule.

  7. Para remover uma regra de rede da lista de permissões ou bloqueio da política de redes:

    1. Selecione Allowed ou Blocked.

    2. Encontre a regra de rede na lista e selecione X para removê-la.

SQL:

Use o comando ALTER NETWORK POLICY para adicionar ou remover regras de rede de uma política de redes existente.

Ao adicionar uma regra de rede à lista de permissões ou à lista de bloqueio, você pode substituir todas as regras de rede existentes na lista ou adicionar a nova regra, mantendo a lista existente. Os exemplos a seguir mostram cada uma dessas opções:

  • Use a cláusula SET para substituir as regras de rede na lista de bloqueio por uma nova regra de rede chamada other_network:

    ALTER NETWORK POLICY my_policy SET BLOCKED_NETWORK_RULE_LIST = ( 'other_network' );
    
    Copy
  • Use a cláusula ADD para adicionar uma única regra de rede à lista de permissões de uma política de redes existente. As regras de rede que foram adicionadas anteriormente à lista de permissões da política permanecem em vigor.

    ALTER NETWORK POLICY my_policy ADD ALLOWED_NETWORK_RULE_LIST = ( 'new_rule' );
    
    Copy

Você também pode remover uma regra de rede de uma lista existente sem substituir a lista inteira. Por exemplo, para remover uma regra de rede da lista de bloqueio da política de redes:

ALTER NETWORK POLICY my_policy REMOVE BLOCKED_NETWORK_RULE_LIST = ( 'other_network' );
Copy

Ativação de uma política de redes

Uma regra de rede não restringe o tráfego de rede de entrada até que seja ativada para uma conta, usuário ou integração de segurança. Para obter instruções sobre como ativar em cada nível, consulte:

Se você estiver ativando diversas políticas de redes em níveis diferentes (por exemplo, políticas de redes no nível da conta e do usuário), consulte Precedência de política de redes.

Ativação de uma política de redes para sua conta

A ativação de uma política de redes para uma conta aplica a política a todos os usuários da conta.

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 ATTACH POLICY podem ativar uma política de redes para uma conta.

Assim que a política for associada à sua conta, o Snowflake restringe o acesso à sua conta com base na lista de permissões e lista de bloqueio. O acesso é negado a qualquer usuário que tente fazer login a partir de uma origem de rede restrita pelas regras. Além disso, quando uma política de rede é associada à sua conta, qualquer usuário restrito que já esteja conectado ao Snowflake é impedido de executar outras consultas.

Você pode criar várias políticas de redes, mas somente uma política de redes pode ser associada a uma conta por vez. A associação de uma política de rede com sua conta remove automaticamente a política de rede atualmente associada (se houver).

Observe que seu endereço IP atual ou identificador de ponto de extremidade privado deve ser incluído na lista de permissões da política. Caso contrário, ao ativar a política, o Snowflake retorna um erro. Além disso, seu identificador atual não pode ser incluído na lista de bloqueio.

Se você quiser determinar se já existe uma política de redes no nível da conta antes de ativar uma nova, consulte Identificação de uma política de redes ativada no nível da conta ou do usuário.

Você pode ativar uma política de redes para sua conta usando Snowsight ou SQL:

Snowsight:
  1. Selecione Admin » Security.

  2. Selecione a guia Network Policies.

  3. Encontre a política de redes, selecione o botão e selecione Activate.

  4. Selecione Activate policy.

SQL:

Execute a instrução ALTER ACCOUNT para definir o parâmetro NETWORK_POLICY da conta. Por exemplo:

ALTER ACCOUNT SET NETWORK_POLICY = my_policy;
Copy

Ativar políticas de redes para usuários individuais

Para aplicar uma política de redes a um usuário específico na sua conta Snowflake, ative a política de redes para o usuário. Apenas uma única política de redes pode ser ativada para cada usuário por vez. A capacidade de ativar diferentes políticas de redes para diferentes usuários permite um controle granular. Associar uma política de rede com um usuário remove automaticamente a política de rede atualmente associada (se houver).

Nota

Somente a função com o privilégio OWNERSHIP sobre o usuário e a política de rede, ou uma função superior, pode ativar uma política de rede para um usuário individual.

Quando a política é associada ao usuário, o Snowflake restringe o acesso ao usuário com base na lista de permissões e na lista de bloqueios. Se o usuário com uma política de redes de nível de usuário ativada tentar fazer login de um local de rede restrito pelas regras, o acesso ao Snowflake será negado.

Além disso, quando uma política de redes em nível de usuário estiver associada ao usuário e o usuário já estiver conectado ao Snowflake, se o local de rede do usuário não corresponder às regras da política de redes em nível de usuário, o Snowflake impedirá que o usuário execute outras consultas.

Se você quiser determinar se já existe uma política de redes no nível do usuário antes de ativar uma nova, consulte Identificação de uma política de redes ativada no nível da conta ou do usuário.

Para ativar uma política de redes para um usuário individual, execute o comando ALTER USER para definir o parâmetro NETWORK_POLICY para o usuário. Por exemplo, execute:

ALTER USER joe SET NETWORK_POLICY = my_policy;
Copy

Ativar políticas de redes para integrações de segurança

Algumas integrações de segurança suportam a ativação de uma política de redes para controlar o tráfego de rede governado por essa integração. Essas integrações de segurança possuem um parâmetro NETWORK_POLICY que ativa a política de redes para a integração. Atualmente, SCIM e Snowflake OAuth oferecem suporte a políticas de redes em nível de integração.

Nota

Uma política de redes que é ativada para uma integração de segurança não restringe o acesso a um estágio interno.

Por exemplo, você pode ativar uma política de redes ao criar uma nova integração de segurança Snowflake OAuth. A política de redes restringiria o acesso de solicitações que tentam autenticar.

CREATE SECURITY INTEGRATION oauth_kp_int
  TYPE = oauth
  ENABLED = true
  OAUTH_CLIENT = custom
  OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
  OAUTH_REDIRECT_URI = 'https://example.com'
  NETWORK_POLICY = mypolicy;
Copy

Você pode executar a instrução ALTER SECURITY INTEGRATION … SET NETWORK_POLICY para ativar uma política de redes para uma integração de segurança existente.

Identificação de uma política de redes ativada no nível da conta ou do usuário

Você pode identificar qual política de redes está ativada no nível da conta ou do usuário.

Conta:
  1. Selecione Admin » Security.

  2. Selecione a guia Network Policies.

  3. Ordene a coluna Status para visualizar a política de redes ativa. Esta é a política no nível da conta.

Como alternativa, você pode executar o seguinte para listar a política de redes no nível da conta:

SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
Copy
Usuário:

Para determinar se uma política de redes está definida para um usuário específico, execute o comando SHOW PARAMETERS.

SHOW PARAMETERS LIKE 'network_policy' IN USER <username>;
Copy

Por exemplo:

SHOW PARAMETERS LIKE 'network_policy' IN USER jsmith;
Copy

Uso da replicação com políticas de redes e regras de rede

Snowflake oferece suporte à replicação e failover/failback para políticas e regras de rede, incluindo a atribuição da política de redes.

Para obter mais detalhes, consulte Replicação de integrações de segurança e políticas de redes em múltiplas contas.

Uso do Classic Console

Nota

Novos recursos não estão sendo lançados para Classic Console. Snowflake recomenda usar Snowsight ou SQL para que você possa usar regras de rede em conjunto com políticas de redes.

Criação de uma política de redes com Classic Console

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. A propriedade de uma política de rede pode ser transferida para outra função.

  1. Clique em Account Guia de conta » Policies. A página Policies é aberta.

  2. Clique no botão Create. A caixa de diálogo Create Network Policy aparece.

  3. No campo Name, digite um nome para a política da rede.

  4. No campo Allowed IP Addresses, digite um ou mais endereços IPv4 que têm acesso a esta conta Snowflake, separados por vírgulas.

    Nota

    Para bloquear todos os endereços IP exceto para um conjunto de endereços específicos, basta definir uma lista de endereços IP permitidos. O Snowflake bloqueia automaticamente todos os endereços IP não incluídos na lista de permissões.

  5. No campo Blocked IP Addresses, opcionalmente, digite um ou mais endereços IPv4 que não tenham acesso a esta conta Snowflake, separados por vírgulas. Observe que este campo não é obrigatório e é usado principalmente para negar endereços específicos em um intervalo de endereços na lista de permissões.

    Cuidado

    • Quando uma política de rede inclui valores em ambas as listas de endereços IP permitidos e bloqueados, o Snowflake aplica primeiro a lista de endereços IP bloqueados.

    • Não adicione 0.0.0.0/0 à lista de endereços IP bloqueados. 0.0.0.0/0 é interpretado como “todos os endereços IPv4 na máquina local”. Como o Snowflake resolve esta lista primeiro, isto bloquearia seu próprio acesso. Além disso, observe que não é necessário incluir este endereço IP na lista de endereços IP permitidos.

  6. Insira outras informações para a política da rede, conforme necessário, e clique em Finish.

Modificação de uma política de redes com Classic Console

Se você estiver usando Classic Console, faça o seguinte para modificar uma política de redes:

  1. Clique em Account Guia de conta » Policies.

  2. Clique em uma política para selecioná-la e preencha o painel lateral à direita.

  3. Clique no botão Edit no painel direito.

  4. Modifique os campos conforme necessário:

    • Para remover um endereço IP da lista Allowed IP Addresses ou Blocked IP Addresses, clique no x ao lado da entrada.

    • Para adicionar um endereço IP a qualquer uma das listas, digite um ou mais endereços IPv4 separados por vírgula no campo apropriado, e clique no botão Add.

  5. Clique em Save.

Ativação de uma política de redes com Classic Console

Se você estiver usando Classic Console, poderá aplicar uma política de redes para todos os usuários em sua conta Snowflake ativando política de redes para sua conta.

  1. Clique em Account Guia de conta » Policies.

  2. Clique em uma política para selecioná-la e preencha o painel lateral à direita.

  3. Clique no botão Activate no painel direito.