CREATE NETWORK RULE

Cria uma regra de rede ou substitui uma regra de rede existente.

Consulte também:

ALTER NETWORK RULE , DROP NETWORK RULE , SHOW NETWORK RULES , DESCRIBE NETWORK RULE

Sintaxe

CREATE [ OR REPLACE ] NETWORK RULE <name>
   TYPE = { IPV4 | AWSVPCEID | AZURELINKID | HOST_PORT }
   VALUE_LIST = ( '<value>' [, '<value>', ... ] )
   MODE = { INGRESS | INTERNAL_STAGE | EGRESS }
   [ COMMENT = '<string_literal>' ]
Copy

Parâmetros obrigatórios

name

Identificador da regra de rede.

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

Para obter mais detalhes, consulte Requisitos para identificadores.

TYPE = { IPV4 | AWSVPCEID | AZURELINKID | HOST_PORT }

Especifica o tipo de identificadores de rede permitidos ou bloqueados. Uma regra de rede pode ter apenas um tipo.

  • IPV4 indica que a regra de rede permitirá ou bloqueará o tráfego de rede com base no endereço IPv4 da origem da solicitação.

  • AWSVPCEID indica que a regra de rede permitirá ou bloqueará o tráfego de rede em AWS PrivateLink.

  • AZURELINKID indica que a regra de rede permitirá ou bloqueará o tráfego de rede em Azure Private Link.

  • HOST_PORT indica que a regra de rede permitirá o tráfego de rede de saída com base no domínio do destino da solicitação.

    Quando TYPE = HOST_PORT, o parâmetro MODE deve ser definido como EGRESS.

VALUE_LIST = ( 'value' [, 'value', ... ] )

Especifica os identificadores de rede que serão permitidos ou bloqueados.

Os valores válidos na lista são determinados pelo tipo de regra de rede:

  • Quando TYPE = IPV4, cada valor deve ser um endereço IPv4 válido ou um intervalo de endereços.

  • Quando TYPE = AWSVPCEID, cada valor deve ser um VPCE ID válido de um ponto de extremidade do AWS S3. VPC IDs não são suportados.

  • Quando TYPE = AZURELINKID, cada valor deve ser um LinkID válido de um ponto de extremidade privado do Azure. Execute a função SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS para recuperar o LinkID associado a uma conta.

  • Quando TYPE = HOST_PORT, cada valor deve ser um domínio válido. Opcionalmente, também pode incluir uma porta ou um intervalo de portas. Por exemplo, VALUE_LIST = ('example.com', 'company.com:8080-8090').

MODE = { INGRESS | INTERNAL_STAGE | EGRESS }

Especifica o que é restrito pela regra de rede.

INGRESS

O comportamento do modo INGRESS depende do valor da propriedade TYPE da regra de rede.

  • Se TYPE=IPV4, por padrão, a regra de rede controla o acesso apenas ao serviço Snowflake.

    Se o administrador da conta ativar o parâmetro ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES, MODE=INGRESS e TYPE=IPV4 também protegerão um estágio interno AWS.

  • Se TYPE=AWSVPCEID, a regra de rede controlará o acesso apenas ao serviço Snowflake.

INTERNAL_STAGE

Permite ou bloqueia solicitações para um estágio interno AWS sem restringir o acesso ao serviço Snowflake. Usar este modo requer o seguinte:

EGRESS

Permite que o Snowflake envie solicitações para um destino externo.

Padrão: INGRESS

Parâmetros opcionais

COMMENT = 'string_literal'

Especifica um comentário para a regra de rede.

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 RULE

Esquema

Somente as funções ACCOUNTADMIN e SECURITYADMIN, juntamente com o proprietário do esquema, têm esse privilégio por padrão. Ele pode ser concedido a funções adicionais, conforme necessário.

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

  • Ao especificar endereços IP para uma regra de rede, o Snowflake oferece suporte a intervalos de endereços IP usando a notação Classless Inter-Domain Routing (CIDR).

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

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

Exemplos

Crie uma regra de rede que seja usada para permitir ou bloquear o tráfego de um ponto de extremidade AWS S3 para o estágio interno:

CREATE NETWORK RULE corporate_network
  TYPE = AWSVPCEID
  VALUE_LIST = ('vpce-123abc3420c1931')
  MODE = INTERNAL_STAGE
  COMMENT = 'corporate privatelink endpoint';
Copy

Crie uma regra de rede que seja usada para permitir ou bloquear o tráfego de um intervalo de endereços IP para o serviço Snowflake e o estágio interno:

CREATE NETWORK RULE cloud_network
  TYPE = IPV4
  VALUE_LIST = ('47.88.25.32/27')
  COMMENT ='cloud egress ip range';
Copy

Crie uma regra de rede que seja usada para permitir uma combinação de domínio e domínio/porta quando o Snowflake estiver enviando solicitações para destinos externos:

CREATE NETWORK RULE external_access_rule
  TYPE = HOST_PORT
  MODE = EGRESS
  VALUE_LIST = ('example.com', 'company.com:443');
Copy