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>' ]
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âmetroMODE
deve ser definido comoEGRESS
.
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.O intervalo de portas válido é 1-65535. Se você não especificar uma porta, o padrão será 443. Se um local de rede externo oferecer suporte a portas dinâmicas, será necessário especificar todas as portas possíveis.
Para permitir acesso a todas as portas, defina a porta como 0. Por exemplo,
company.com:0
.
MODE = { INGRESS | INTERNAL_STAGE | EGRESS }
Especifica o que é restrito pela regra de rede.
INGRESS
O comportamento do modo
INGRESS
depende do valor da propriedadeTYPE
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
eTYPE=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:
O administrador da conta deve ativar o parâmetro ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES.
A propriedade
TYPE
da regra de rede deve serAWSVPCEID
.
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 de192.168.1.0
a192.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';
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';
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');