Gérez les points de terminaison de connectivité privée pour Snowflake Open Catalog : Azure¶
Suivez les étapes ci-dessous pour configurer la connectivité privée sortante pour le trafic réseau sortant, lorsque les données de vos catalogues sont stockées dans le stockage cloud Azure.
Conditions préalables¶
Votre compte Open Catalog et votre stockage Cloud externe doivent tous deux être hébergés sur Azure.
Vous avez besoin d’autorisations pour définir les règles de pare-feu de vos comptes de stockage Azure afin d’autoriser les requêtes qui sont routées via des points de terminaison de connectivité privée spécifiques.
Votre moteur de requête tiers ou votre moteur Snowflake doit avoir accès à votre stockage Azure via Azure Private Link. Vous trouverez ci-dessous les options permettant d’accorder cet accès :
Utilisez des points de terminaison privés pour le stockage Azure. Pour obtenir les instructions, consultez la section Utiliser des points de terminaison privés pour le stockage Azure dans la documentation Azure.
Utilisez un point de terminaison de service Azure.
Modifiez les paramètres du pare-feu pour mettre sur liste blanche l’adresse IP de la machine sur laquelle tourne le moteur de requête.
Sinon, lorsque vous activez la connectivité privée sortante, le moteur ne peut pas lire ou écrire dans les tables stockées dans le compartiment, et Open Catalog ne peut pas lire ou écrire des métadonnées dans le compartiment.
Étape 1 : créez une connexion Snowflake CLI pour Open Catalog¶
Pour mettre en place une connectivité privée dans Open Catalog, vous avez besoin d’une connexion Snowflake CLI pour Open Catalog. Suivez les étapes suivantes pour créer cette connexion. Si le programme d’installation de Snowflake CLI n’est pas encore installé, voir Installation de Snowflake CLI.
Avant de commencer¶
Pour créer une connexion au compte Snowflake CLI pour Open Catalog, vous avez besoin de votre identificateur de compte complet Open Catalog. L’identificateur de compte comprend le nom de votre organisation Snowflake et le nom de votre compte Open Catalog ; par exemple, <nom organisation>.<my-snowflake-open-catalog-account-name>
.
Pour trouver le nom de votre organisation Snowflake (
<nom organisation>
), voirTrouver le nom de l'organisation et du compte pour un compte <https://docs.snowflake.com/en/user-guide/admin-account-identifier.html#label-account-name-find>
_.Pour trouver votre nom de compte Snowflake Open Catalog (
<my-snowflake-open-catalog-account-name>
), voirTrouver le nom de compte d'un compte Snowflake Open Catalog <https://other-docs.snowflake.com/en/opencatalog/find-account-name>
_.
Important
Pour créer cette connexion, vous devez être un utilisateur d’Open Catalog disposant des privilèges d’administrateur de service. Pour des informations sur les privilèges de l’administrateur du service, voir Rôle de l’administrateur du service.
Ajoutez une connexion Snowflake CLI pour Snowflake Open Catalog¶
Ajoutez une connexion pour le compte Snowflake Open Catalog dans lequel vous souhaitez activer la connectivité privée.
Ajoutez une connexion <https://docs.snowflake.com/en/developer-guide/snowflake-cli/connecting/configure-connections#add-a-connection>
_ avec les valeurs suivantes. Pour tous les autres paramètres, appuyez sur Entrer pour ne pas spécifier de valeur pour le paramètre.Paramètres de configuration de la connexion
Valeur
Nom de cette connexion
Indiquez un nom pour la connexion ; par exemple,
myopencatalogconnection
.Nom du compte
Indiquez le nom de votre organisation Snowflake, suivi du nom de votre compte Open Catalog, dans ce format :
<orgnamemy-snowflake-open-catalog-account-name>-<>
.Par exemple,
ABCDEFG-MYACCOUNT1
.Pour trouver ces noms, voir
Avant de commencer
_.Nom d’utilisateur
Spécifiez votre nom d’utilisateur pour Open Catalog ; par exemple,
jsmith
.Mot de passe [optionnel]
Ce paramètre est non optionnel lorsque vous créez une connexion pour Open Catalog.
Saisissez votre mot de passe pour Open Catalog ; par exemple,
MyPassword123456789
.Rôle pour la connexion [optionnel]
Ce paramètre est non optionnel lorsque vous créez une connexion pour Open Catalog.
Vous devez saisir
POLARIS_ACCOUNT_ADMIN
Testez la connexion Snowflake CLI¶
Pour tester votre connexion à CLI, suivez cet exemple, qui teste la connexion à
myopencatalogconnection
:snow connection test -c myopencatalogconnection
La réponse devrait ressembler à ceci :
+------------------------------------------------------------------------------+ | key | value | |----------------------------+-------------------------------------------------| | Connection name | myopencatalogconnection | | Status | OK | | Host | ABCDEFG-MYACCOUNT1.snowflakecomputing.com | | Account | ABCDEFG-MYACCOUNT1 | | User | jsmith | | Role | POLARIS_ACCOUNT_ADMIN | | Database | not set | | Warehouse | not set | +------------------------------------------------------------------------------+
Paramétrez votre connexion Snowflake CLI pour Snowflake Open Catalog comme connexion par défaut¶
Pour vous assurer que la connexion que vous utilisez dispose toujours du rôle POLARIS_ACCOUNT_ADMIN requis, vous pouvez définir la connexion Snowflake CLI que vous avez créée pour Open Catalog comme la connexion par défaut. Pour plus d’informations sur la connexion par défaut, voir Paramétrer la connexion par défaut <https://docs.snowflake.com/en/developer-guide/snowflake-cli/connecting/configure-connections#set-the-default-connection>
_.
Suivez cet exemple, qui paramètre la connexion
myopencatalogconnection
par défaut :snow connection set-default myopencatalogconnection
Pour confirmer que vous utilisez l’utilisateur et le rôle corrects, exécutez la procédure suivante :
snow sql -q "Select current_user(); select current_role();"
La réponse devrait renvoyer votre nom d’utilisateur Open Catalog et le ROLE CURRENT devrait être POLARIS_ACCOUNT_ADMIN.
+----------------+ | CURRENT_USER() | |----------------| | JSMITH | +----------------+ select current_role(); +-----------------------+ | CURRENT_ROLE() | |-----------------------| | POLARIS_ACCOUNT_ADMIN | +-----------------------+
Étape 2 : Mettez à disposition un point de terminaison de connectivité privée pour un compte de stockage¶
Vous devez provisionner un point de terminaison de connectivité privée pour chaque compte de stockage que vous souhaitez utiliser avec votre compte Open Catalog.
Note
Si vous provisionnez un point de terminaison de connectivité privée pour un compte de stockage Data Lake Storage (et non un compte de stockage Blob), vous devez provisionner deux points de terminaison de connectivité privée. L’un de ces points de terminaison correspond au point de terminaison DFS et l’autre au point de terminaison Blob. Pour un exemple, voir Approvisionner des points de terminaison de connectivité privée pour un compte de stockage Data Lake Storage.
Utilisez votre connexion Snowflake CLI pour Open Catalog afin d’appeler les fonctions suivantes du système :
Pour provisionner un point de terminaison de connectivité privée pour le compte Snowflake, appelez la fonction système SYSTEM$PROVISION_PRIVATELINK_ENDPOINT.
Pour confirmer que le point de terminaison de connectivité privée est prêt à être utilisé, appelez la fonction système SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO.
Pour obtenir des instructions, reportez-vous à la section Gérer les points de terminaison de la connectivité privée : Azure dans la documentation de Snowflake. N’oubliez pas que les instructions se réfèrent à un compte Snowflake et non à un compte Snowflake Open Catalog, mais le processus est le même dans Open Catalog.
Important
Vous devez utiliser le rôle POLARIS_ACCOUNT_ADMIN au lieu du rôle ACCOUNTADMIN mentionné dans les instructions.
Si la connexion Snowflake CLI que vous avez définie par défaut n’a pas le rôle POLARIS_ACCOUNT_ADMIN, vous devez inclure l’instruction suivante dans votre commande :
USE ROLE POLARIS_ACCOUNT_ADMIN;
Avec votre commande, vous devez insérer une barre oblique immédiatement avant
$
pour l’échapper. Par exemple,snow sql -q "SELECT SYSTEM\$GET_PRIVATELINK_CONFIG();"
.
Exemple : provisionner des points de terminaison de connectivité privée pour un compte de stockage Data Lake¶
Si vous utilisez un compte de stockage Data Lake Storage pour stocker vos tables Iceberg, vous devez provisionner deux points de terminaison de connectivité privée pour le compte. Pour plus d’informations, consultez la rubrique Création d’un point de terminaison privé dans la documentation Azure.
Par exemple :
Approvisionner un point de terminaison privé pour l’accès Blob
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/mysubscriptionid/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo',
'storagedemo.blob.core.windows.net',
'blob'
);
Approvisionner un point de terminaison privé pour le point de terminaison DFS
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/mysubscriptionid/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo',
'storagedemo.dfs.core.windows.net',
'dfs'
);
Étape 3 : configurez l’accès du réseau public à votre compte de stockage¶
Dans Azure, accédez aux paramètres de mise en réseau de votre compte de stockage et configurez l’accès du réseau public à ce dernier. Vous pouvez configurer cet accès de l’une des manières suivantes :
Désactivez tous les accès au réseau public
Désactivez tous les accès au réseau public, à l’exception des réseaux virtuels et des adresses IP que vous avez spécifiés
Pour plus d’informations, consultez la section Configurer les pare-feu et les réseaux virtuels du stockage Azure dans la documentation Azure.
Étape 4 : activez la connectivité privée pour un catalogue¶
Dans cette étape, vous activez la connectivité privée pour un catalogue dans votre compte Open Catalog. Vous pouvez activer la connectivité privée pour un catalogue nouveau ou existant :
Activer la connectivité privée pour un nouveau catalogue¶
Suivez les instructions à l’adresse Créer un catalogue à l’aide du stockage Azure. Assurez-vous que, pour le catalogue, la bascule Private Link est activée.
Activez la connectivité privée pour un catalogue existant¶
Connectez-vous à Open Catalog.
Dans le menu de navigation, sélectionnez Catalogues.
Dans la liste des catalogues, sélectionnez le catalogue pour lequel vous souhaitez activer la connectivité privée.
Dans l’onglet Détails du catalogue, paramétrez l’option PrivateLink sur Activé.
Étape 5 : approuvez la connexion d’un point de terminaison privé à votre compte de stockage¶
Pour approuver la connexion, vous devez d’abord créer ou charger une table dans votre catalogue. L’exécution de l’une de ces actions génère une requête d’approbation de la connectivité du point de terminaison privé dans Azure.
Utilisez votre moteur de requête pour effectuer l’une des opérations suivantes :
Si aucune table n’est stockée dans votre catalogue, créez une table dans votre compte Open Catalog, utilisez votre moteur de requête et insérez-y des données.
Si une table est stockée dans votre catalogue, essayez de la charger.
Note
Si vous ne pouvez pas insérer de données dans la table, il se peut que vous n’ayez pas configuré Azure Private Link pour le moteur de requête ; si c’est le cas, votre moteur de requête n’est pas connecté au catalogue via Azure Private Link. Pour résoudre ce problème, configurez Azure Private Link pour le moteur de requête. Pour plus d’informations, consultez Utiliser des points de terminaison privés pour le stockage Azure et le tutoriel : Se connecter à un compte de stockage à l’aide d’un point de terminaison privé Azure dans la documentation Azure.
Dans Azure, procédez comme suit :
Accédez aux paramètres de réseau de votre compte de stockage.
Approuvez la requête de connexion pour le point de terminaison privé. Si vous avez créé une table, elle est créée dans le compte de stockage Azure lorsque vous approuvez la requête.
Dépannage¶
Cette section fournit des solutions aux problèmes liés à la connectivité privée sortante pour le trafic réseau.
Impossible de voir le schéma d’une table dans Open Catalog¶
Symptôme
Dans Open Catalog, vous sélectionnez une table de votre catalogue (par exemple, catalog1
) mais vous recevez le message d’erreur suivant : « Aucune autorisation d’accès à cette ressource ».
Cause
Dans Azure, vous avez mis à jour avec succès les paramètres réseau de votre compte de stockage afin de router le trafic réseau via votre point de terminaison VPC. Cependant, dans Open Catalog, vous n’avez pas activé la connectivité privée pour ce catalogue, donc Open Catalog ne peut pas accéder à votre compartiment.
Solution
Activez la connectivité privée pour le catalogue (par exemple, catalog1). Pour plus d’informations, consultez Activer la connectivité privée pour un catalogue.
Message d’erreur reçu dans le moteur de requête : « Échec de l’obtention des informations d’identification de connexion à portée réduite ».¶
Symptôme
Vous tentez de lire ou d’écrire des données dans une table à l’aide d’un moteur de requête, mais vous recevez le message d’erreur suivant : « Échec de l’obtention des identifiants de connexion ».
Cause
Vous avez verrouillé votre compte de stockage mais vous n’avez pas provisionné le point de terminaison de connectivité privée ou activé la connectivité privée dans votre compte Open Catalog. Par conséquent, Open Catalog ne peut pas générer les identifiants de connexion à portée réduite et les renvoyer au moteur de requête, de sorte que votre moteur de requête ne peut pas accéder au stockage.
Solution
Suivez les étapes suivantes :
Si vous n’avez pas encore provisionné le point de terminaison de connectivité privée, consultez Provisionner un point de terminaison de connectivité privée pour le compte de stockage.
Si vous n’avez pas encore activé la connectivité privée pour le catalogue, activez la connectivité privée pour le catalogue.
Erreur « Business Critical » lors de l’exécution de la commande SYSTEM$PROVISION_PRIVATELINK_ENDPOINT¶
Symptôme
Dans votre connexion Snowflake CLI, vous avez exécuté la commande SYSTEM$PROVISION_PRIVATELINK_ENDPOINT
mais elle échoue avec le message d’erreur suivant : « L’édition Business Critical ou supérieure est exigée pour cette opération. Veuillez passer à l’édition valide et réessayer. »
Cause
L’édition de votre compte Open Catalog n’est pas Business Critical.
Pour activer la connexion privée pour le trafic réseau sortant, ce qui inclut le provisionnement d’un point de terminaison de connectivité privée, l”édition de votre compte Snowflake Open Catalog doit être Business Critical.
Solution
Contactez le support Snowflake pour obtenir de l’aide sur la mise à niveau de votre compte Open Catalog vers Business Critical.