Paramètres d'administration – Authentification OpenID Connect

Les entreprises font appel à différents fournisseurs OpenID Connect (OP) pour se coordonner avec OpenID Connect (par exemple, Okta ou OneLogin). Il est possible que les termes utilisés dans les instructions de configuration suivantes et dans l'interface utilisateur de Looker ne correspondent pas directement à ceux utilisés par votre OP.

La page OpenID Connect de la section Authentification du menu "Administration" vous permet de configurer Looker pour authentifier les utilisateurs à l'aide du protocole OpenID Connect. Cette page décrit ce processus et inclut des instructions pour associer des groupes OpenID Connect aux rôles et autorisations Looker.

Considérations relatives à la planification

  • Envisagez d'utiliser l'option Autre connexion pour les utilisateurs spécifiés afin d'autoriser les administrateurs Looker à accéder à Looker sans OpenID Connect.
  • Ne désactivez pas l'authentification OpenID Connect lorsque vous êtes connecté à Looker à l'aide d'OpenID Connect, sauf si un autre compte de connexion est configuré. Sinon, vous pourriez bloquer l'accès à l'application.
  • Looker peut migrer des comptes existants vers OpenID Connect à l'aide d'adresses e-mail provenant de la configuration de messagerie et de mots de passe actuels, de LDAP, SAML ou Google Auth. Vous pourrez le configurer au cours du processus de configuration.
  • Looker ne prend en charge que l'authentification OpenID Connect à l'aide du flux avec code d'autorisation OpenID Connect. Les autres flux de code ne sont pas compatibles.
  • La spécification OpenID Connect inclut un mécanisme de découverte facultatif. Looker ne prend pas en charge ce mécanisme. Vous devez donc fournir des URL explicites dans la section Paramètres d'authentification OpenID Connect, comme décrit dans la section Configurer les paramètres d'authentification OpenID Connect.

Configurer OpenID Connect

Pour configurer la connexion entre Looker et OpenID Connect, procédez comme suit:

  1. Fournissez votre URL Looker à votre fournisseur OpenID Connect (OP).
  2. Obtenez les informations requises auprès de votre OP.

Configuration de Looker sur votre OP

Votre fournisseur OpenID Connect (OP) aura besoin de l'URL de votre instance Looker. Votre OP peut appeler cette URL URI de redirection ou URI de redirection de connexion, entre autres. Sur le site Web de votre OP, indiquez l'URL à laquelle vous accédez généralement à votre instance Looker dans un navigateur, suivie de /openidconnect. Exemple :https://instance_name.looker.com/openidconnect

Obtenir des informations de votre OP

Pour configurer Looker pour l'authentification OpenID Connect, vous devez fournir les informations suivantes à votre OP:

  • Identifiant et code secret du client. Ceux-ci sont généralement fournis par l'OP sur son site Web lorsque vous configurez l'URI de redirection.
  • Au cours du processus d'authentification OpenID Connect, Looker se connectera à trois terminaux différents : un point de terminaison d'authentification, un point de terminaison de jeton d'identification et un point de terminaison d'informations sur l'utilisateur. Vous aurez besoin des URL que votre OP utilise pour chacun de ces points de terminaison.
  • Chaque opération fournit des informations sur l'utilisateur sous la forme d'ensembles appelés champs d'application. Vous devez connaître le nom des niveaux d'accès que votre OP utilise. OpenID Connect nécessite le champ d'application openid, mais votre opération inclura probablement d'autres champs d'application, tels que email, profile et groups.
  • Dans OpenID Connect, les attributs qui stockent les données utilisateur sont appelés revendications. Vous devez savoir quelles revendications votre OP transmet à Looker pour vous fournir les informations utilisateur souhaitées sur votre instance Looker. Looker exige des revendications qui contiennent l'adresse e-mail et le nom, mais si vous avez d'autres attributs utilisateur, tels que le fuseau horaire ou le service, Looker devra également identifier les revendications contenant ces informations. Les revendications peuvent être incluses dans la réponse du point de terminaison "Informations utilisateur" ou du point de terminaison "Jeton d'ID". Looker peut mapper les revendications renvoyées par l'un ou l'autre des points de terminaison avec les attributs utilisateur Looker.

De nombreux opérations fournissent des informations sur la configuration d'OpenID Connect sous la forme d'un document de découverte, ce qui vous permet de recueillir tout ou partie des informations dont vous aurez besoin pour configurer Looker pour OpenID Connect. Si vous n'avez pas accès à un document de découverte, vous devez demander les informations nécessaires à votre équipe chargée des opérations ou d'authentification interne.

La section suivante provient d'un exemple de document de découverte:

{
  "issuer": "https://accounts.google.com",
  "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
  "token_endpoint": "https://www.googleapis.com/oauth2/v4/token",
  "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo",
  "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke",
  "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
  "response_types_supported": [
    "code",
    "token",
    "id_token",
    "code token"
    "code id_token",
    "token id_token",
    "code token id_token",
    "none"
  ],
  "subject_types_supported": [
    "public"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "scopes_supported": [
    "openid",
    "email",
    "profile"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_post",
    "client_secret_basic"
  ],
  "claims_supported": [
    "aud",
    "email",
    "email_verified",
    "exp",
    "family_name",
    "given_name",
    "iat",
    "iss",
    "locale",
    "name",
    "picture",
    "sub"
  ],

Configurer les paramètres d'authentification OpenID Connect

Utilisez les informations de configuration obtenues dans le document de découverte de votre OP, votre OP ou votre équipe d'authentification interne pour saisir les paramètres de connexion dans les champs suivants:

Identifiant: l'identifiant client unique pour votre instance Looker. Il doit vous être fourni par votre OP.

Secret: clé code secret du client propre à votre instance Looker. Il doit vous être fourni par votre OP.

Émetteur: URL sécurisée qui identifie votre OP.

Audience: identifiant qui indique à votre opération l'identité du client. Cette valeur est souvent identique à la valeur de l'identifiant, mais elle peut être différente.

URL d'autorisation: URL de l'opération où commence la séquence d'authentification. Souvent appelé authorization_endpoint dans un document de découverte.

Token URL (URL du jeton) : l'URL où Looker récupère un jeton OAuth une fois l'autorisation accordée. Souvent appelé token_endpoint dans un document de découverte.

User Info URL (URL des informations sur l'utilisateur) : URL permettant à Looker de récupérer des informations détaillées sur l'utilisateur. Souvent appelé userinfo_endpoint dans un document de découverte.

Scopes (Champs d'application) : liste des champs d'application séparés par une virgule utilisés par l'OP pour fournir des informations sur l'utilisateur à Looker. Vous devez inclure le champ d'application openid et tous ceux qui incluent les informations requises par Looker, y compris les adresses e-mail, les noms d'utilisateur et les attributs utilisateur configurés sur votre instance Looker.

Configurer les paramètres d'attributs utilisateur

Dans cette section, vous allez mapper les revendications d'OP aux attributs utilisateur de Looker.

Dans la section Paramètres d'attribut utilisateur, saisissez le nom de la revendication de votre OP qui contient les informations correspondantes dans chaque champ. Cela indique à Looker comment mapper ces revendications avec les informations utilisateur de Looker au moment de la connexion. Looker n'est pas spécifique en termes de structure des revendications. Il est important que les informations saisies ici correspondent à la façon dont les revendications sont définies dans votre OP.

Revendications standards

Looker requiert le nom d'utilisateur et l'adresse e-mail pour l'authentification de l'utilisateur. Saisissez les informations de réclamation correspondant à votre OP dans cette section:

Revendication par e-mail: revendication utilisée par votre OP concernant les adresses e-mail d'utilisateurs, telles que email.

Revendication de prénom: revendication utilisée par votre OP concernant les prénoms des utilisateurs, comme given_name.

Revendication de nom de famille: revendication utilisée par votre OP concernant les noms de famille des utilisateurs, tels que family_name.

Notez que certains opérateurs utilisent une seule revendication pour les noms, plutôt que de séparer les prénoms et les noms de famille. Si c'est votre cas, saisissez la revendication qui stocke les noms dans les champs First Name Claim (Revendication de prénom) et Last Name Claim (Revendication de nom de famille). Pour chaque utilisateur, Looker utilisera le contenu jusqu'à la première espace comme prénom et tout ce qui suit comme nom de famille.

Associations d'attributs

Si vous le souhaitez, vous pouvez utiliser les données de vos revendications OpenID Connect pour renseigner automatiquement les valeurs dans les attributs utilisateur de Looker lorsqu'un utilisateur se connecte. Par exemple, si vous avez configuré OpenID Connect pour établir des connexions spécifiques à l'utilisateur avec votre base de données, vous pouvez associer vos revendications OpenID Connect aux attributs utilisateur Looker afin de rendre vos connexions de base de données spécifiques à l'utilisateur dans Looker.

Pour associer des revendications aux attributs utilisateur Looker correspondants:

  1. Saisissez la revendication telle qu'elle est identifiée par votre OP dans le champ Claim (Revendication) et l'attribut utilisateur Looker avec lequel vous souhaitez l'associer dans le champ Looker User Attributes (Attributs de l'utilisateur Looker).
  2. Cochez la case Obligatoire si vous souhaitez bloquer les connexions de tous les comptes utilisateur dont le champ de revendication n'a pas de valeur.
  3. Cliquez sur + et répétez ces étapes pour ajouter d'autres paires revendication/attribut.

Notez que certains opérations peuvent comporter des revendications imbriquées. Exemple :

"zoneinfo": "America/Los Angeles",
"phone_number": "555-1235",
"address": {
  "street_address": "1234 Main Street",
  "locality": "Anyton",
  "region": "IL",
  "postal_code": "60609",
  "country": "US"
},

Dans l'exemple précédent, la revendication locality est imbriquée dans la revendication address. Pour les revendications imbriquées, spécifiez les revendications parentes et imbriquées, en les séparant par une barre oblique ( /). Pour configurer Looker pour la revendication locality de l'exemple, vous devez saisir address/locality.

Groupes et rôles

Vous avez la possibilité de créer des groupes qui reflètent vos groupes OpenID Connect gérés en externe, puis d'attribuer des rôles Looker aux utilisateurs en fonction de leurs groupes OpenID Connect dupliqués. Lorsque vous apportez des modifications à votre groupe OpenID Connect, ces modifications sont automatiquement appliquées à la configuration du groupe Looker.

La duplication des groupes OpenID Connect vous permet d'utiliser votre annuaire OpenID Connect défini en externe pour gérer les groupes et les utilisateurs Looker. Vous pouvez ainsi gérer votre appartenance à un groupe pour plusieurs outils Software as a Service (SaaS), comme Looker, en un seul et même endroit.

Si vous activez Mirror OpenID Connect Groups (Mettre en miroir les groupes OpenID Connect), Looker créera un groupe Looker pour chaque groupe OpenID Connect introduit dans le système. Ces groupes Looker s'affichent sur la page Groupes de la section Administration de Looker. Les groupes permettent d'attribuer des rôles à ses membres, de définir des contrôles d'accès au contenu et d'attribuer des attributs utilisateur.

Groupes et rôles par défaut

Par défaut, l'option Dupliquer les groupes OpenID Connect est désactivée. Dans ce cas, vous pouvez définir un groupe par défaut pour les nouveaux utilisateurs OpenID Connect. Dans les champs Nouveaux groupes d'utilisateurs et Nouveaux rôles utilisateur, saisissez le nom des groupes ou rôles Looker auxquels vous souhaitez attribuer de nouveaux utilisateurs Looker lorsqu'ils se connectent pour la première fois à Looker:

Ces groupes et rôles sont appliqués aux nouveaux utilisateurs lors de leur première connexion. Elles ne s'appliquent pas aux utilisateurs préexistants et ne sont pas réappliquées si elles sont supprimées des utilisateurs après leur première connexion.

Activation de la mise en miroir de groupes OpenID Connect

Pour dupliquer vos groupes OpenID Connect dans Looker, activez l'option Dupliquer les groupes OpenID Connect:

Revendication de groupes: saisissez la revendication que votre OP utilise pour stocker les noms des groupes. Looker créera un groupe Looker pour chaque groupe OpenID Connect introduit dans le système par la revendication Groupes. Ces groupes Looker s'affichent sur la page Groupes de la section Administration de Looker. Les groupes peuvent être utilisés pour définir les contrôles d'accès au contenu et attribuer des attributs utilisateur.

Nom de groupe préféré / Rôles / Nom de groupe OpenID Connect: cet ensemble de champs vous permet d'attribuer un nom de groupe personnalisé, ainsi qu'un ou plusieurs rôles attribués au groupe OpenID Connect correspondant dans Looker:

  1. Saisissez le nom du groupe OpenID Connect dans le champ OpenID Connect Group Name (Nom du groupe OpenID Connect). Les utilisateurs OpenID Connect inclus dans le groupe OpenID Connect seront ajoutés au groupe dupliqué dans Looker.

  2. Saisissez un nom personnalisé pour le groupe dupliqué dans le champ Nom personnalisé. Il s'agit du nom qui s'affichera sur la page Groupes de la section Admin de Looker.

  3. Dans le champ situé à droite du champ Nom personnalisé, sélectionnez un ou plusieurs rôles Looker qui seront attribués à chaque utilisateur du groupe.

  4. Cliquez sur + pour ajouter d'autres ensembles de champs afin de configurer d'autres groupes en miroir. Si vous avez configuré plusieurs groupes et que vous souhaitez supprimer la configuration d'un groupe, cliquez sur X à côté des champs de ce groupe.

Si vous modifiez un groupe dupliqué précédemment configuré sur cet écran, la configuration du groupe est modifiée, mais le groupe lui-même reste intact. Par exemple, vous pouvez modifier le nom personnalisé d'un groupe, ce qui modifiera la façon dont le groupe apparaît sur la page Groupes de Looker, mais ne modifiera pas les rôles attribués ni ses membres. Modifier l'ID de groupe OpenID Connect permet de conserver le nom et les rôles du groupe, mais les membres du groupe sont réaffectés en fonction des utilisateurs membres du groupe OpenID Connect externe possédant le nouvel ID de groupe OpenID Connect.

Si vous supprimez un groupe sur cette page, il ne sera plus dupliqué dans Looker et ses membres ne se verront plus attribuer les rôles dans Looker via ce groupe.

Toute modification apportée à un groupe dupliqué sera appliquée aux utilisateurs de ce groupe lors de leur prochaine connexion à Looker.

Gestion avancée des rôles

Si vous avez activé le bouton bascule Mirror OpenID Connect Groups (Mettre en miroir les groupes de connexion OpenID), Looker affiche ces paramètres. Les options de cette section déterminent la flexibilité dont disposent les administrateurs Looker lorsqu'ils configurent des groupes et des utilisateurs Looker qui ont été mis en miroir depuis OpenID Connect.

Par exemple, si vous souhaitez que votre groupe Looker et votre configuration utilisateur correspondent exactement à votre configuration OpenID Connect, activez ces options. Lorsque les trois premières options sont activées, les administrateurs Looker ne peuvent pas modifier l'appartenance aux groupes en miroir et ne peuvent attribuer des rôles aux utilisateurs que via les groupes en miroir OpenID Connect.

Si vous souhaitez bénéficier d'une plus grande flexibilité pour personnaliser davantage vos groupes dans Looker, désactivez ces options. Vos groupes Looker refléteront toujours votre configuration OpenID Connect, mais vous pourrez effectuer d'autres opérations de gestion des groupes et des utilisateurs dans Looker, comme ajouter des utilisateurs OpenID Connect à des groupes spécifiques à Looker ou attribuer des rôles Looker directement aux utilisateurs OpenID Connect.

Pour les nouvelles instances Looker ou les instances qui n'ont pas de groupes mis en miroir précédemment configurés, ces options sont désactivées par défaut.

Pour les instances Looker existantes qui ont configuré des groupes mis en miroir, ces options sont activées par défaut.

La section Gestion avancée des rôles contient les options suivantes:

Empêcher les utilisateurs OpenID Connect individuels de recevoir des rôles directs: l'activation de cette option empêche les administrateurs Looker d'attribuer des rôles Looker directement aux utilisateurs OpenID Connect. Les utilisateurs OpenID Connect recevront des rôles uniquement s'ils sont membres de groupes. Si les utilisateurs OpenID Connect sont autorisés à rejoindre des groupes Looker intégrés (et non dupliqués), ils peuvent toujours hériter de leurs rôles des groupes OpenID Connect mis en miroir et des groupes Looker intégrés. Les rôles des utilisateurs OpenID Connect auxquels des rôles ont été attribués directement seront supprimés lors de leur prochaine connexion.

Si cette option est désactivée, les administrateurs Looker peuvent attribuer des rôles Looker directement aux utilisateurs OpenID Connect, comme s'ils avaient été configurés directement dans Looker.

Empêcher l'adhésion directe dans les groupes non OpenID Connect: l'activation de cette option empêche les administrateurs Looker d'ajouter directement des utilisateurs OpenID Connect aux groupes Looker intégrés. Si les groupes OpenID Connect dupliqués sont autorisés à être membres des groupes Looker intégrés, les utilisateurs OpenID Connect peuvent conserver leur adhésion à n'importe quel groupe Looker parent. Tous les utilisateurs OpenID Connect précédemment affectés à des groupes Looker intégrés seront supprimés de ces groupes lors de leur prochaine connexion.

Si cette option est désactivée, les administrateurs Looker peuvent ajouter des utilisateurs OpenID Connect directement aux groupes Looker intégrés.

Empêcher l'héritage de rôle des groupes Connect non OpenID: l'activation de cette option empêche les membres des groupes OpenID Connect mis en miroir d'hériter des rôles des groupes Looker intégrés. Tous les utilisateurs OpenID Connect qui ont hérité des rôles d'un groupe Looker parent le perdront lors de leur prochaine connexion.

Si cette option est désactivée, les groupes OpenID Connect dupliqués ou les utilisateurs OpenID Connect ajoutés en tant que membres d'un groupe Looker intégré héritent des rôles attribués au groupe Looker parent.

Rôle d'authentification requis: si cette option est activée, un rôle doit être attribué aux utilisateurs OpenID Connect. Les utilisateurs OpenID Connect auxquels aucun rôle n'a été attribué ne pourront pas se connecter à Looker.

Si cette option est désactivée, les utilisateurs OpenID Connect peuvent s'authentifier auprès de Looker même si aucun rôle ne leur est attribué. Un utilisateur auquel aucun rôle ne sera attribué ne pourra pas consulter les données ni effectuer d'actions dans Looker, mais il pourra s'y connecter.

Désactivation des groupes OpenID Connect dupliqués

Si vous souhaitez arrêter la duplication de vos groupes OpenID Connect dans Looker, désactivez l'option Dupliquer les groupes OpenID Connect. Tout groupe OpenID Connect en miroir sera supprimé.

Les groupes OpenID Connect en miroir non vides resteront utilisables pour la gestion de contenu et la création de rôles. Toutefois, il n'est pas possible d'ajouter des utilisateurs à des groupes OpenID Connect dupliqués, ni d'en supprimer.

Configurer les options de migration

Comme expliqué dans cette section, Looker vous recommande d'activer l'autre connexion et de proposer une stratégie de fusion pour les utilisateurs existants.

Autres informations de connexion pour les utilisateurs spécifiés

Les connexions par e-mail et mot de passe Looker sont toujours désactivées pour les utilisateurs standards lorsque l'authentification OpenID Connect est activée. L'option Autre connexion pour les utilisateurs spécifiés permet d'utiliser /login/email pour les administrateurs et les utilisateurs spécifiés disposant de l'autorisation login_special_email.

L'activation de cette option est utile en cas de problème lors de la configuration d'OpenID Connect ou si vous devez prendre en charge des utilisateurs qui ne possèdent pas de compte dans votre annuaire OpenID Connect.

Spécifier la méthode utilisée pour fusionner les utilisateurs OpenID Connect avec un compte Looker

Dans le champ Merge Users Using (Fusionner les utilisateurs avec), spécifiez la méthode à utiliser pour fusionner une connexion Open ID Connect qui a été créée pour la première fois avec un compte utilisateur existant. Vous pouvez fusionner des utilisateurs à partir des systèmes suivants:

  • Adresse e-mail/mot de passe Looker (non disponible pour Looker (Google Cloud Core))
  • Google
  • LDAP (non disponible pour Looker (Google Cloud Core))
  • SAML

Si vous disposez de plusieurs systèmes d'authentification, vous pouvez en spécifier plusieurs dans ce champ. Looker recherche les utilisateurs dans les systèmes répertoriés dans l'ordre dans lequel ils ont été spécifiés. Par exemple, supposons que vous ayez créé des utilisateurs avec une adresse e-mail/un mot de passe Looker, que vous ayez activé LDAP et que vous souhaitiez maintenant utiliser OpenID Connect. Dans l'exemple précédent, Looker fusionne d'abord l'adresse e-mail et le mot de passe, puis le LDAP.

Lorsqu'un utilisateur se connecte pour la première fois avec OpenID Connect, cette option le connecte à son compte existant en recherchant le compte associé à une adresse e-mail correspondante. S'il n'en existe aucun, un nouveau compte utilisateur est créé.

Fusion d'utilisateurs lors de l'utilisation de Looker (Google Cloud Core)

Lorsque vous utilisez Looker (Google Cloud Core) et OpenID Connect, la fusion fonctionne comme décrit dans la section précédente. Toutefois, cela n'est possible que si l'une des deux conditions suivantes est remplie:

  • Condition 1: les utilisateurs s'authentifient auprès de Looker (Google Cloud Core) à l'aide de leurs identités Google via le protocole OpenID Connect.
  • Condition 2: avant de sélectionner l'option de fusion, vous avez effectué les deux étapes suivantes:

    1. Les identités des utilisateurs fédérés dans Google Cloud à l'aide de Cloud Identity.
    2. Configurez l'authentification OAuth comme méthode d'authentification de secours à l'aide des utilisateurs fédérés.

Dans le cas contraire, l'option Fusionner les utilisateurs avec ne sera pas disponible.

Lors de la fusion, Looker recherche les enregistrements d'utilisateurs qui partagent exactement la même adresse e-mail.

Tester l'authentification des utilisateurs

Lorsque vous spécifiez cette configuration, cliquez sur le bouton Test pour tester votre configuration OpenID Connect.

Les tests sont redirigés vers les points de terminaison et ouvrent un nouvel onglet de navigateur. L'onglet affiche les informations suivantes:

  • Si Looker a pu communiquer avec les différents terminaux et valider
  • Trace de la réponse du point de terminaison d'authentification
  • Informations sur l'utilisateur que Looker obtient du point de terminaison des informations utilisateur
  • Versions décodées et brutes du jeton d'ID reçu

Vous pouvez utiliser ce test pour vérifier que les informations reçues des différents points de terminaison sont correctes et pour résoudre d'éventuelles erreurs.

Conseils :

  • Vous pouvez exécuter ce test à tout moment, même si OpenID Connect est partiellement configuré. Il peut être utile d'exécuter un test lors de la configuration pour identifier les paramètres qui doivent être configurés.
  • Le test utilise les paramètres saisis sur la page OpenID Connect Authentication (Authentification OpenID Connect), même si ces paramètres n'ont pas été enregistrés. Le test n'affecte ni ne modifie aucun des paramètres de cette page.

Enregistrer et appliquer les paramètres

Une fois que vous avez saisi vos informations et que tous les tests ont réussi, cochez la case J'ai confirmé la configuration ci-dessus et je souhaite l'activer de manière globale, puis cliquez sur Mettre à jour les paramètres pour enregistrer.