Activer la délégation Kerberos

La délégation Kerberos permet à Tableau Server d’utiliser les informations d’identification Kerberos de l’observateur qui visualise un classeur ou une vue pour exécuter une requête au nom de l’observateur. Cette option est utile dans les situations suivantes :

  • Vous avez besoin de savoir qui accède aux données (le nom de l’observateur figurera dans les journaux d’accès de la source de données).

  • La sécurité de votre source de données s’exerce au niveau ligne. Dans ce cas, des utilisateurs différents accèdent à des lignes différentes.

Sources de données prises en charge

Tableau prend en charge la délégation Kerberos avec les sources de données suivantes :

  • Cloudera : Hive/ Impala
  • Denodo
  • Hortonworks
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica

MSAS n’est pas pris en charge sur les plates-formes Linux.

Exigences

La délégation Kerberos requiert Active Directory.

  • Le magasin d’identités Tableau Server doit être configuré pour utiliser Active Directory.
  • L’ordinateur sur lequel Tableau Server est installé doit être lié au domaine Active Directory.
  • MIT Kerberos KDC n’est pas pris en charge.

Création Web et authentification Kerberos des utilisateurs

Lors de la configuration de la connexion aux données pour une cible spécifique, vous pouvez sélectionner l’authentification intégrée ou Windows comme méthode d’authentification préférée. Cependant, pour les scénarios de création Web, le comportement par défaut consiste à utiliser le compte de service Kerberos (compte « Exécuter en tant que »).

Pour activer les informations d’identification utilisateur dans les scénarios de création Web avec délégation Kerberos, vous devez effectuer une configuration supplémentaire à l’aide de TSM. Exécutez les commandes suivantes :

tsm configuration set -k native_api.WebAuthoringAuthModeKerberosDelegation -v true
tsm pending-changes apply

Une fois cette configuration effectuée, la délégation Kerberos devient l’opération par défaut lors de la sélection de l’authentification intégrée avec la création Web. Cependant, ce paramètre n’empêchera pas les créateurs de contenu d’accéder au compte de service. Les créateurs peuvent toujours publier des contenus qui se connectent au compte Exécuter en tant que service, à l’aide de Tableau Desktop ou d’autres méthodes.

Pour plus d’informations sur le compte Exécuter en tant que service, consultez Activer l’accès au compte de service Kerberos.

Processus de configuration

Cette section fournit un exemple du processus d’activation de la délégation Kerberos. Le scénario inclut également des exemples de noms pour aider à décrire les relations entre les éléments de configuration.

  1. Tableau Server aura besoin d’un ticket de service Kerberos pour la délégation pour le compte de l’utilisateur qui initie l’appel à la base de données. Vous devez créer un compte de domaine qui sera utilisé pour la délégation vers la base de données donnée. Le compte est appelé le compte Exécuter en tant que service. Dans cette rubrique, l’exemple d’utilisateur configuré comme compte de délégation/compte Exécuter en tant que est tabsrv@example.com.

    Le compte doit être configuré avec l’utilisateur et les ordinateurs Active Directory sur un serveur Windows connecté au domaine de l’utilisateur :

    • Ouvrez la page Propriétés pour le compte Exécuter en tant que service, cliquez sur l’onglet Délégation et sélectionnez N’approuver cet utilisateur que pour la délégation aux services spécifiés et Utiliser n’importe quel protocole d’authentification.
  2. Créez un fichier keytab pour le compte Exécuter en tant que service.

    Par exemple, les commandes suivantes créent un fichier keytab (tabsrv-runas.keytab) à l’aide de l’outil ktutil :

    sudo ktutil
    ktutil:  addent -password -p tabsrv@EXAMPLE.COM -k 2 -e <encryption scheme>

    Les modèles de cryptage pour cette commande incluent RC4-HMAC, aes128-cts-hmac-sha1-96 et aes256-cts-hmac-sha1-96. Adressez-vous à votre équipe informatique pour identifier le modèle de cryptage adapté à votre environnement et votre source de données.

    ktutil:  wkt tabsrv-runas.keytab

    Tableau Server utilisera le compte Exécuter en tant que service et le fichier keytab associé pour l’authentification et l’établissement d’une connexion directe à la base de données.

  3. Copiez le fichier keytab sur le répertoire de données Tableau Server et configurez la propriété et les autorisations appropriées. Si vous fonctionnez dans un déploiement multi-nœuds, vous devez exécuter les commandes suivantes sur chaque nœud du cluster.

    mkdir /var/opt/keytab                
    sudo cp -p tabsrv-runas.keytab /var/opt/keytab                 
    sudo chown $USER /var/opt/keytab/tabsrv-runas.keytab                  
    chgrp tableau /var/opt/keytab/tabsrv-runas.keytab                  
    chmod g+r /var/opt/keytab/tabsrv-runas.keytab 
    					
  4. Exécutez les commandes TSM suivantes pour activer la délégation Kerberos, configurer le compte de service de délégation et associer le fichier keytab avec le compte de service :

    					
    tsm configuration set -k wgserver.delegation.enabled -v true
    tsm configuration set -k native_api.datasource_impersonation_runas_principal -v tabsrv@EXAMPLE.COM
    tsm configuration set -k native_api.datasource_impersonation_runas_keytab_path -v /var/opt/keytab/tabsrv-runas.keytab
    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true

    Dans certains cas, TSM peut renvoyer une erreur indiquant --force-keys. Si cette erreur s’affiche, réexécutez la commande en ajoutant le paramètre --force-keys à l’argument.

  5. Exécutez la commande TSM suivante pour appliquer les modifications à Tableau Server :

    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.

  6. Activez la délégation pour les connexions de données :

    Voir également

    Résoudre les problèmes liés à Kerberos

Merci de vos commentaires !Avis correctement envoyé. Merci