Les jetons d'accès personnels (PAT) permettent aux utilisateurs de Tableau Server de créer des jetons d'authentification de longue durée. Les jetons permettent aux utilisateurs d'exécuter l'automatisation avec les API REST de Tableau sans avoir besoin d'informations d'identification codées en dur ou de connexion interactive. Pour plus d'informations sur l'utilisation des jetons d'accès personnels avec les API REST de Tableau, consultez la section Connexion et déconnexion (Authentification)(Le lien s’ouvre dans une nouvelle fenêtre).
Les jetons d'accès personnels ne sont pas utilisés pour l'accès client générique à l'interface Web de Tableau Server ou TSM. Pour utiliser des jetons d'accès personnels avec tabcmd, installez la nouvelle version de tabcmd depuis https://tableau.github.io/tabcmd/.
Nous recommandons de créer des jetons d'accès personnels pour les scripts et tâches automatisés créés avec l'API REST de Tableau :
- Amélioration de la sécurité : les jetons d'accès personnels réduisent les risques dans le cas où les informations d'identification sont compromises. Si Tableau Server utilise Active Directory ou LDAP comme magasin d'identité, vous pouvez réduire le risque pour les informations d'identification en utilisant un jeton d'accès personnel' pour les tâches automatisées. L'utilisation d'un jeton spécifique à l'application n'expose alors pas le système dans son ensemble dans le cas où les fichiers d'automatisation ou de script seraient compromis. Si un jeton est compromis ou est utilisé dans une automatisation défaillante ou présentant un risque, vous pouvez simplement révoquer le jeton. Vous n'avez pas besoin de modifier ou de révoquer les informations d'identification de l'utilisateur.
- Audit et suivi : en tant qu'administrateur, vous pouvez consulter les journaux de Tableau Server pour savoir quand un jeton est utilisé, quelles sessions sont créées à partir de ce jeton et quelles actions sont effectuées dans ces sessions. Vous pouvez également déterminer si une session et les tâches associées ont été exécutées depuis une session générée à partir d'un jeton ou d'une connexion interactive.
- Gestion de l'automatisation : un jeton peut être créé pour chaque script ou tâche exécutée. Cela vous permet de cloisonner et de passer en revue les tâches d'automatisation au sein de votre entreprise. De plus, en utilisant des jetons, la réinitialisation des mots de passe ou les modifications de métadonnées (nom d'utilisateur, e-mail, etc.) sur les comptes utilisateur ne perturberont pas l'automatisation comme ce serait le cas lorsque les informations d'identification étaient codées en dur dans les scripts.
Comprendre les jetons d'accès personnels
Lorsqu'un jeton est créé, il est haché puis stocké dans le référentiel. Une fois le jeton haché et stocké, le jeton d'origine est supprimé. Les utilisateurs sont invités à copier le jeton dans un endroit sûr et à le manipuler comme s'il s'agissait d'un mot de passe. Lorsque le jeton est utilisé au moment de l'exécution, Tableau Server hache le jeton présenté par l'utilisateur et le compare à la valeur de hachage stockée dans le référentiel. Si une correspondance est établie, une session authentifiée est lancée.
Remarque : Un jeton d'accès personnel est requis par demande simultanée. Se reconnecter avec le même jeton d'accès, que ce soit sur le même site ou sur un site différent, mettra fin à la session précédente et entraînera une erreur d'authentification.
Dans le cadre de l'autorisation, Tableau Server gère la session authentifiée avec les mêmes autorisations et droits dont l'utilisateur dispose en tant qu'utilisateur interactif.
Emprunt d'identité de l'administrateur de serveur
À partir de la version 2021.1, vous pouvez activer l’emprunt d’identité des jetons d’accès personnel de Tableau Server. Dans ce scénario, les jetons d’accès créés par les administrateurs de serveur peuvent être utilisés pour l’emprunt d’identité des utilisateurs(Le lien s’ouvre dans une nouvelle fenêtre) lors de l’utilisation de l’API REST de Tableau Server. L’emprunt d’identité est utile dans les scénarios où vous intégrez le contenu Tableau spécifique à l’utilisateur final dans votre application. Plus précisément, les jetons d’accès d’emprunt d’identité vous permettent de créer des applications qui interrogent en tant qu’utilisateur donné et de récupérer le contenu auquel l’utilisateur est autorisé à accéder dans Tableau Server, sans codage dur des informations d'identification.
Pour plus d’informations, consultez la section d’aide de l’API REST de Tableau, Emprunt d'identité d’un utilisateur(Le lien s’ouvre dans une nouvelle fenêtre).
Permettre à Tableau Server d’accepter des jetons d’accès personnels lors des demandes de connexion avec emprunt d'identité
Par défaut, Tableau Server n’autorise pas l’emprunt d’identité pour les jetons d’accès personnels de l’administrateur de serveur. Vous devez activer le paramètre à l’échelle du serveur en exécutant les commandes suivantes.
tsm authentication pat-impersonation enable [global options]
tsm pending-changes apply
Important : une fois que vous avez exécuté les commandes, tous les jetons d’accès personnels créés par les administrateurs de serveur (y compris les jetons préexistants) peuvent être utilisés pour l’emprunt d’identité. Pour révoquer en bloc tous les jetons d’accès personnels de l’administrateur de serveur existant, vous pouvez publier l'URI DELETE /api/{api-version}/auth/serverAdminAccessTokens
. Pour plus d’informations, consultez la section d’aide de l’API REST de Tableau, Emprunt d'identité d’un utilisateur(Le lien s’ouvre dans une nouvelle fenêtre).
Créer des jetons
Les utilisateurs ayant des comptes sur Tableau Server peuvent créer, gérer et révoquer des jetons d'accès personnels sur la page Paramètres de Mon compte. Pour plus d'informations, consultez la section Gérer les paramètres de votre compte(Le lien s’ouvre dans une nouvelle fenêtre) dans l'aide de Tableau Desktop et de la création Web.
Les utilisateurs doivent créer leurs propres jetons d'accès personnels. Les administrateurs ne peuvent pas créer de jetons pour les utilisateurs.
Expiration des jetons
Les jetons d’accès personnel expireront s’ils ne sont pas utilisés après 15 jours consécutifs. S’ils sont utilisés plus fréquemment que tous les 15 jours, un jeton d’accès expirera après 1 an. Au terme d’un an, vous devez créer un nouveau jeton. Les jetons d’accès personnel expirés ne s’affichent pas dans la page Paramètres de Mon compte.
Vous pouvez modifier la durée d’expiration du jeton d’actualisation à l’aide de l'option refresh_token.absolute_expiry_in_seconds avec la commande tsm configuration set
.
Révoquer les jetons des utilisateurs
Les utilisateurs peuvent révoquer leurs propres jetons sur la page Paramètres de Mon compte. En tant qu'administrateur, vous pouvez également révoquer les jetons d'accès personnels.
- Se connecter à la zone d'administration de Tableau Server en tant qu'administrateur de serveur.
- Localisez l'utilisateur dont vous souhaitez révoquer le jeton. Pour plus d'informations sur la navigation dans les pages d'administration du serveur et la localisation des utilisateurs, consultez Afficher, gérer ou supprimer des utilisateurs.
- Cliquez sur le nom de l'utilisateur pour ouvrir sa page de profil.
- Dans la page de profil de l'utilisateur, sélectionnez l'onglet Paramètres.
- Dans la section Jetons d'accès personnels, identifiez le jeton que vous voulez révoquer, puis cliquez sur Révoquer.
- Dans la fenêtre contextuelle de vérification, cliquez sur Supprimer.
Suivre et surveiller l'utilisation
Toutes les actions liées aux jetons sont enregistrées dans le service Serveur d'applications Tableau Server (vizportal).
Pour localiser les activités liées aux jetons, filtrez les entrées du journal contenant la chaîne RefreshTokenService
.
Les jetons sont stockés dans ce format :Token Guid: <TokenID(Guid)>
où TokenID est une chaîne codée base64. Le secret du jeton n'est pas inclus dans les journaux. Par exemple :
Token Guid: 49P+CxmARY6A2GHxyvHHAA== (e3d3fe0b-1980-458e-80d8-61f1caf1c700)
.
Ce qui suit est un exemple d'extrait de deux entrées de journal. La première montre comment un utilisateur est mappé à un jeton, la seconde montre un événement d'actualisation pour le même jeton :
RefreshTokenService - Issued refresh token to the following user: jsmith. Token Guid: 49P+CxmARY6A2GHxyvHHAA== (e3d3fe0b-1980-458e-80d8-61f1caf1c700) RefreshTokenService - Redeemed refresh token. Token Guid: 49P+CxmARY6A2GHxyvHHAA== (e3d3fe0b-1980-458e-80d8-61f1caf1c700)
Pour localiser les opérations clés, filtrez les entrées du journal contenant la chaîne OAuthController
.