Points de terminaison Google Private Service Connect pour les zones de préparation internes¶
Cette rubrique fournit des concepts ainsi que des instructions détaillées pour se connecter aux zones de préparation internes de Snowflake par le biais de points de terminaison Google Private Service Connect.
Points de terminaison Google Private Service Connect : Vue d’ensemble¶
Vous pouvez configurer les points de terminaison Google Private Service Connect (PSC) pour fournir une connectivité sécurisée et privée aux zones de préparation internes de Snowflake. Cette configuration garantit que les opérations de chargement et de déchargement des données vers des zones de préparation internes Snowflake utilisent le réseau Google PSC et non l’Internet public. Le diagramme suivant résume cette nouvelle prise en charge :
La liste suivante fournit des informations sur les nombres dans le diagramme :
Le schéma montre un seul point de terminaison PSC d’un réseau Google VPC pointant vers une seule zone de préparation interne de Snowflake (2 et 3).
Note
Vous pouvez configurer plusieurs points de terminaison privés dans le même réseau VPC qui accèdent à la même zone de préparation interne Snowflake.
Un utilisateur sur site peut se connecter directement à Snowflake comme illustré au point 1.
Pour se connecter à une zone de préparation interne Snowflake, un utilisateur sur site doit acheminer sa requête via le réseau VPC, 2, puis via le réseau Google PSC, 3.
Avantages¶
L’implémentation de points de terminaison privés pour accéder aux zones de préparation internes Snowflake apporte les avantages suivants :
Les données de la zone de préparation interne ne transitent pas par l’Internet public.
Le client sur site et les applications SaaS peuvent accéder en toute sécurité à un compartiment de zone de préparation interne Snowflake en utilisant le réseau Google PSC.
Les administrateurs n’ont pas besoin de modifier les paramètres de pare-feu pour accéder aux données de la zone de préparation interne.
Les administrateurs peuvent mettre en œuvre une sécurité et une surveillance cohérentes pour restreindre l’accès à leurs zones de préparation internes.
Limitations¶
Un maximum de 10 réseaux VPC peuvent être autorisés sur la liste d’autorisation d’un compte Snowflake.
Configuration de points de terminaison privés pour accéder à des zones de préparation internes Snowflake¶
Pour configurer des points de terminaison privés pour accéder aux zones de préparation internes Snowflake, vous devez utiliser les trois rôles suivants :
Le rôle système ACCOUNTADMIN de Snowflake.
L’administrateur Google Cloud.
L’administrateur réseau.
Selon la hiérarchie des rôles au sein de votre organisation, vous devrez peut-être coordonner vos efforts de configuration avec plusieurs personnes ou équipes.
Pour configurer et implémenter l’accès sécurisé aux zones de préparation internes Snowflake par le biais de points de terminaison Google PSC, exécutez les étapes suivantes :
En tant qu’administrateur Google Cloud, utilisez la console Google Cloud pour obtenir la valeur de chemin entièrement qualifiée que Snowflake utilise pour limiter l’accès réseau.
Dans https://console.cloud.google.com, accédez à Quick Access » VPC Network, puis sélectionnez votre projet dans » VPC Networks » Name.
Dans VPC network details, sélectionnez Equivalent REST.
Dans Equivalent REST Response, copiez la valeur de
"selfLink".Cette valeur devrait ressembler à
projects/vpc_network_name/global/networks/network_name.Vous fournirez cette valeur en tant qu’argument
'google_cloud_vpc_network_name'de la fonction système à l’étape suivante.
Dans Snowflake, utilisez le rôle ACCOUNTADMIN pour autoriser l’accès à la zone de préparation interne en appelant la fonction SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS. Par exemple :
USE ROLE ACCOUNTADMIN; SELECT SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
Rendez-vous sur https://console.cloud.google.com/ en tant qu’administrateur Google Cloud, créez un point de terminaison Google PSC, puis associez-le au réseau VPC auquel Snowflake accédera :
Créez un nouveau point de terminaison : dans Network services » Private Service Connect, sélectionnez Connect endpoint.
Dans Target, sélectionnez
All Google APIscomme cible, puis remplissez les champs requis.Note
All Google APIsest approprié pour les points de terminaison globaux. Actuellement, seuls les points de terminaison globaux sont pris en charge.Sélectionnez ADD ENDPOINT.
Enregistrez l’adresse IP du point de terminaison Google PSC nouvellement créé et l’ID de réseau VPC auquel le point de terminaison Google PSC se connecte.
En tant qu’administrateur réseau, configurez les paramètres DNS pour résoudre les URLs :
Dans Network services, accédez à Cloud DNS.
Créez une nouvelle zone DNS avec les paramètres suivants :
Type de zone :
privateNom DNS :
storage.googleapis.comOptions :
Default (private)Réseaux :
prod
Sélectionnez CREATE.
Dans la nouvelle zone DNS privée, créez un nouvel enregistrement avec les valeurs suivantes :
Utilisez le nom du compartiment de votre zone de préparation interne.
Type d’enregistrement de ressource :
AAdresse IPv4 :
10.10.80.55— Utilisez l’adresse IP du point de terminaison Google PSC que vous avez créé précédemment.Sélectionnez CREATE.
À partir d’un client dans le même VPC, confirmez que l’URL de la zone de préparation interne résout l’adresse IP du point de terminaison à l’aide de la commande
nslookupoudig.Par exemple, utilisez la commande
digsuivante pour confirmer la résolution :dig gcpeuropewest4-63osaw1-stage.storage.googleapis.comUn point de terminaison global correctement configuré doit renvoyer un résultat similaire à celui-ci :
DNS name: gcpeuropewest4-63osaw1-stage
Blocage de l’accès public à la zone de préparation interne — Recommandé¶
Snowflake vous recommande de refuser tout accès à vos points de terminaison Google PSC, sauf via le réseau VPC que vous autorisez. Cela inclut le refus de l’accès Internet public aux zones de préparation internes.
Pour bloquer l’accès public à la zone de préparation interne, appelez la fonction SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS.
Le contrôle de l’accès public à une zone de préparation interne Google est différent du contrôle de l’accès public au service Snowflake. Vous utilisez la fonction SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS et non une politique réseau pour bloquer les requêtes vers une zone de préparation interne. Contrairement aux politiques réseau, cette fonctionnalité ne peut pas bloquer certaines adresses IP publiques tout en autorisant d’autres. Cette fonction bloque toutes les adresses IP publiques. L’exécution de la fonction SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS peut prendre quelques minutes.
Garantir le blocage de l’accès public¶
Déterminez si les adresses IP publiques peuvent accéder à une zone de préparation interne en exécutant la fonction SYSTEM$INTERNAL_STAGES_PUBLIC_ACCESS_STATUS.
Si les paramètres Google Cloud bloquent actuellement tout le trafic public, cette fonction renvoie Public Access to internal stages is blocked. Ce message indique que les paramètres n’ont pas été modifiés après l’exécution de la fonction SYSTEM$BLOCK_INTERNAL_STAGES_PUBLIC_ACCESS.
Débloquer l’accès public¶
Pour permettre l’accès public à une zone de préparation interne qui était auparavant bloquée, vous pouvez exécuter la fonction SYSTEM$UNBLOCK_INTERNAL_STAGES_PUBLIC_ACCESS.
L’exécution de cette fonction supprime toutes les restrictions de la zone de préparation interne.
Révocation de l’accès à des zones de préparation internes Snowflake¶
Pour révoquer l’accès à des zones de préparation internes Snowflake par le biais de points de terminaison privés Google PSC, procédez comme suit :
En tant qu’administrateur Snowflake, confirmez que le paramètre:ref:
label-enable_internal_stages_privatelinkest défini surTRUEPar exemple :USE ROLE ACCOUNTADMIN; SHOW PARAMETERS LIKE 'enable_internal_stages_privatelink' IN ACCOUNT;
En tant qu’administrateur Snowflake, révoquez l’accès au point de terminaison privé en appelant la fonction SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS et en utilisant la même valeur
google_cloud_vpc_network_nameque celle qui a été utilisée pour autoriser initialement l’accès à ce point de terminaison privé. Par exemple :USE ROLE ACCOUNTADMIN; SELECT SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS('<google_cloud_vpc_network_name>');
En tant qu’administrateur Google Cloud, supprimez le point de terminaison privé par le biais du portail Google Cloud.
En tant qu’administrateur réseau, supprimez les enregistrements et alias DNS qui ont été utilisés pour résoudre les URLs des comptes de stockage.
En suivant ces étapes, vous révoquez l’accès au réseau VPC.