Pontos de extremidade do Google Private Service Connect para áreas de preparação internas¶
Este tópico apresenta conceitos e instruções detalhadas para conexão com áreas de preparação internas do Snowflake por meio de `pontos de extremidade do Google Private Service Connect<https://cloud.google.com/vpc/docs/private-service-connect#endpoints>`_.
Pontos de extremidade do Google Private Service Connect: Visão geral¶
Você pode configurar pontos de extremidade do Google Private Service Connect (PSC) para fornecer conectividade privada segura com as áreas de preparação internas do Snowflake. Essa configuração garante que as operações de carregamento e descarregamento de dados das áreas de preparação internas do Snowflake utilizem a rede do Google PSC, e não a internet pública. O diagrama a seguir resume este novo suporte:
A seguinte lista mostra informações sobre os números do diagrama:
O diagrama mostra um único ponto de extremidade do PSC de uma rede VPC do Google para uma área de preparação interna do Snowflake (2 e 3).
Nota
É possível configurar vários pontos de extremidade privados na mesma rede VPC que acessam a mesma área de preparação interna do Snowflake.
Um usuário no local pode se conectar diretamente ao Snowflake, como mostrado no número 1.
Para se conectar a uma área de preparação interna do Snowflake, um usuário no local deve rotear a solicitação por meio da rede VPC 2 e, depois, pela rede do Google PSC 3 para conectar-se à área de preparação interna do Snowflake.
Benefícios¶
A implementação de pontos de extremidade privados para acessar áreas de preparação internas do Snowflake oferece os seguintes benefícios:
Os dados da área de preparação interna não passam pela internet pública.
O cliente e os aplicativos SaaS no local podem acessar com segurança um bucket de área de preparação interna do Snowflake usando a rede do Google PSC.
Os administradores não precisam modificar as configurações do firewall para acessar os dados da área de preparação interna.
Os administradores podem implementar segurança e monitoramento consistentes para restringir o acesso às suas áreas de preparação internas.
Limitações¶
É possível incluir no máximo 10 redes VPC na lista de permissões para uma conta Snowflake.
Configuração de pontos de extremidade privados para acesso a áreas de preparação internas do Snowflake¶
Para configurar pontos de extremidade privados para acessar áreas de preparação internas do Snowflake, você deve usar as três funções a seguir:
A função do sistema Snowflake ACCOUNTADMIN.
O administrador Google Cloud.
O administrador da rede.
Talvez seja necessário coordenar seus esforços de configuração com mais de uma pessoa ou equipe, dependendo da hierarquia de funções em sua organização.
Siga as etapas abaixo para configurar e implementar acesso seguro às áreas de preparação internas do Snowflake por pontos de extremidade do Google PSC:
Como administrador do Google Cloud, use o console do Google Cloud para obter o valor do caminho totalmente qualificado que o Snowflake usa para limitar o acesso à rede.
Em https://console.cloud.google.com, vá para Quick Access » VPC Network e selecione seu projeto em » VPC Networks » Name.
No VPC network details, selecione Equivalent REST.
Em Equivalent REST Response, copie o valor de
"selfLink".Esse valor deve ser parecido com
projects/vpc_network_name/global/networks/network_name.Insira esse valor como o argumento
'google_cloud_vpc_network_name'na função do sistema na etapa seguinte.
No Snowflake, use a função ACCOUNTADMIN para autorizar o acesso à área de preparação interna chamando a função SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS. Por exemplo:
USE ROLE ACCOUNTADMIN; SELECT SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
Acesse https://console.cloud.google.com/ como administrador do Google Cloud, crie um ponto de extremidade do Google PSC e anexe-o à rede VPC que o Snowflake vai acessar:
Crie um novo ponto de extremidade: em Network services » Private Service Connect, selecione Connect endpoint.
Em Target, selecione
All Google APIscomo destino e preencha os campos obrigatórios.Nota
All Google APIsé apropriado para pontos de extremidade globais. Atualmente, apenas pontos de extremidade globais são suportados.Selecione ADD ENDPOINT.
Registre o endereço IP do ponto de extremidade do Google PSC recém-criado e o ID da redeVPC à qual o ponto de extremidade do Google PSC vai se conectar.
Como administrador de rede, defina as configurações de DNS para resolver os URLs:
Em Network services, navegue até Cloud DNS.
Crie uma nova zona DNS com as seguintes configurações:
Tipo de zona:
privateNome DNS:
storage.googleapis.comOpções:
Default (private)Redes:
prod
Selecione CREATE.
Na nova zona DNS privada, crie um registro com os seguintes valores:
Use o nome do bucket para sua área de preparação interna.
Tipo de registro do recurso:
AEndereço IPv4:
10.10.80.55. Use o endereço IP do ponto de extremidade do Google PSC que você criou.Selecione CREATE.
De um cliente no mesmo VPC, confirme que o URL da área de preparação interna resolve o endereço IP do ponto de extremidade usando o comando
nslookupoudig.Por exemplo, use o seguinte comando
digpara confirmar a resolução:dig gcpeuropewest4-63osaw1-stage.storage.googleapis.comUm ponto de extremidade global configurado corretamente deve retornar um resultado como este:
DNS name: gcpeuropewest4-63osaw1-stage
Bloquear o acesso público à área de preparação interna (recomendado)¶
A Snowflake recomenda que você negue todo o acesso aos pontos de extremidade do Google PSC, exceto pela rede VPC que você autorizar. Isso inclui negar acesso à internet pública às áreas de preparação internas.
Para bloquear o acesso público à área de preparação interna, chame a função SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS.
Controlar o acesso público a uma área de preparação interna do Google é diferente de controlá-lo para o serviço Snowflake. Você usa a função SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS, e não uma política de redes, para bloquear solicitações para uma área de preparação interna. Ao contrário das políticas de redes, esta função não pode bloquear alguns endereços IP públicos enquanto permite outros. Essa função bloqueia todos os endereços IP públicos. A função SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS pode levar alguns minutos para ser concluída.
Garantir que o acesso público esteja bloqueado¶
Determine se os endereços IP públicos podem ou não acessar uma área de preparação interna executando a função SYSTEM$INTERNAL_STAGES_PUBLIC_ACCESS_STATUS.
Se as configurações do Google Cloud estão bloqueando todo o tráfego público, essa função retorna Public Access to internal stages is blocked. Essa mensagem indica que as configurações não foram alteradas após a execução da função SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS.
Desbloqueio do acesso público¶
Para permitir acesso público a uma área de preparação interna que foi bloqueada, você pode executar a função SYSTEM$UNBLOCK_INTERNAL_STAGES_PUBLIC_ACCESS.
A execução dessa função remove todas as restrições da área de preparação interna.
Revogação do acesso às áreas de preparação internas do Snowflake¶
Complete as seguintes etapas para revogar o acesso às áreas de preparação internas do Snowflake por meio de pontos de extremidade privados do Google PSC:
Como administrador do Snowflake, confirme se o parâmetro ENABLE_INTERNAL_STAGES_PRIVATELINK está definido como
TRUE. Por exemplo:USE ROLE ACCOUNTADMIN; SHOW PARAMETERS LIKE 'enable_internal_stages_privatelink' IN ACCOUNT;
Como administrador do Snowflake, chame a função SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS para revogar o acesso ao ponto de extremidade privado e use o mesmo valor
google_cloud_vpc_network_nameque foi usado para autorizar originalmente o acesso ao ponto de extremidade privado. Por exemplo:USE ROLE ACCOUNTADMIN; SELECT SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
Como administrador do Google Cloud, exclua o ponto de extremidade privado pelo portal do Google Cloud.
Como administrador de rede, remova os registros de DNS e alias que foram usados para resolver as URLs da conta de armazenamento.
A conclusão dessas etapas revoga o acesso à rede VPC.