Configurer OAuth pour les connexions Snowflake sur Tableau Server

Il existe plusieurs façons de configurer OAuth pour les connexions Snowflake en fonction de la version de Tableau Server 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. 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 vos propres ID et secret client, que l’on appelle « OAuth personnalisé ». Suivez les instructions ci-dessous pour configurer ces paramètres.

  • 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.

Étape 1 : Configurer et enregistrer le client OAuth avec Snowflake

Pour utiliser une configuration OAuth personnalisée dans Tableau Server, vous devez d’abord configurer et enregistrer votre client OAuth et obtenir un ID client et un secret client dans Snowflake. 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 avoir enregistré votre client OAuth dans Snowflake en suivant les étapes décrites dans l’article Snowflake dont le lien figure ci-dessus, utilisez 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_tableau_server_url>.com/auth/add_oauth_token

Étape 2 : Configurer Tableau Server afin d’utiliser OAuth pour Snowflake

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 Tableau Server à la fois.

Remarque : Cette option de configuration ne peut pas être utilisée sur Tableau Cloud.

  1. (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.

  2. Copiez, coller et personnalisez la commande suivante dans un éditeur de texte :

    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.

  3. 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é au niveau du site pour :

  1. Remplacer un client OAuth s’il est configuré pour le serveur

  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 prévaut sur toute configuration à l’échelle du serveur et tous les identifiants OAuth nouvellement ajoutés utilisent le client OAuth par défaut au niveau du site. Aucun redémarrage de Tableau Server n’est requis pour que les configurations OAuth personnalisées au niveau du site prennent effet.

Important : Les identifiants OAuth existants établis avant la configuration du client OAuth personnalisé sont utilisables temporairement, mais les administrateurs et les utilisateurs Tableau Server doivent mettre à jour leurs identifiants enregistrés pour assurer un accès ininterrompu aux données.

Étape 1 : Préparer l’ID client OAuth, la clé secrète client et l’URL de redirection

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 Étape 1 : Configurer et enregistrer le client OAuth avec Snowflake ci-dessus.

  • URL d’instance de compte

  • 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’enregistrement à l’Étape 2 : Ajouter le client OAuth au site Tableau Server ci-dessous.

    https://<your_tableau_server_url>.com/auth/add_oauth_token

Étape 2 : Ajouter le client OAuth au site Tableau Server

Suivez la procédure décrite ci-dessous pour enregistrer le client OAuth personnalisé sur le site.

  1. (Versions 2024.1 et antérieures) Sur l’ordinateur Tableau Server, exécutez les deux commandes suivantes pour activer le service Snowflake OAuth :

    tsm configuration set -k native_api.enable_snowflake_privatelink_on_server -v true

    tsm pending-changes apply

    Remarque : Pour les versions 2024.2 et ultérieures, ignorez l’étape 1, qu’une connexion privée Snowflake soit utilisée ou non.

  2. Connectez-vous à votre site Tableau Server à l’aide de vos identifiants d’administrateur de et accédez à la page Paramètres.

  3. Sous Registre des clients OAuth, cliquez sur le bouton Ajouter un client OAuth.

  4. Saisissez l’information requise, y compris l’information de l’Étape 1 ci-dessus :

    1. Dans Type de connexion, sélectionnez le connecteur dont vous souhaitez configurer le client OAuth personnalisé.

    2. L’URL de l’instance OAuth est requis si plusieurs clients OAuth sont enregistrés. Sinon, c’est facultatif.

    3. 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.

    4. Cliquez sur le bouton Ajouter un client OAuth pour terminer le processus d’enregistrement.

  5. Cliquez sur le bouton Enregistrer en bas ou en haut de la page Paramètres pour enregistrer les modifications.

Étape 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.

  1. Accédez à votre page Paramètres de mon compte.

  2. Sous Identifiants enregistrés pour les sources de données, procédez comme suit :

    1. Cliquez sur Supprimer à côté des identifiants déjà enregistrés pour le connecteur dont vous avez configuré le client OAuth personnalisé à l’Étape 2 : Ajouter le client OAuth au site Tableau Server ci-dessus.

    2. À 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 : Ajouter le client OAuth au site Tableau Server ci-dessus et 2) enregistrer les plus récents identifiants.

Étape 4 : Informer les utilisateurs de mettre à jour leurs identifiants enregistrés

Assurez-vous de 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 : Ajouter le client OAuth au site Tableau Server 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.

Proxy de transfert pour l’authentification OAuth

Pour plus d’informations sur la configuration d’un proxy de transfert avec authentification OAuth pour Tableau Server (Windows uniquement), consultez Configurer un proxy de transfert pour l’authentification OAuth(Le lien s’ouvre dans une nouvelle fenêtre) dans l’aide de Tableau.

Merci de vos commentaires!Votre commentaire s été envoyé avec succès. Merci!