Utiliser Google OAuth pour l'authentification des utilisateurs dans Looker (Google Cloud Core)

Google OAuth est utilisé avec Identity and Access Management (IAM) pour authentifier les utilisateurs de Looker (Google Cloud core).

Lorsqu'ils utilisent OAuth pour l'authentification, Looker (Google Cloud Core) authentifie les utilisateurs via le protocole OAuth 2.0. Utilisez n'importe quel client OAuth 2.0 pour définir des identifiants d'autorisation lorsque vous créez une instance. Par exemple, cette page vous explique comment configurer l'authentification d'une instance Looker (Google Cloud Core) à l'aide de la console Google Cloud pour créer des identifiants OAuth.

Si une autre méthode d'authentification est la principale, Google OAuth est par défaut la méthode d'authentification de secours. Google OAuth est également la méthode d'authentification utilisée par Cloud Customer Care pour fournir une assistance.

Authentification et autorisation avec OAuth et IAM

Lorsqu'ils sont utilisés avec OAuth, les rôles IAM Looker (Google Cloud Core) fournissent les niveaux d'authentification et d'autorisation suivants pour toutes les instances Looker (Google Cloud Core) d'un projet Google Cloud donné. Attribuez l'un des rôles IAM suivants à chacun de vos comptes principaux, en fonction des niveaux d'accès que vous souhaitez leur accorder :

Rôle IAM Authentification Autorisation
Utilisateur de l'instance Looker (roles/looker.instanceUser)

Peut se connecter aux instances Looker (Google Cloud Core)

Lors de la première connexion à Looker (Google Cloud Core), le rôle Looker par défaut défini dans Rôles pour les nouveaux utilisateurs lui est attribué.

Vous ne pouvez pas accéder aux ressources Looker (Google Cloud Core) dans la console Google Cloud.

Lecteur Looker (roles/looker.viewer) peut se connecter aux instances Looker (Google Cloud Core) ; Lors de la première connexion à Looker (Google Cloud Core), le rôle Looker par défaut défini dans Rôles pour les nouveaux utilisateurs

Peut consulter la liste des instances Looker (Google Cloud Core) et les détails de l'instance dans la console Google Cloud
Administrateur Looker (roles/looker.admin) peut se connecter aux instances Looker (Google Cloud Core) ; Lors de la première connexion à Looker (Google Cloud Core), ce rôle (ou un rôle personnalisé incluant l'autorisation looker.instances.update) est défini par défaut sur le rôle Looker Administrateur dans l'instance

Peut effectuer toutes les tâches d'administration pour Looker (Google Cloud Core) dans la console Google Cloud

De plus, les comptes utilisateur disposant du rôle owner pour un projet peuvent se connecter et administrer toutes les instances Looker (Google Cloud Core) de ce projet. Ces utilisateurs se verront attribuer le rôle Administrateur dans Looker.

Si les rôles prédéfinis ne vous offrent pas l'ensemble des autorisations que vous souhaitez, vous pouvez également créer vos propres rôles personnalisés.

Les comptes Looker (Google Cloud Core) sont créés lors de la première connexion à une instance Looker (Google Cloud Core).

Configurer OAuth dans l'instance Looker (Google Cloud Core)

Dans l'instance Looker (Google Cloud Core), la page Google de la section Authentification du menu Administration vous permet de configurer certains paramètres OAuth Google.

Définir un rôle Looker par défaut dans l'instance Looker (Google Cloud Core)

Avant d'ajouter des utilisateurs, vous pouvez définir le rôle Looker par défaut qui sera attribué aux comptes utilisateur disposant du rôle IAM "Utilisateur de l'instance Looker" (roles/looker.instanceUser) ou du rôle IAM "Lecteur Looker" (roles/looker.viewer) lors de leur première connexion à une instance Looker (Google Cloud Core). Pour définir un rôle par défaut, procédez comme suit :

  1. Accédez à la page Google dans la section Authentification du menu Admin.
  2. Dans le paramètre Rôles pour les nouveaux utilisateurs, sélectionnez le rôle que vous souhaitez attribuer par défaut à tous les nouveaux utilisateurs. Ce paramètre contient la liste de tous les rôles par défaut et rôles personnalisés de l'instance Looker (Google Cloud Core).

Les comptes utilisateur dotés du rôle IAM d'administrateur Looker (roles/looker.admin) se verront attribuer le rôle Looker Administrateur, quel que soit le rôle sélectionné dans le paramètre Rôles pour les nouveaux utilisateurs. Si nécessaire, vous pouvez modifier le rôle d'administrateur.

Spécifier la méthode utilisée pour fusionner des utilisateurs OAuth avec un compte Looker (Google Cloud Core)

Dans le champ Merge Users Using (Fusionner les utilisateurs avec un compte utilisateur), spécifiez la méthode à utiliser pour fusionner une connexion OAuth initiale avec un compte utilisateur existant. Vous pouvez fusionner des utilisateurs à partir des systèmes suivants:

  • SAML
  • OIDC

Si vous disposez de plusieurs systèmes en place, vous pouvez en spécifier plusieurs dans ce champ pour la fusion. Looker (Google Cloud Core) recherche les utilisateurs dans les systèmes listés dans l'ordre dans lequel ils sont spécifiés. Par exemple, si vous avez d'abord créé des utilisateurs avec OIDC, puis utilisé SAML, Looker (Google Cloud Core) fusionnera d'abord avec OIDC, puis avec SAML.

Lorsqu'un utilisateur se connecte pour la première fois via OAuth, cette option connecte l'utilisateur à 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éé.

Ajouter des utilisateurs à une instance Looker (Google Cloud Core)

Une fois qu'une instance Looker (Google Cloud Core) a été créée, vous pouvez ajouter des utilisateurs via IAM. Pour ajouter des utilisateurs, procédez comme suit :

  1. Assurez-vous de disposer du rôle Administrateur de projet IAM ou d'un autre rôle vous permettant de gérer l'accès IAM.
  2. Accédez au projet de la console Google Cloud dans lequel se trouve l'instance Looker (Google Cloud Core).

  3. Accédez à la section IAM et Administration > IAM de la console Google Cloud.

  4. Sélectionnez Accorder l'accès.

  5. Dans la section Ajouter des comptes principaux, ajoutez un ou plusieurs des éléments suivants:

    • Adresse e-mail du compte Google
    • un groupe Google
    • Un domaine Google Workspace
  6. Dans la section Attribuer des rôles, sélectionnez l'un des rôles IAM prédéfinis Looker (Google Cloud Core) ou un rôle personnalisé que vous avez ajouté.

  7. Cliquez sur Enregistrer.

  8. Informez les nouveaux utilisateurs de Looker (Google Cloud Core) que l'accès a été accordé et redirigez-les vers l'URL de l'instance. Ils peuvent ensuite se connecter à l'instance, et leurs comptes seront créés. Aucune communication automatique ne sera envoyée.

Si vous modifiez le rôle IAM d'un utilisateur, celui-ci est propagé à l'instance Looker (Google Cloud Core) en quelques minutes. Si un compte utilisateur Looker existe déjà, le rôle Looker de cet utilisateur reste inchangé.

Tous les utilisateurs doivent être provisionnés en suivant les étapes IAM décrites précédemment, à une exception près : vous pouvez créer des comptes de service réservés à l'API Looker dans l'instance Looker (Google Cloud Core).

Se connecter à Looker (Google Cloud Core) avec OAuth

Lors de la première connexion, les utilisateurs seront invités à se connecter avec leur compte Google. Ils doivent utiliser le même compte que celui indiqué par l'administrateur Looker dans le champ Ajouter des comptes principaux lors de l'octroi de l'accès. Les utilisateurs verront l'écran de consentement OAuth configuré lors de la création du client OAuth. Une fois que les utilisateurs ont accepté l'écran de consentement, leurs comptes dans l'instance Looker (Google Cloud Core) sont créés et connectés.

Ensuite, les utilisateurs seront automatiquement connectés à Looker (Google Cloud Core), sauf si leur autorisation expire ou est révoquée par l'utilisateur. Dans ces scénarios, les utilisateurs verront à nouveau l'écran d'autorisation OAuth et seront invités à donner leur consentement.

Certains utilisateurs peuvent se voir attribuer des identifiants API pour récupérer un jeton d'accès à l'API. Si l'autorisation expire ou est révoquée pour ces utilisateurs, leurs identifiants d'API cessent de fonctionner. Tous les jetons d'accès aux API actuels cesseront également de fonctionner. Pour résoudre le problème, l'utilisateur doit réautoriser ses identifiants en se reconnectant à l'interface utilisateur de Looker (Google Cloud Core) pour chaque instance Looker (Google Cloud Core) concernée. Vous pouvez également utiliser des comptes de service réservés aux API pour éviter les échecs d'autorisation des identifiants pour les jetons d'accès aux API.

Suppression de l'accès OAuth à Looker (Google Cloud Core)

Si vous disposez d'un rôle qui vous permet de gérer l'accès IAM, vous pouvez supprimer l'accès à une instance Looker (Google Cloud Core) en révoquant le rôle IAM qui a accordé l'accès. Si vous supprimez le rôle IAM d'un compte utilisateur, la modification est propagée à l'instance Looker (Google Cloud Core) en quelques minutes. L'utilisateur ne pourra plus s'authentifier auprès de l'instance. Toutefois, le compte utilisateur apparaîtra toujours comme actif sur la page Utilisateurs. Pour supprimer le compte utilisateur de la page Utilisateurs, supprimez l'utilisateur dans l'instance Looker (Google Cloud Core).

Utiliser OAuth comme méthode d'authentification de secours

OAuth est la méthode d'authentification de secours lorsque SAML ou OIDC est la méthode d'authentification principale.

Pour configurer un protocole OAuth comme méthode de sauvegarde, accordez à chaque utilisateur Looker (Google Cloud Core) le rôle IAM approprié pour se connecter à l'instance.

Une fois la méthode de sauvegarde configurée, les utilisateurs y accèdent en procédant comme suit:

  1. Sélectionnez S'authentifier avec Google sur la page de connexion.
  2. Une boîte de dialogue s'affiche pour confirmer l'authentification Google. Sélectionnez Confirmer dans la boîte de dialogue.

Les utilisateurs peuvent ensuite se connecter avec leur compte Google. Lors de la première connexion avec OAuth, ils seront invités à accepter l'écran de consentement OAuth configuré lors de la création de l'instance.

Étape suivante