Gérer les points de terminaison de la connectivité privée pour Snowflake Open Catalog : Azure¶
Suivez ces étapes pour configurer la connectivité privée sortante pour le trafic réseau sortant où 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 demandes qui sont acheminées vers 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. Voici les options permettant d’accorder cet accès :
Utiliser des points de terminaison privés pour le stockage Azure. Pour les instructions, voir Utiliser des points de terminaison privés pour le stockage Azure dans la documentation Azure.
Utiliser un point de terminaison de service Azure.
Modifier les paramètres du pare-feu pour ajouter l’adresse IP pour la machine sur laquelle le moteur de requête s’exécute.
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 de métadonnées dans le compartiment.
Étape 1 : Créer une connexion CLI Snowflake pour Open Catalog¶
Pour configurer une connectivité privée dans Open Catalog, vous avez besoin d’une connexion CLI Snowflake pour Open Catalog. Suivez les étapes suivantes pour créer cette connexion. Si la CLI Snowflake n’a pas encore été installée, voir installation de la CLI Snowflake.
Avant de commencer¶
Pour créer une connexion CLI Snowflake pour Open Catalog, vous avez besoin de votre identificateur de compte Open Catalog complet. L’identificateur du compte comprend le nom de votre organisation Snowflake et le nom de votre compte Open Catalog ; par exemple, <orgname>.<my-snowflake-open-catalog-account-name>
.
Pour trouver le nom de votre organisation Snowflake (
<orgname>
), voirRecherche de l'organisation et du nom de 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>
), voirRechercher le nom 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 Open Catalog disposant de privilèges d’administrateur de service. Pour plus d’informations sur les privilèges d’administrateur de service, voir Rôle d’administrateur de service.
Ajouter une connexion CLI Snowflake 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 Entrée pour ne pas spécifier de valeur pour le paramètre.Paramètres de configuration de la connexion
Valeur
Nom de cette connexion
Spécifiez 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, au format :
<orgname>-<my-snowflake-open-catalog-account-name>
.Par exemple,
ABCDEFG-MYACCOUNT1
.Pour trouver ces noms, voir
Avant de commencer
_.Nom d’utilisateur
Indiquez votre nom d’utilisateur pour Open Catalog ; par exemple,
jsmith
.Mot de passe [facultatif]
Ce paramètre n’est pas facultatif 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 [facultatif]
Ce paramètre n’est pas facultatif lorsque vous créez une connexion pour Open Catalog.
Vous devez saisir
POLARIS_ACCOUNT_ADMIN
.
Test de la connexion CLI Snowflake¶
Pour tester votre connexion CLI, suivez cet exemple, qui teste la connexion pour
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 | +------------------------------------------------------------------------------+
Définir votre connexion CLI Snowflake pour Snowflake Open Catalog par défaut¶
Pour que la connexion que vous utilisez toujours dispose du rôle POLARIS_ACCOUNT_ADMIN qui lui a été accordé, vous pouvez définir la connexion CLI Snowflake que vous avez créée pour Open Catalog comme connexion par défaut. Pour plus d’informations sur la connexion par défaut, voir Définir 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 définit la connexion
myopencatalogconnection
par défaut :snow connection set-default myopencatalogconnection
Pour confirmer que vous utilisez le bon utilisateur et le bon rôle, exécutez la commande suivante :
snow sql -q "Select current_user(); select current_role();"
La réponse doit 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 : Fournir un point de terminaison de connexion privée pour un compte de stockage¶
Vous devez fournir un point de terminaison de connexion privée pour chaque compte de stockage que vous souhaitez utiliser avec votre compte Open Catalog.
Note
Si vous fournissez un point de terminaison de connexion privée pour un compte de stockage Data Lake Storage (et non un compte de stockage blob), vous devez fournir deux points de terminaison de connexion privée. L’un de ces points de terminaison est pour le point de terminaison DFS, et l’autre pour le point de terminaison blob. Pour un exemple, voir Fourniture de points de terminaison de connexion privée pour un compte de stockage Data Lake Storage.
Utiliser votre connexion CLI Snowflake pour Open Catalog afin d’appeler les fonctions système suivantes :
Pour fournir un point de terminaison de connexion privée pour le compte de stockage, appelez la fonction système SYSTEM$PROVISION_PRIVATELINK_ENDPOINT.
Pour confirmer que le point de terminaison de connexion privée est prêt à être utilisé, appelez la fonction système SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO.
Pour obtenir des instructions, voir Gestion des points de terminaison de la connexion privée : Azure dans la documentation Snowflake. N’oubliez pas que les instructions font référence à un compte Snowflake au lieu d’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 CLI Snowflake par défaut que vous avez définie n’a pas le rôle POLARIS_ACCOUNT_ADMIN accordé, vous devez inclure l’instruction suivante avec 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 : Fournir des points de terminaison de connexion privée pour un compte de stockage Data Lake Storage¶
Si vous utilisez un compte de stockage Data Lake Storage pour stocker vos tables Iceberg, vous devez fournir deux points de terminaison de connexion privée pour le compte. Pour plus d’informations, voir Création d’un point de terminaison privé dans la documentation Azure .
Par exemple :
Fournir un point de terminaison privé pour le point de terminaison blob
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
'/subscriptions/mysubscriptionid/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo',
'storagedemo.blob.core.windows.net',
'blob'
);
Fournir 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 : Configurer l’accès au réseau public de votre compte de stockage¶
Dans Azure, naviguez jusqu’aux paramètres réseau de votre compte de stockage et configurez l’accès au réseau public qui y est associé. Vous pouvez configurer cet accès comme l’un des éléments suivants :
Désactiver tous les accès au réseau public
Désactiver tous les accès au réseau public à l’exception des réseaux virtuels et des adresses IP que vous spécifiez
Pour plus d’informations, voir Configurer les pare-feu et les réseaux virtuels Azure Storage dans la documentation Azure.
Étape 4 : Activer la connexion privée pour un catalogue¶
Dans cette étape, vous activez la connexion privée pour un catalogue dans votre compte Open Catalog. Vous pouvez activer la connexion privée pour un catalogue nouveau ou existant :
Activer la connexion privée pour un nouveau catalogue¶
Suivez les instructions dans Création d’un catalogue à l’aide d’Azure Storage. Assurez-vous que, pour le catalogue, le bouton bascule Private Link est Activé.
Activer la connexion privée pour un catalogue existant¶
Connectez-vous à Open Catalog.
Dans le menu de navigation, sélectionnez Catalogs.
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, définissez le bouton bascule PrivateLink sur Activé.
Étape 5 : Approuver une connexion de point de terminaison privé à votre compte de stockage¶
Pour approuver la connexion, vous devez commencer par créer ou charger une table dans votre catalogue. L’exécution de l’une de ces actions génère une demande d’approbation de connexion de 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, pour créer 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 charger la table.
Note
Si vous ne pouvez pas insérer de données dans la table, vous n’avez peut-être 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, voir Utiliser des points de terminaison privés pour le stockage Azure et Tutoriel : Connectez-vous à un compte de stockage à l’aide d’un point de terminaison privé Azure dans la documentation Azure.
Dans Azure, suivez les étapes suivantes :
Naviguez jusqu’aux paramètres réseau de votre compte de stockage.
Approuvez la demande 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.
Résolution des problèmes¶
Cette section fournit des solutions de dépannage pour les problèmes liés à la connexion privée sortante pour le trafic réseau.
Impossible d’afficher le schéma d’une table dans Open Catalog¶
Symptôme
Dans Open Catalog, vous sélectionnez une table dans votre catalogue (par exemple, catalogue1
) mais vous recevez le message d’erreur suivant : « Pas d’autorisations pour accéder à cette ressource ».
Cause
Dans Azure, vous avez réussi à mettre à jour les paramètres réseau de votre compte de stockage pour acheminer le trafic réseau via votre point de terminaison VPC. Cependant, dans Open Catalog, vous n’avez pas activé la connexion privée pour ce catalogue, donc Open Catalog ne peut pas accéder à votre compartiment.
Solution
Activez la connexion privée pour le catalogue (par exemple, catalogue1). Pour plus de détails, voir Activer la connexion privée pour un catalogue.
Réception d’un message d’erreur « Échec de l’obtention des identifiants de connexion attribués » dans le moteur de requête¶
Symptôme
Vous tentez de lire ou d’écrire des données dans une table en utilisant un moteur de requête, mais vous recevez le message d’erreur suivant : « Échec de l’obtention des identifiants de connexion attribués ».
Cause
Vous avez verrouillé votre compte de stockage, mais n’avez pas fourni le point de terminaison de connexion 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 attribués et les renvoyer au moteur de requête, donc votre moteur de requête ne peut pas accéder au stockage.
Solution
Suivez les étapes suivantes :
Si vous n’avez pas encore fourni le point de terminaison de connectivité privée, voir Fournir un point de terminaison de connexion privée pour le compte de stockage.
Si vous n’avez pas encore activé la connectivité privée pour le catalogue, Activer la connexion 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 CLI Snowflake, vous avez exécuté la commande SYSTEM$PROVISION_PRIVATELINK_ENDPOINT
mais elle échoue avec le message d’erreur suivant : « Business Critical ou une version supérieure est nécessaire pour cette opération. Veuillez installer la version requise et réessayer ».
Cause
La version de votre compte Open Catalog n’est pas Business Critical.
Pour activer la connectivité privée pour le trafic réseau sortant, ce qui inclut la mise en service d’un point de terminaison de connexion privée, la version 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.