Configurer OAuth pour les connexions Snowflake
Il existe plusieurs façons de configurer OAuth pour les connexions Snowflake, en fonction de la version de Tableau que vous utilisez et du nombre de sites que vous mettez à jour. Cette rubrique décrit comment configurer chaque option disponible.
- Pour toutes les versions de Tableau jusqu’à la version 2024.1 incluse, le connecteur Tableau Snowflake utilise par défaut un proxy OAuth hébergé dans AWS (GALOP), qui utilise le même identifiant client et le même secret client.
- Depuis Tableau 2020.4, il est possible de configurer Tableau Server de manière à utiliser un nouveau service OAuth qui s’exécute au même endroit que l’instance de Tableau. Pour ce faire, vous devez fournir votre propre identifiant et secret client, appelé OAuth personnalisé.
- Le proxy GALOP sera obsolète à partir de la version 2024.2, et les instructions de configuration de OAuth personnalisé décrites ci-dessous seront obligatoires, car il utilisera désormais le service OAuth local pour l’authentification.
- Pour Tableau Desktop et Tableau Cloud versions 2024.3 et ultérieures, vous pouvez configurer un fournisseur d’identité tiers (OAuth externe) pour Snowflake. Pour plus d’informations, consultez OAuth externe pour Snowflake.
Voici les avantages de l’OAuth personnalisé :
Sécurité améliorée
Vous pouvez utiliser OAuth dans des environnements isolés qui ne peuvent pas se connecter au proxy OAuth (GALOP).
Vous n’avez pas à ajouter à la liste d’autorisations les adresses GALOP IP pour exécuter le flux OAuth dans AWS PrivateLink ou Azure Private Link VPC.
Enregistrer un client OAuth avec Snowflake
Pour utiliser une configuration OAuth personnalisée dans Tableau Server, vous devez d’abord enregistrer votre client OAuth et obtenir un identifiant client et un secret client pour terminer la configuration. Pour Tableau Server 2024.2 et versions ultérieures, cette étape est obligatoire, quelle que soit l’option de configuration utilisée. Pour enregistrer un client OAuth personnalisé avec Snowflake, suivez les étapes décrites dans Configurer Snowflake OAuth pour les clients personnalisés(Le lien s’ouvre dans une nouvelle fenêtre).
Après vous être enregistré, vous utiliserez les paramètres Snowflake suivants pour configurer Tableau Server :
- URL d’instance de compte
- ID client
- Code secret client
- URL de redirection
Remarque : Vous devez saisir la même URL de redirection dans Snowflake et dans Tableau. Le format est :
https://your_server_url.com/auth/add_oauth_token
Par exemple, https://example.com/auth/add_oauth_token
Option 1 : Configurer OAuth pour les connexions Snowflake à l’aide de TSM
Nous vous recommandons d’utiliser cette option lorsque vous devez mettre à jour plusieurs sites à la fois.
Remarque : Cette option de configuration ne peut pas être utilisée sur Tableau Cloud.
(Versions 2024.1 et antérieures) Sur l’ordinateur Tableau Server, exécutez la commande suivante pour activer le service Snowflake OAuth :
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
Remarque : Pour les versions 2024.2 et ultérieures, ignorez l’étape 1, qu’une connexion privée Snowflake soit utilisée ou non.
Copiez, coller et personnalisez la commande suivante dans un éditeur de texte :
Remarque : Si vous apportez ces modifications de configuration dans Tableau Server 2021.1 et versions ultérieures, notez que le format de la valeur oauth.snowflake.clients a changé.
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\", \"oauth.snowflake.client_id\":\"client_id_string\", \"oauth.snowflake.client_secret\":\"client_secret_string\", \"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"
La clé
oauth.snowflake.clients
prend un tableau de paires de clés. Chaque élément de la paire de clés doit être encapsulé entre doubles guillemets. Les doubles guillemets doivent être échappés sous la forme\"
.Pour spécifier plusieurs URL d’instance de compte, séparez chaque client OAuth supplémentaire entouré d’accolades ({}) par une virgule (,), comme dans cet exemple :
tsm configuration set -k oauth.snowflake.clients -v " [{\"oauth.snowflake.instance_url\":\"https://account.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string1\",\"oauth.snowflake.client_secret\":\"client_secret_string1\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" },{\"oauth.snowflake.instance_url\":\"https://account2.snowflakecomputing.com\",\"oauth.snowflake.client_id\":\"client_id_string2\",\"oauth.snowflake.client_secret\":\"client_secret_string2\",\"oauth.snowflake.redirect_uri\":\"http://your_server_url.com/auth/add_oauth_token\" }]"
Remplacez les valeurs de chaque clé :
- URL d’instance de compte :
oauth.snowflake.instance_url
- ID client :
oauth.snowflake.client_id
- Secret client :
oauth.snowflake.client_secret
- URL de redirection :
oauth.snowflake.redirect_uri
Remarque : avant d’exécuter la commande, vérifiez soigneusement la syntaxe. TSM ne validera pas cette entrée.
Copiez la commande dans l’interface en ligne de commande TSM et exécutez la commande.
- URL d’instance de compte :
Entrez la commande suivante pour appliquer les modifications :
tsm pending-changes apply
Si les modifications en attente nécessitent un redémarrage du serveur, la commande
pending-changes apply
affichera une invite pour vous informer qu’un redémarrage va avoir lieu. Cette invite s’affiche même si le serveur est arrêté, mais dans ce cas, il n’y a pas de redémarrage. Vous pouvez supprimer l’invite à l’aide de l’option--ignore-prompt
, mais cela ne modifiera pas le comportement de redémarrage. Si les modifications ne nécessitent pas de redémarrage, les modifications sont appliquées sans invite. Pour plus d’informations, consultez tsm pending-changes apply.
Option 2 : Configurer OAuth pour les connexions Snowflake par site
Remarque : Cette option est également disponible dans Tableau Cloud à partir de la version 2024.2.
Vous pouvez configurer un client Snowflake OAuth personnalisé au niveau du site à l’aide de l’interface utilisateur de Tableau Server.
Envisagez de configurer un client OAuth personnalisé pour 1) remplacer un client OAuth s’il est configuré pour le serveur ou 2) activer la prise en charge de la connexion sécurisée aux données qui nécessitent des clients OAuth uniques.
Lorsqu’un client OAuth personnalisé est configuré, la configuration au niveau du site est prioritaire sur toute configuration côté serveur et toutes les nouveaux identifiants OAuth créés utilisent le client OAuth au niveau du site par défaut. Aucun redémarrage de Tableau Server n’est requis pour que les configurations prennent effet.
Important : Les identifiants OAuth existants établis avant la configuration du client OAuth personnalisé sont utilisables temporairement, mais les administrateurs de serveur et les utilisateurs doivent mettre à jour leurs identifiants enregistrés pour garantir un accès ininterrompu aux données.
1 : Préparer l’ID client OAuth, le secret client, et rediriger l’URL
Avant de pouvoir configurer le client OAuth personnalisé, vous avez besoin des renseignements répertoriés ci-dessous. Une fois ces renseignements préparés, vous pouvez enregistrer le client OAuth personnalisé pour le site. Pour plus d’informations, consultez la section ci-dessus Enregistrer le client OAuth auprès de Snowflake.
ID client OAuth et secret client : enregistrez d’abord le client OAuth auprès du fournisseur de données (connecteur) pour récupérer l’ID client et le secret générés pour Tableau Server.
URL de redirection : notez l’URL de redirection correcte. Vous en aurez besoin pendant le processus d’inscription à l’Étape 2 ci-dessous.
https://<your_server_name> .com/auth/add_oauth_token
Par exemple, https://example.com/auth/add_oauth_token
2 : Enregistrer l’ID client OAuth et le secret client
Suivez la procédure décrite ci-dessous pour enregistrer le client OAuth personnalisé sur le site.
(Versions 2024.1 et antérieures) Sur l’ordinateur Tableau Server, exécutez la commande suivante pour activer le service Snowflake OAuth :
tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true
Remarque : Pour les versions 2024.2 et ultérieures, ignorez l’étape 1, qu’une connexion privée Snowflake soit utilisée ou non.
Connectez-vous à votre site Tableau Server à l’aide de vos identifiants d’administrateur de et accédez à la page Paramètres.
Sous Registre des clients OAuth, cliquez sur le bouton Ajouter un client OAuth.
Saisissez l’information requise, y compris l’information de l’Étape 1 ci-dessus :
Dans Type de connexion, sélectionnez le connecteur dont vous souhaitez configurer le client OAuth personnalisé.
L’URL de l’instance OAuth est requis si plusieurs clients OAuth sont enregistrés. Sinon, c’est facultatif.
Pour l’ID client, la clé secrète client et l’URL de redirection, saisissez l’information que vous avez préparée à l’Étape 1 ci-dessus.
Cliquez sur le bouton Ajouter un client OAuth pour terminer le processus d’enregistrement.
(Facultatif) Répétez l’Étape 3 pour tous les connecteurs pris en charge.
- Cliquez sur le bouton Enregistrer en bas ou en haut de la page Paramètres pour enregistrer les modifications.
3 : Valider et mettre à jour les identifiants enregistrés
Pour garantir un accès ininterrompu aux données, vous (et les utilisateurs de votre site) devez supprimer les identifiants enregistrés précédemment et les ajouter à nouveau pour utiliser le client OAuth personnalisé pour le site.
Accédez à votre page Paramètres de Mon compte.
Sous Informations d’identification enregistrées pour les sources de données, procédez comme suit :
Cliquez sur Supprimer en regard des informations d’identification enregistrées existantes pour le connecteur dont vous avez configuré le client OAuth personnalisé à l’Étape 2 ci-dessus.
À côté du nom du connecteur, cliquez sur Ajouter et suivez les invites pour 1) vous connecter au client OAuth personnalisé configuré à l’Étape 2 ci-dessus et 2) enregistrer les identifiants les plus récents.
4 : Indiquer aux utilisateurs de mettre à jour leurs identifiants enregistrés
Veillez à demander aux utilisateurs de votre site de mettre à jour leurs identifiants enregistrés pour le connecteur dont vous avez configuré le client OAuth personnalisé à l’Étape 2 ci-dessus. Les utilisateurs du site peuvent utiliser la procédure décrite dans Mettre à jour les identifiants enregistrés pour mettre à jour leurs identifiants enregistrés.