Políticas de rede

As políticas de rede oferecem opções para o gerenciamento de configurações de rede para o serviço Snowflake.

As políticas de rede permitem restringir o acesso à sua conta com base no endereço IP do usuário. Efetivamente, uma política de rede permite criar uma lista de permissões de IPs, assim como uma lista de bloqueio de IPs, se desejado.

Nota

Regras de rede, que estão atualmente em versão preliminar, podem ser combinadas com políticas de rede para restringir o acesso à rede. As regras de rede têm os seguintes benefícios:

  • Agrupa identificadores de rede em unidades lógicas antes de usar uma política de redes para bloquear ou permitir esses identificadores.

  • Pode restringir solicitações originadas de pontos de extremidade de conectividade privada (pontos de extremidade AWS VPC e pontos de extremidade privados do Azure).

  • Restringe o acesso ao serviço Snowflake e aos estágios internos.

Snowflake recomenda fortemente que todas as novas políticas de redes sejam implementadas usando regras de rede para especificar os identificadores permitidos ou bloqueados.

Para obter mais detalhes, consulte Como trabalhar com regras de rede.

Neste tópico:

Visão geral

Por padrão, o Snowflake permite que os usuários se conectem ao serviço a partir de qualquer computador ou endereço IP de dispositivo. Um administrador de segurança (ou superior) pode criar uma política de rede para permitir ou negar acesso a um único endereço IP ou a uma lista de endereços. Atualmente, as políticas de rede suportam apenas endereços da versão do Internet Protocol 4 (isto é, IPv4).

Um administrador com permissões suficientes pode criar qualquer número de políticas de rede. Uma política de rede não é habilitada até que seja ativada no nível da conta ou do usuário individual. Para ativar uma política de redes, modifique as propriedades da conta ou do usuário e aplica a política de redes ao objeto. Somente uma única política de redes pode ser atribuída à conta ou a um usuário específico de cada vez.

Uma política de redes também pode ser aplicada a alguns tipos de integrações de segurança.

Precedência de política de redes

Uma política de redes pode ser aplicada a uma conta, uma integração de segurança ou 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.

Notação CIDR

O Snowflake suporta a especificação de intervalos de endereços IP usando a notação de Roteamento entre domínios sem classe (ou seja, CIDR). Na notação CIDR, a sub-rede opcional é expressa como um número decimal que representa o comprimento do prefixo:

ip_address[/prefix_length]

Por exemplo, 192.168.1.0/24 representa todos os endereços IP no intervalo de 192.168.1.0 a 192.168.1.255.

Exemplos de listas de endereços permitidos e bloqueados

O Snowflake não permite definir uma política de rede que bloqueie seu endereço IP atual. Uma mensagem de erro resulta quando se tenta criar uma política de rede que bloqueia o endereço IP atual.

Os exemplos a seguir são representativos para definir intervalos de endereços IP permitidos e bloqueados usando uma política de rede Snowflake.

Permita todos os endereços IP no intervalo de 192.168.1.0 a 192.168.1.255, exceto 192.168.1.99, que está explicitamente bloqueado. Além disso, todos os outros endereços IP estão bloqueados:

- Allowed IP Addresses: 192.168.1.0/24
- Blocked IP Addresses: 192.168.1.99
Copy

Permita que somente os endereços IP 192.168.1.0 e 192.168.1.100 acessem sua conta:

- Allowed IP Addresses: 192.168.1.0,192.168.1.100
- Blocked IP Addresses: N/A
Copy

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.

Criação de políticas de redes

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

Você pode criar uma política de rede usando o Snowsight, a Classic Console ou SQL:

Snowsight
  1. Clique em Admin » Security » Network Policies.

  2. Clique no botão + Network Policy no canto superior direito da página. A caixa de diálogo New network policy é aberta.

  3. Especifique as seguintes propriedades:

    Propriedade

    Descrição

    Policy Name

    Identificador para a política de redes; deve ser único para sua conta.

    O 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 delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

    Para obter mais detalhes, consulte Requisitos para identificadores.

    Allowed IP Addresses

    Lista separada por vírgula de um ou mais endereços IPv4 que têm acesso à 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.

    Cada endereço IP pode cobrir uma gama de endereços usando a notação de Roteamento entre domínios sem classe (CIDR).

    Para obter mais informações, consulte Notação CIDR (neste tópico).

    Para exemplos, consulte Exemplos de listas de endereços permitidos e bloqueados (neste tópico).

    Blocked IP Addresses

    Lista separada por vírgula de um ou mais endereços IPv4 que não têm acesso à sua conta Snowflake. É chamada de lista de bloqueio.

    Defina este parâmetro somente quando você estiver permitindo acesso a um intervalo de endereços IP na lista Allowed IP Addresses e quiser negar acesso a um ou mais endereços IP dentro do intervalo.

    Cada endereço IP pode cobrir uma gama de endereços usando a notação de Roteamento entre domínios sem classe (CIDR).

    Para obter mais informações, consulte Notação CIDR (neste tópico).

    Para exemplos, consulte Exemplos de listas de endereços permitidos e bloqueados (neste tópico).

    Comentário

    Especifica um comentário para a política de redes.

  4. Clique no botão Create network policy.

Classic Console
  1. Clique em Account Account tab » 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.

SQL

Execute uma instrução CREATE NETWORK POLICY.

Visualização de políticas de rede

Veja informações sobre as políticas de rede no Snowsight, na Classic Console ou usando SQL:

Nota

Somente a função com o privilégio OWNERSHIP para a política de rede, ou uma função superior, pode ver detalhes da política de rede.

Snowsight

Select Admin » Security » Network Policies » <nome_política>.

Classic Console

Clique em Account Account tab » Policies » <nome_política>.

SQL

Execute uma das seguintes instruções:

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

Para aplicar uma política de rede para todos os usuários em sua conta Snowflake, ative a política de rede para sua conta.

Nota

Se uma política de rede for ativada para um usuário individual, a política de rede em nível de usuário tem precedência. Para obter mais informações sobre a ativação de políticas de rede no nível do usuário, consulte Ativação de políticas de rede para usuários individuais (neste tópico).

Nota

Esta ação é limitada a uma das seguintes funções:

  • Administradores de segurança (ou seja, usuários com a função SECURITYADMIN), ou uma função superior.

  • Uma função à qual foi concedido o privilégio global ATTACH POLICY.

Assim que a política for associada à sua conta, o Snowflake restringe o acesso à sua conta com base na lista de endereços IP permitidos e na lista de endereços IP bloqueados. Qualquer usuário que tente fazer login a partir de um endereço IP restrito pelas regras tem o acesso negado. 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.

Um administrador de segurança (ou superior) pode criar várias políticas de rede; entretanto, apenas uma política de rede pode ser associada a uma conta de cada 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 deve ser incluído na lista de endereços IP permitidos na política. Caso contrário, ao ativar a política, o Snowflake retorna um erro. Além disso, seu endereço IP atual não pode ser incluído na lista de endereços IP bloqueados.

Você pode associar uma política de rede com sua conta usando Snowsight, o Classic Console ou SQL:

Snowsight
  1. Clique em Admin » Security » Network Policies.

  2. Clique no botão Activate Policy à direita da política que você está ativando.

Classic Console
  1. Clique em Account Account tab » 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.

SQL

Execute uma instrução ALTER ACCOUNT que define a política de rede usando o parâmetro de conta NETWORK_POLICY.

Ativação de políticas de redes para usuários individuais

Para aplicar uma política de rede para um usuário específico em sua conta Snowflake, ative a política de rede para o usuário. Apenas uma única política de rede pode ser ativada para cada usuário de cada vez; no entanto, diferentes políticas de rede podem ser ativadas para diferentes usuários para 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.

Uma vez que a política é associada ao usuário, o Snowflake restringe o acesso ao usuário com base na lista de endereços IP permitidos e na lista de endereços IP bloqueados. Se o usuário com uma política de rede em nível de usuário ativada tentar entrar a partir de um endereço IP restrito pelas regras, ele tem acesso negado ao Snowflake.

Além disso, quando uma política de rede em nível de usuário é associada ao usuário e este já está conectado ao Snowflake, se o endereço IP do usuário não corresponder às regras da política de rede em nível de usuário, o Snowflake impede que o usuário execute mais consultas.

Para ativar uma política de rede para um usuário individual, defina o parâmetro NETWORK_POLICY para o usuário usando ALTER USER.

Modificação de políticas de rede

As políticas de rede podem ser modificadas através do Snowsight, da Classic Console ou de SQL, especificamente para adicionar ou remover endereços IP da lista de endereços permitidos ou bloqueados.

Para descrições das propriedades de políticas de rede, consulte Criação de políticas de rede (neste tópico).

Snowsight
  1. Clique em Admin » Security » Network Policies.

  2. Clique no botão de ações () na linha para uma política de rede » Edit Policy. A caixa de diálogo Edit Policy é aberta.

  3. Edite qualquer uma das propriedades.

  4. Clique no botão Save changes.

Classic Console
  1. Clique em Account Account tab » 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.

SQL

Execute uma instrução ALTER NETWORK POLICY.

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

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

Conta
SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
Copy
Usuário
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

O Snowflake oferece suporte à replicação e failover/failback para políticas de redes e suas atribuições de uma conta de origem para uma conta de destino.

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

Como trabalhar com regras de rede

Embora as restrições nas solicitações recebidas para o Snowflake sejam aplicadas a uma conta ou usuário 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.

O fluxo de trabalho geral é:

  1. Crie uma regra de rede para um determinado tipo de identificador e finalidade de rede.

  2. Adicione essa regra de rede à lista de regras permitidas ou à lista de regras bloqueadas de uma política de redes.

  3. Aplique a política de redes a uma conta, usuário ou integração de segurança.

Mudanças na funcionalidade da política de redes

A introdução de regras de rede altera a forma como os administradores usam as políticas de redes para controlar o tráfego de rede, incluindo:

  • Quando uma política de redes usa regras de rede, a política não deve usar os parâmetros ALLOWED_IP_LIST e BLOCKED_IP_LIST para especificar endereços IP individuais. Não use as duas formas para restringir o acesso.

  • Os administradores não podem usar Snowsight ou Classic Console para criar regras de rede ou adicionar regras de rede a uma política de redes.

  • As regras de rede não podem ser replicadas. Isto não afeta a capacidade atual de replicar políticas de redes sem regras de rede.

Limitações

Nesta versão preliminar, 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á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, e a propriedade VALUE_LIST especifica esses identificadores.

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

Ao adicionar uma regra de rede à lista permitida de uma política de redes, você não precisa bloquear explicitamente outros identificadores do mesmo tipo; apenas 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. No entanto, os pontos de extremidade VPC ainda terão acesso, a menos que regras de rede adicionais sejam usadas.

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.

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

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:

Atualmente, não é possível usar uma política de redes atribuída a uma integração de segurança para restringir o acesso a um estágio interno.

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).

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.

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

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.

1(1,2)

Se você tiver implementado conectividade privada para o serviço ou para o estágio interno, Snowflake recomenda implementá-la para ambos.

Criação de uma regra de rede

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.

A criação de uma regra de rede não define se está permitindo ou bloqueando os identificadores de rede. Os administradores especificam essas permissões ao adicionar a regra de rede a uma política de redes.

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

Depois de criada, a propriedade de uma regra de rede pode ser transferida para outra função.

Adição de regras de rede a uma política de redes

As regras de rede organizam identificadores de rede e definem o que é restrito, mas não impõem restrições. Em vez disso, as regras de rede são adicionadas às políticas de redes, que são então aplicadas a uma conta ou usuário para controlar o acesso.

Um administrador especifica se os identificadores de rede de uma regra de rede devem ser permitidos ou bloqueados adicionando a regra ao parâmetro apropriado de uma política de redes. Se você tiver criado um nome que diferencia maiúsculas de minúsculas para a regra de rede, deverá usar aspas duplas ao atribuí-lo a uma política de redes.

O parâmetro ALLOWED_NETWORK_RULE_LIST de uma política de redes define uma lista de regras de rede que contêm identificadores de rede permitidos. Depois de adicionar pelo menos uma regra de rede a esse parâmetro, não será necessário bloquear explicitamente outros identificadores do mesmo tipo; apenas 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. No entanto, os pontos de extremidade VPC ainda terão acesso, a menos que regras de rede adicionais sejam usadas.

Se você quiser bloquear explicitamente identificadores de rede usando uma regra de rede, adicione a regra ao parâmetro BLOCKED_NETWORK_RULE_LIST da política de redes.

Depois de adicionar uma regra de rede a uma política de redes, você pode executar o comando DESCRIBE NETWORK POLICY para verificar.

Depois que as regras de rede forem adicionadas a um dos parâmetros da política de redes, você poderá anexar a política a uma conta ou usuário para aplicar as restrições.

Exemplos

Crie duas regras de rede corp_network e cloud_network e, em seguida, crie uma política de redes que permita os identificadores de rede nessas regras:

CREATE NETWORK RULE corp_network TYPE = AWSVPCEID VALUE_LIST = ('vpce-123abc3420c1931');
CREATE NETWORK RULE cloud_network TYPE = IPV4 VALUE_LIST = ('47.88.25.32/27');

CREATE NETWORK POLICY account_policy ALLOWED_NETWORK_RULE_LIST = ( 'corp_network', 'cloud_network' );
Copy

Modifique uma política de redes, substituindo regras de rede bloqueadas anteriormente por uma nova regra de rede chamada other_network:

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

Adicione 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

Remova uma regra de rede da lista de bloqueados da política de redes:

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