Azure Private Link et Snowflake¶
Ce chapitre décrit comment configurer Azure Private Link pour connecter votre réseau virtuel Azure (VNet) au VNet Snowflake dans Azure.
Notez qu’Azure Private Link n’est pas un service fourni par Snowflake. Il s’agit d’un service Microsoft que Snowflake permet d’utiliser avec votre compte Snowflake.
Si vous utilisez Business Critical (ou une version supérieure) et souhaitez utiliser Azure Private Link avec votre compte, contactez le support Snowflake et demandez une activation de ce service.
Dans ce chapitre :
Présentation d’Azure Private Link¶
Azure Private Link fournit une connectivité privée à Snowflake en garantissant que l’accès à Snowflake se fait via une adresse IP privée. Le trafic ne peut se produire que depuis le réseau virtuel client (VNet) vers le VNet Snowflake à l’aide de la dorsale Microsoft et évite l’Internet public. Cela simplifie considérablement la configuration du réseau en gardant les règles d’accès privées tout en assurant une communication sécurisée et privée.
Le diagramme suivant résume l’architecture Azure Private Link par rapport au VNet client et au VNet Snowflake.
Depuis une machine virtuelle (1) ou via l’homologation (2), vous pouvez vous connecter au point de terminaison Azure Private Link (3) dans votre réseau virtuel. Ce point de terminaison se connecte ensuite au service Private Link (4) et effectue l’acheminement vers Snowflake.
Voici les étapes de haut niveau pour intégrer Snowflake à Azure Private Link :
Créez un point de terminaison privé et demandez l’approbation de Snowflake comme décrit dans Configuration de l’accès à Snowflake avec Azure Private Link.
Contactez l’assistance Snowflake, et demandez l’approbation en fournissant la valeur du point de terminaison privé que vous avez créé. Une fois l’approbation Snowflake obtenue, à l’aide d’Azure Portal, vérifiez si le point de terminaison privé affiche une valeur CONNECTION STATE Approved. Vérifiez l’URL de votre compte l’URL OCSP avec l’assistance Snowflake.
Mettez à jour vos paramètres de pare-feu sortant pour autoriser l’URL du compte Snowflake et l’URL OCSP.
Mettez à jour votre serveur DNS pour résoudre l” URL du compte et l” URL OCSP en adresse IP Private Link. Vous pouvez ajouter l’entrée DNS à votre serveur DNS local ou DNS privé sur votre VNet, et utiliser le transfert DNS afin de diriger les requêtes pour l’entrée à partir d’autres emplacements où vos utilisateurs accéderont à Snowflake.
Une fois que le point de terminaison privé affiche une valeur CONNECTION STATE Approved, testez votre connexion à Snowflake avec SnowCD (Connectivity Diagnostic Tool) et SYSTEM$WHITELIST_PRIVATELINK.
Connectez-vous à Snowflake à l’aide de SnowSQL.
Exigences et limitations¶
Avant d’essayer de configurer Azure Private Link pour connecter votre VNet Azure au VNet Snowflake sur Azure, évaluez les exigences et limitations suivantes :
Le sous-réseau contenant le point de terminaison privé doit avoir sa politique réseau désactivée. Plus précisément, les propriétés de sous-réseau doivent inclure les deux attributs suivants :
"privateLinkServiceNetworkPolicies" : "Disabled", "privateEndpointNetworkPolicies" : "Disabled"
Note
Si vos protocoles réseau d’entreprise nécessitent que le sous-réseau dans lequel réside le point de terminaison Azure Private Link contienne des politiques réseau activées, vous devez configurer un sous-réseau distinct qui contient uniquement le point de terminaison Azure Private Link et acheminer les demandes d’autres sous-réseaux vers le sous-réseau contenant le point de terminaison Azure Private Link.
Utilisez des VNets ARM.
Utilisez uniquement le trafic TCP IPv4.
Si vous utilisez une application SaaS pour vous connecter à Snowflake, vous ne pouvez pas utiliser l’application SaaS et Azure Private Link ensemble. Vous pouvez continuer à utiliser l’application SaaS pour vous connecter à Snowflake via des chemins qui n’utilisent pas Azure Private Link.
Pour plus d’informations sur les exigences et les limitations de Microsoft Azure Private Link, consultez la documentation Microsoft relative aux limitations des points de terminaison privés et aux limitations du service Private Link.
Configuration de l’accès à Snowflake avec Azure Private Link¶
Attention
Cette section ne couvre que les détails spécifiques à Snowflake pour la configuration de votre environnement VNet. De plus, notez que Snowflake n’est pas responsable de la configuration finale des mises à jour de pare-feu nécessaires et des enregistrements DNS. Si vous rencontrez des problèmes avec l’une de ces tâches de configuration, veuillez contacter le support Microsoft directement.
Cette section décrit comment configurer votre VNet Azure pour se connecter au VNet Snowflake sur Azure à l’aide d’Azure Private Link. Après avoir établi la connexion à Snowflake à l’aide d’Azure Private Link, vous pouvez déterminer l’état d’approbation de la connexion dans le portail Azure.
Pour obtenir de l’aide sur l’installation, consultez la documentation Microsoft sur Azure CLI ou Azure PowerShell.
Effectuez les étapes préalables et l’option 1 : utilisez les fichiers de modèle ou l’option 2 : créez manuellement des ressources Azure pour configurer votre VNet Microsoft Azure et initier la connexion Azure Private Link à Snowflake.
Étapes préalables¶
Déterminez si plusieurs comptes Snowflake dans la même région Azure utiliseront le même Azure
SubscriptionID
. Lors de la configuration initiale, un compte Snowflake et unSubscriptionID
Azure sont nécessaires.Si vous souhaitez lier plusieurs comptes Snowflake dans la même région Azure à un seul
SubscriptionID
Azure, veuillez contacter l’assistance Snowflake lors de l’exécution de l’étape 2 de Option 1 : utilisez les fichiers de modèle.
Configurez un accès sécurisé aux fichiers de données dans votre stockage Azure Blob à l’aide de Configuration d’un conteneur Azure pour le chargement de données.
Cette étape garantit que le chargement en masse des données de votre zone de préparation externe de stockage Azure Blob dans Snowflake reste sur le réseau principal Azure et n’utilise pas Internet public.
Évaluez votre environnement Azure pour déterminer si vous avez besoin d’un sous-réseau dédié avec un point de terminaison Azure Private Link ou uniquement le point de terminaison Azure Private Link.
Si vous avez déjà un sous-réseau dédié pour utiliser Azure Private Link afin de vous connecter à Snowflake, il suffit de créer un point de terminaison privé dans ce sous-réseau. Par conséquent, téléchargez ces deux fichiers à utiliser dans l’option 1 ou configurez-les manuellement comme indiqué dans l’option 2.
Si vous n’avez pas de sous-réseau dédié et choisissez de configurer avec des fichiers modèles, suivez les instructions de l’option 1. Sinon, configurez manuellement comme indiqué dans l’option 2.
Important
Les options 1 et 2 font les deux hypothèses suivantes :
Votre cas d’utilisation n’implique pas l’utilisation de SSO avec Azure Private Link.
Il est nécessaire de créer à la fois le sous-réseau et le point de terminaison privé. Si votre cas d’utilisation nécessite uniquement le point de terminaison privé, utilisez les fichiers correspondants dans Étape 1 de Option 1 : utilisez les fichiers de modèle.
Option 1 : utilisez les fichiers de modèle¶
Cette séquence d’étapes utilise deux fichiers de configuration différents pour créer et initialiser les ressources Azure Private Link nécessaires pour utiliser Azure Private Link pour se connecter à Snowflake sur Azure. Les fichiers de configuration sont de deux types :
- Fichier modèle
Utilisez ce fichier pour créer un point de terminaison privé et un sous-réseau pour ce point de terminaison.
- Fichier de paramètres
Utilisez ce fichier pour initialiser les ressources créées par le fichier modèle.
Selon votre environnement Azure, il peut ne pas être nécessaire de créer un sous-réseau dédié. Si vous disposez déjà d’un sous-réseau dédié pour le point de terminaison privé, vous pouvez utiliser les fichiers correspondants pour créer le point de terminaison dans ce sous-réseau.
À titre d’exemple représentatif, les étapes suivantes supposent qu’un sous-réseau dédié et un point de terminaison privé sont nécessaires.
Prudence
Les fichiers de modèle et les scripts créent des ressources dans votre environnement Azure pour faciliter la connexion à Snowflake à l’aide d’Azure Private Link. Faites preuve de prudence lorsque vous terminez la procédure de configuration. Pour obtenir de l’aide et une assistance supplémentaires, veuillez contacter votre administrateur Azure interne.
Téléchargez ces deux fichiers pour les utiliser dans les étapes suivantes :
À titre d’exemple représentatif utilisant CLI Azure, exécutez
az account list --output table
. Notez les valeurs de sortie dans les colonnesName
etCloudName
.Name CloudName SubscriptionId State IsDefault ------- ---------- ------------------------------------ ------- ---------- MyCloud AzureCloud 13c91033-8b4e-40f7-9031-16c8f69233e3 Enabled True
Contactez l’assistance de Snowflake et partagez la valeur
SubscriptionId
et l” URL de votre compte pour accéder à Snowflake avec une note indiquant que ces valeurs doivent utiliser Azure Private Link. Snowflake autorisera alors cette valeurSubscriptionId
pour approbation automatique. Après avoir reçu la réponse d’approbation de Snowflake, lancez SYSTEM$GET_PRIVATELINK_CONFIG pour obtenir l” URL afin d’accéder à Snowflake par le biais d’Azure Private Link.Important
L’assistance de Snowflake peut prendre jusqu’à 48 heures pour traiter le ticket et autoriser la valeur
SubscriptionID
. Veuillez patienter jusqu’à l’obtention de la confirmation du support Snowflake. Après avoir reçu la confirmation, passez aux étapes restantes de cette procédure.Si vous souhaitez lier plusieurs comptes Snowflake dans la même région Azure à un seul
SubscriptionID
Azure, veuillez contacter l’assistance Snowflake.Pour chaque paramètre dans
customer-privatelink-parameters.json
, mettez à jour le paramètrevalue
en fonction de votre environnement. Par exemple, remplacez la valeurvirtualNetworkName
deprivateLinkConsumer_vnet
parmyVirtualNetwork
.Pour déterminer la valeur d’alias correcte pour
snowflakePrivatelinkServiceAlias
, exécutez SYSTEM$GET_PRIVATELINK_CONFIG dans Snowflake et utilisez la valeur pourprivatelink-pls-id
.Dans Azure CLI, exécutez les trois commandes suivantes en utilisant les valeurs de l’étape précédente. Notez que ces valeurs sont des exemples représentatifs.
az cloud set --name <customer_cloud_name> az account set --subscription <customer_subscription_name> az group deployment create --resource-group CUSTOMER_RESOURCEGROUP_NAME --template-file customer-privatelink-template.json --parameters customer-privatelink-parameters.json
Remplacez
<nom_cloud_client>
parAzureCloud
.Remplacez
<nom_abonnement_client>
parMyCloud
.Vous pouvez choisir un nom arbitraire pour
CUSTOMER_RESOURCE_GROUP
.
Configuration DNS. Toutes les demandes adressées à Snowflake doivent être acheminées via le point de terminaison privé. Mettez à jour vos DNS pour résoudre les URLs OCSP et du compte Snowflake vers l’adresse IP privée de votre interface de point de terminaison privé.
Pour obtenir l’adresse IP du point de terminaison privé, accédez au portail Azure Private Link Center. Cliquez sur Private endpoints et cliquez sur le point de terminaison.
Copiez la valeur de Private IP address (c’est-à-dire
10.0.27.5
).Configurez votre DNS pour que les URLs de votre compte et OCSP résolvent l’adresse IP privée. Dans Snowflake, exécutez SYSTEM$GET_PRIVATELINK_CONFIG et utilisez les valeurs pour
private-link-account-url
etprivate-link-ocsp-url
.Si vous utilisez l’une des fonctionnalités suivantes ou êtes susceptible de les utiliser à l’avenir, il est nécessaire de créer un enregistrement DNS supplémentaire avec les valeurs suivantes ou de combiner les valeurs suivantes avec les valeurs du compte Snowflake et du serveur de cache OCSP. Cette étape garantit l’accès à ces fonctionnalités via un point de terminaison privé.
- Snowflake Data Marketplace ou Snowsight
app.<id_région>.privatelink.snowflakecomputing.com
- Organisations
Pour plus d’informations, voir Comprendre les noms des organisations et des comptes.
Note
Une explication complète de la configuration de DNS dépasse le cadre de cette procédure. Par exemple, vous pouvez choisir d’intégrer une zone DNS Azure Private dans votre environnement.
Veuillez contacter les administrateurs de votre infrastructure Azure et Cloud interne pour configurer et résoudre correctement les URLs dans les DNS.
Après avoir vérifié vos paramètres de pare-feu sortant et vos enregistrements DNS pour inclure votre compte Azure Private Link et les URLs OCSP, testez votre connexion à Snowflake avec SnowCD (Connectivity Diagnostic Tool) et SYSTEM$WHITELIST_PRIVATELINK.
Connectez-vous à Snowflake à l’aide de SnowSQL.
Vous pouvez maintenant vous connecter à Snowflake à l’aide d’Azure Private Link.
Option 2 : créez manuellement des ressources Azure¶
Cette séquence d’étapes crée et initialise manuellement les ressources Azure Private Link nécessaires pour utiliser Azure Private Link pour se connecter à Snowflake sur Azure.
Vérifiez qu’un sous-réseau dédié existe pour contenir le point de terminaison privé et que les stratégies réseau sont désactivées. Pour plus d’informations, voir Désactiver les stratégies réseau pour les points de terminaison privés.
À titre d’exemple représentatif utilisant CLI Azure, exécutez
az account list --output table
. Notez les valeurs de sortie dans les colonnesName
etCloudName
.Name CloudName SubscriptionId State IsDefault ------- ---------- ------------------------------------ ------- ---------- MyCloud AzureCloud 13c91033-8b4e-40f7-9031-16c8f69233e3 Enabled True
Contactez l’assistance de Snowflake et partagez la valeur
SubscriptionId
et l” URL de votre compte pour accéder à Snowflake avec une note indiquant que ces valeurs doivent utiliser Azure Private Link. Snowflake autorisera alors cette valeurSubscriptionId
pour approbation automatique. Après avoir reçu la réponse d’approbation de Snowflake, lancez SYSTEM$GET_PRIVATELINK_CONFIG pour obtenir l” URL afin d’accéder à Snowflake par le biais d’Azure Private Link.Important
L’assistance de Snowflake peut prendre jusqu’à 48 heures pour traiter le ticket et autoriser la valeur
SubscriptionID
. Veuillez patienter jusqu’à l’obtention de la confirmation du support Snowflake. Après avoir reçu la confirmation, passez aux étapes restantes de cette procédure.Si vous souhaitez lier plusieurs comptes Snowflake dans la même région Azure à un seul
SubscriptionID
Azure, veuillez contacter l’assistance Snowflake.Accédez au portail Azure. Recherchez Private Link et cliquez sur Private Link.
Cliquez sur Private endpoints puis sur Add.
Dans la section Basics, remplissez les champs Subscription, Resource group, Name et Region pour votre environnement, puis cliquez sur Next: Resource.
Dans la section Resource, complétez les champs Connection Method et Resource ID or Alias Field. La valeur Request message est facultative.
Pour Connection Method, sélectionnez Connect to an Azure resource by resource ID or alias.
Dans Snowflake, exécutez SYSTEM$GET_PRIVATELINK_CONFIG et entrez la valeur de
privatelink-pls-id
dans le champ Resource ID or Alias. Notez que la capture d’écran de cette étape utilise la valeur d’alias pour la régioneast-us-2
comme exemple représentatif et qu’Azure confirme une valeur d’alias valide avec une coche verte.
Revenez à la section Private endpoints et attendez quelques minutes. Une fois approuvé, le point de terminaison privé affiche une valeur CONNECTION STATE Approved.
Configuration DNS. Toutes les demandes adressées à Snowflake doivent être acheminées via le point de terminaison privé. Mettez à jour vos DNS pour résoudre les URLs OCSP et du compte Snowflake vers l’adresse IP privée de votre interface de point de terminaison privé.
Pour obtenir l’adresse IP du point de terminaison, accédez à la barre de recherche du portail Azure et saisissez le nom du point de terminaison (c’est-à-dire la valeur NAME de l’étape 6). Localisez le résultat de l’interface réseau et cliquez dessus.
Copiez la valeur de Private IP address (c’est-à-dire
10.0.27.5
).Configurez votre DNS pour que les URLs de votre compte et OCSP résolvent l’adresse IP privée. Dans Snowflake, exécutez SYSTEM$GET_PRIVATELINK_CONFIG et utilisez les valeurs pour
private-link-account-url
etprivate-link-ocsp-url
.Si vous utilisez l’une des fonctionnalités suivantes ou êtes susceptible de les utiliser à l’avenir, il est nécessaire de créer un enregistrement DNS supplémentaire avec les valeurs suivantes ou de combiner les valeurs suivantes avec les valeurs du compte Snowflake et du serveur de cache OCSP. Cette étape garantit l’accès à ces fonctionnalités via un point de terminaison privé.
- Snowflake Data Marketplace ou Snowsight
app.<id_région>.privatelink.snowflakecomputing.com
- Organisations
Pour plus d’informations, voir Comprendre les noms des organisations et des comptes.
Note
Une explication complète de la configuration de DNS dépasse le cadre de cette procédure. Par exemple, vous pouvez choisir d’intégrer une zone DNS Azure Private dans votre environnement. Veuillez contacter les administrateurs de votre infrastructure Azure et Cloud interne pour configurer et résoudre correctement les URLs dans les DNS.
Après avoir vérifié que vos paramètres de pare-feu sortant et vos enregistrements DNS incluent votre compte Azure Private Link et les URLs OCSP, testez votre connexion à Snowflake avec SnowCD (Connectivity Diagnostic Tool) et SYSTEM$WHITELIST_PRIVATELINK.
Connectez-vous à Snowflake à l’aide de SnowSQL.
Vous pouvez maintenant vous connecter à Snowflake à l’aide d’Azure Private Link.
Utilisation de SSO avec Azure Private Link¶
Snowflake prend en charge l’utilisation de SSO avec Azure Private Link. Pour plus d’informations, voir :
Blocage de l’accès public — Facultatif¶
Après avoir testé la connectivité Azure Private Link avec Snowflake, vous pouvez éventuellement configurer le blocage de l’accès public à Snowflake à l’aide de Politiques réseau.
Configurez la plage de blocage CIDR pour bloquer l’accès public à Snowflake à l’aide de la plage d’adresses IP de votre entreprise. Cette plage peut provenir de votre réseau virtuel.
Une fois les plages de blocage CIDR définies, seules les adresses IP comprises dans la plage de blocage CIDR peuvent accéder à Snowflake.
Pour bloquer l’accès public à l’aide d’une politique réseau :
Créez une politique réseau ou modifiez une politique réseau existante. Ajoutez la plage de blocage CIDR pour votre organisation.
Activez la politique réseau pour votre compte.