OpenID Connect

Vous pouvez configurer Tableau Server de manière à ce qu'il prenne en charge OpenID pour l'authentification SSO (Single Sign-on). OpenID Connect est un protocole d'authentification standard qui permet aux utilisateurs de s'authentifier auprès d'un fournisseur d'identité (IdP) tel que Google. Après s'être correctement authentifiés auprès de leur IdP, ils sont automatiquement authentifiés auprès de Tableau Server.

La configuration d'OpenID Connect implique plusieurs étapes. Les rubriques de cette section fournissent des informations générales sur l'utilisation de Tableau Server avec OpenID Connect et proposent une procédure pour configurer l'IdP et Tableau Server.

Présentation de l'authentification

Cette section décrit le processus d'authentification OpenID Connect avec Tableau Server.

Étape 1 : Un utilisateur tente de se connecter à Tableau Server depuis un ordinateur client.

Étape 2 : Tableau Server redirige la demande d'authentification vers la passerelle de l'IdP.

Étape 3 : L'utilisateur est invité à s'authentifier et l'authentification auprès de l'IdP réussit. L'IdP répond par une URL de redirection vers Tableau Server. Un code d'autorisation pour l'utilisateur est fourni avec l'URL de redirection.

Étape 4 : Le client est redirigé vers Tableau Server et présente le code d'autorisation.

Étape 5 : Tableau Server présente le code d'autorisation du client à l'IdP ainsi que ses propres identifiants client. Tableau Server est également client de l'IdP. Cette étape a pour but de prévenir les attaques d'usurpation d'identité ou les attaques de l'homme du milieu.

Étape 6 : L'IdP renvoie un jeton d'accès et un jeton d'ID à Tableau Server.

  • Validation du jeton Web JSON (JWT) : par défaut, Tableau Server procède à la validation du jeton JWT de l'IdP. Lors de la découverte, Tableau Server récupère les clés publiques spécifiées par jwks_uri dans le document de découverte de configuration de l'IdP. Tableau Server valide la date d'expiration du jeton d'ID puis vérifie la signature Web JSON (JWS), l'émetteur (IdP) et l'ID du client. Pour en savoir plus sur le processus JWT, consultez la documentation OpenID, 10. Signatures et cryptage(Le lien s’ouvre dans une nouvelle fenêtre), et norme proposée par l'IETF, Jeton Web JSON(Le lien s’ouvre dans une nouvelle fenêtre). Nous vous recommandons de laisser la validation JWT activée, à moins que votre IdP ne la prenne pas en charge.

  • L'ID de jeton est un ensemble de paires de clés d'attributs pour l'utilisateur. Les paires de clés sont appelées revendications. Voici un exemple de revendication IdP pour un utilisateur :

    "sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
    "email"                   : "alice@tableau.com",
    "email_verified"          : true,
    "name"                    : "Alice Adams",
    "given_name"              : "Alice",
    "family_name"             : "Adams",
    "phone_number"            : "+359 (99) 100200305",
    "profile"                 : "https://tableau.com/users/alice"			

Étape 7 : Tableau Server identifie l'utilisateur à partir des revendications de l'IdP et termine la demande d'authentification à partir de l'étape 1. Tableau Server recherche l'enregistrement du compte de l'utilisateur stocké dans le référentiel en faisant correspondre le « sub » (identifiant du sujet) pour identifier le compte utilisateur correct. Si aucun compte utilisateur n'est stocké avec la valeur de sous-réclamation, Tableau Server recherche un nom d'utilisateur dans le référentiel qui correspond à la réclamation « email » de l'IdP. Lorsqu'une correspondance de nom d'utilisateur est trouvée, Tableau Server écrit la sous-revendication correspondante sur l'enregistrement de l'utilisateur dans le référentiel. Vous pouvez configurer Tableau Server de manière à ce qu'il utilise différentes revendications pour ce processus. Voir Configuration requise pour utiliser OpenID Connect

Étape 8 : Tableau Server autorise l'utilisateur.

Fonctionnement de Tableau Server avec OpenID Connect

OpenID Connect est un protocole flexible qui prend en charge de nombreuses options pour les informations qui sont échangées entre un fournisseur de services (ici, Tableau Server) et un IdP. La liste suivante fournit des détails sur l'implémentation Tableau Server d'OpenID Connect. Ces détails peuvent vous aider à comprendre quels types d'informations Tableau Server envoie et attend, et comment configurer un IdP.

  • Tableau Server prend uniquement en charge le flux de code d'autorisation OpenID, comme décrit dans les spécifications finales d'OpenID Connect(Le lien s’ouvre dans une nouvelle fenêtre).

  • Tableau Server repose sur l'utilisation de la découverte ou d'une URL de fournisseur pour récupérer les métadonnées OpenID Provider. Vous pouvez sinon héberger un document de découverte statique sur Tableau Server. Pour plus d'informations, consultez Configuration de Tableau Server pour OpenID Connect.

  • Tableau Server prend uniquement en charge la méthode d'authentification du client client_secret_jwt spécifiée dans les spécifications d'OpenID Connect. De plus, Tableau Server prend uniquement en charge le cryptage asymétrique RSA pour traiter les jetons Web JSON (JWT). Vous pouvez toutefois désactiver la validation JWT. Consultez tsm authentication openid <commandes>.

  • Tableau Server attend une valeur kid dans l'en-tête JOSE de l'attribut id_token. Cette valeur est mise en correspondance avec l'une des clés trouvées dans le document JWK Set, dont l'URI est spécifiée par la valeur jwks_uri dans le document de découverte d'OpenID. Une valeur kid doit être présente même si le document JWK Set ne comporte qu'une seule clé.

  • Tableau Server inclut la prise en charge d'OpenID pour le paramètre x5c de JWK ou pour l'utilisation des certificats X.509.

  • Tableau Server ignore les paramètres proxy configurés sur le système d’exploitation et envoie toutes les demandes OpenID directement à l’IdP. Vous ne pouvez pas configurer OpenID pour honorer les paramètres proxy du système d’exploitation local. Tableau Server doit être en mesure de communiquer avec Internet.

Autres articles de cette section

Merci de vos commentaires !