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 à des rôles et autorisations Looker.

Considérations liées à la planification

  • Envisagez d'utiliser l'option Connexion alternative pour les utilisateurs spécifiés pour 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 des configurations actuelles d'adresse e-mail et de mot de passe, de LDAP, de SAML ou de Google Auth. Vous pourrez le configurer lors du processus de configuration.
  • Looker n'est compatible qu'avec 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 n'est pas compatible avec 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 l'URL Looker à votre fournisseur OpenID Connect (OP).
  2. Obtenez les informations requises auprès de votre opérateur.

Configuration de Looker sur votre OP

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

Obtenir des informations de votre OP

Pour configurer Looker pour l'authentification OpenID Connect, vous devez obtenir les informations suivantes auprès de votre OP :

  • Un identifiant client et un code secret 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 des points de terminaison sur les attributs utilisateur Looker.

De nombreux OP fournissent des informations sur la configuration d'OpenID Connect sous la forme d'un document de découverte. Vous pouvez ainsi collecter tout ou partie des informations dont vous avez besoin pour configurer Looker pour OpenID Connect. Si vous n'avez pas accès à un document de découverte, vous devez obtenir les informations nécessaires auprès de votre opérateur de téléphonie ou de votre équipe 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. Cette information doit vous être fournie par votre opérateur.

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 indiquant à votre OP qui est le client. Cette valeur est souvent la même que celle de l'identifiant, mais elle peut être différente.

URL d'autorisation : URL de l'OP à partir de laquelle la séquence d'authentification commence. 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.

Champs d'application : liste des champs d'application utilisés par l'OP pour fournir des informations sur l'utilisateur à Looker, séparés par une virgule. 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 aux 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 nécessite un nom d'utilisateur et des informations de messagerie pour l'authentification des utilisateurs. 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.

Revendiquer un prénom : revendication utilisée par votre opérateur pour les prénoms des utilisateurs, par exemple 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'au premier espace comme prénom et tout ce qui suit comme nom.

Associations d'attributs

Vous pouvez éventuellement 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 pour 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 a été identifiée par votre opérateur dans le champ Claim (Revendication) et l'attribut utilisateur Looker avec lequel vous souhaitez l'associer dans le champ Looker User Attributes (Attributs utilisateur Looker).
  2. Cochez la case Required (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 de revendications et d'attributs.

Notez que certaines 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 pouvez demander à Looker 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 en miroir. 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 Refléter 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 peuvent être utilisés pour attribuer des rôles aux membres du groupe, définir des contrôles d'accès aux contenus et 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 d'utilisateurs, 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 sont pas appliquées aux utilisateurs existants et ne sont pas réappliquées si elles sont supprimées des utilisateurs après leur connexion initiale.

Activer la duplication des groupes OpenID Connect

Pour dupliquer vos groupes OpenID Connect dans Looker, activez le bouton Dupliquer les groupes OpenID Connect :

Revendication des groupes : saisissez la revendication utilisée par votre opérateur de plate-forme pour stocker les noms de groupes. Looker créera un groupe Looker pour chaque groupe OpenID Connect introduit dans le système par la revendication Groupes. Vous pouvez consulter ces groupes Looker sur la page Groupes de la section Administration de Looker. Les groupes peuvent être utilisés pour définir des contrôles d'accès aux contenus 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 sera affiché sur la page Groupes de la section Admin de Looker.

  3. Dans le champ à 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é de l'ensemble de champs de ce groupe.

Si vous modifiez un groupe miroir précédemment configuré dans cet écran, sa configuration changera, mais le groupe lui-même restera intact. Par exemple, vous pouvez modifier le nom personnalisé d'un groupe, ce qui changera son apparence sur la page Groupes de Looker, mais pas les rôles attribués ni les membres du groupe. 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 externe OpenID Connect associé au 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.

Toutes les modifications apportées à un groupe dupliqué seront appliquées 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 le niveau de flexibilité des administrateurs Looker lorsqu'ils configurent des groupes Looker et des utilisateurs qui ont été mis en miroir à partir d'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 continueront de refléter votre configuration OpenID Connect, mais vous pourrez gérer davantage de groupes et d'utilisateurs dans Looker, par exemple en ajoutant des utilisateurs OpenID Connect à des groupes spécifiques à Looker ou en attribuant des rôles Looker directement à des utilisateurs OpenID Connect.

Pour les nouvelles instances Looker ou les instances pour lesquelles aucun groupe miroir n'a été configuré précédemment, ces options sont désactivées par défaut.

Pour les instances Looker existantes qui ont configuré des groupes miroirs, 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 : si vous activez cette option, les administrateurs Looker ne pourront plus attribuer des rôles Looker directement aux utilisateurs OpenID Connect. Les utilisateurs OpenID Connect ne recevront des rôles que via les groupes dont ils sont membres. Si les utilisateurs OpenID Connect sont autorisés à faire partie de groupes Looker intégrés (non mis en miroir), ils peuvent toujours hériter de leurs rôles à la fois des groupes OpenID Connect mis en miroir et des groupes Looker intégrés. Les rôles attribués directement aux utilisateurs OpenID Connect 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 qui étaient auparavant 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ôles à partir de groupes autres qu'OpenID Connect : si vous activez cette option, les membres des groupes OpenID Connect clonés ne peuvent pas hériter des rôles des groupes Looker intégrés. Tous les utilisateurs OpenID Connect qui héritaient auparavant de rôles d'un groupe Looker parent perdront ces rôles lors de leur prochaine connexion.

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

Authentification nécessitant un rôle : 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ésactiver les groupes OpenID Connect miroirs

Si vous souhaitez arrêter la duplication de vos groupes OpenID Connect dans Looker, désactivez l'option Dupliquer les groupes OpenID Connect. Tous les groupes OpenID Connect miroirs vides seront supprimés.

Les groupes OpenID Connect en miroir non vides resteront utilisables pour la gestion de contenu et la création de rôles. Toutefois, vous ne pouvez pas ajouter ni supprimer d'utilisateurs dans des groupes OpenID Connect miroirs.

Configurer les options de migration

Comme expliqué dans cette section, Looker vous recommande d'activer la Connexion alternative et de fournir 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 Connexion alternative pour les utilisateurs spécifiés permet d'utiliser une autre adresse e-mail pour la connexion à l'aide de /login/email pour les administrateurs et les utilisateurs spécifiés disposant de l'autorisation login_special_email.

Cette option est utile en cas de problème de configuration OpenID Connect plus tard ou si vous devez prendre en charge certains utilisateurs qui ne disposent pas de comptes dans votre répertoire OpenID Connect.

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

Dans le champ Fusionner les utilisateurs à l'aide de, spécifiez la méthode à utiliser pour fusionner une première connexion Open ID Connect 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 utilisez plusieurs systèmes d'authentification, vous pouvez spécifier plusieurs systèmes à fusionner 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 à l'aide de l'adresse e-mail/du mot de passe Looker, puis que vous ayez activé LDAP, et que vous souhaitiez maintenant utiliser OpenID Connect. Dans l'exemple précédent, Looker fusionnerait d'abord les comptes par adresse e-mail et mot de passe, puis par 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. Si aucun compte utilisateur n'existe pour l'utilisateur, un compte utilisateur est créé.

Fusionner des utilisateurs lorsque vous utilisez 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. Utilisateurs fédérés les identité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.

Si la configuration ne remplit pas l'une de ces deux conditions, l'option Fusionner les utilisateurs à l'aide de n'est pas disponible.

Lors de la fusion, Looker recherche les enregistrements utilisateur 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 (Tester) 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 éléments suivants :

  • Si Looker a pu communiquer avec les différents terminaux et valider
  • Trace de la réponse du point de terminaison d'authentification
  • Informations utilisateur obtenues par Looker à partir du point de terminaison d'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 les erreurs éventuelles.

Conseils :

  • Vous pouvez exécuter ce test à tout moment, même si OpenID Connect est partiellement configuré. L'exécution d'un test peut être utile lors de la configuration pour identifier les paramètres à configurer.
  • Le test utilise les paramètres saisis sur la page Authentification OpenID Connect, même s'ils 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.