Aller au contenu principal

Configurer l’authentification pour Google analytique

info

Bêta

Cette fonctionnalité est en version bêta. Pour l’utiliser, un administrateur de Workspace doit activer Lakeflow Connect for Google analytique Aggregated à partir de la page Prévisualisations . Consultez Gérer les aperçus Databricks.

Pour autoriser le connecteur Google analytique Aggregated de Lakeflow Connect à s'authentifier, activez l'API Google analytique Data dans un projet Google Cloud et créez une clé de compte de service ou un client OAuth. Utilisez les identifiants récupérés au cours des étapes de cette page pour créer une connexion Unity Catalog dans Databricks.

Prérequis​

Pour utiliser le connecteur Google Analytics analytique, vous devez disposer des éléments suivants :

Configurer Google analytique​

Le connecteur agrégé Google analytique prend en charge deux méthodes d'authentification : un compte de service (machine à machine OAuth 2.0) et OAuth 2.0 utilisateur à machine (U2M). Choisissez-en une et suivez les étapes de cette méthode.

Activez la Google analytique Data API​

Activez l’API de données Google Analytics dans votre projet Google Cloud avant de créer des informations d’identification.

  1. Accédez à la console Google Cloud et connectez-vous.
  2. Sélectionnez ou créez un projet Google Cloud.
  3. Cliquez sur APIs et services > Bibliothèque .
  4. Recherchez Google analytique Data API et cliquez dessus.
  5. Cliquez sur Activer .

Option 1 : compte de service (recommandé)​

Utilisez cette option pour une authentification serveur à serveur sans connexion interactive de l’utilisateur. Un compte de service accède à Google analytique de deux manières :

  • Sa propre identité : le compte de service s'authentifie comme lui-même. Accordez au compte de service l'accès à chaque propriété.
  • Délégation à l’échelle du domaine : le compte de service usurpe l'identité d'un utilisateur de Google Workspace, et Google analytique autorise les demandes par rapport à l'accès à la propriété de cet utilisateur.

Sélectionnez-en un. Ne terminez pas à la fois Accorder au compte de service l'accès à vos propriétés et Configurer la délégation à l'échelle du domaine.

Créer un compte de service et une clé​

Pour la procédure complète, voir Créer des comptes de service et Créer et supprimer des clés de compte de service dans la documentation Google Cloud.

  1. Dans la console Google Cloud, cliquez sur IAM et administration > Comptes de service .
  2. Cliquez sur Créer un compte de service .
  3. Saisissez un nom de compte de service et, éventuellement, une description.
  4. Cliquez sur OK . Le compte de service n’a besoin d’aucun rôle IAM (Identity and Access Management) dans le projet.
  5. Sur la page Comptes de service , cliquez sur l’adresse e-mail du compte de service.
  6. Cliquez sur le tab Clés .
  7. Cliquez sur Ajouter une clé > Créer une nouvelle clé .
  8. Sélectionnez JSON et cliquez sur Créer . Votre navigateur download le fichier de clé. Vous ne pouvez pas le download à nouveau.
  9. Enregistrez le fichier de clé JSON en lieu sûr. Vous saisissez son contenu lorsque vous créez la connexion dans Databricks.

Si la création de clé est bloquée, la contrainte de politique d'organisation iam.disableServiceAccountKeyCreation est appliquée au projet. Un administrateur de politique d’organisation doit exempter le projet. Voir Créer et supprimer des clés de compte de service.

Accorder au compte de service l’accès à vos propriétés​

Ne suivez cette étape que si le compte de service s’authentifie avec sa propre identité. Cela signifie que vous laissez E-mail de l’utilisateur à usurper vide lorsque vous créez la connexion. Si vous utilisez la délégation à l’échelle du domaine, passez à Configurer la délégation à l’échelle du domaine. Dans ce cas, Google analytique autorise les requêtes sur la base de l’accès de l’utilisateur usurpé ; cette étape n’a donc aucun effet.

  1. Accédez à Google analytique et connectez-vous.
  2. Cliquez sur Admin .
  3. Sous Propriété , cliquez sur Gestion des accès .
  4. Cliquez sur + , puis sur Ajouter des utilisateurs .
  5. Saisissez l’adresse e-mail du compte de service, au format name@project-id.iam.gserviceaccount.com.
  6. Sélectionnez le rôle Spectateur .
  7. Cliquez sur Ajouter .
  8. Répétez cette opération pour chaque propriété ingérée par le pipeline.

Pour plus de détails, consultez Ajouter, modifier et supprimer des utilisateurs et des groupes d'utilisateurs dans la documentation Google.

Configurer la délégation à l’échelle du domaine​

Effectuez cette étape plutôt que d’ accorder l’accès au compte de service pour que le compte de service usurpe l’identité d’un utilisateur Google Workspace qui a déjà accès aux propriétés. Cette étape nécessite un accès de super administrateur Google Workspace. Pour connaître la procédure complète, reportez-vous à la section Configurer la délégation à l’échelle du domaine pour un compte de service dans la documentation Google.

  1. Dans la console Google Cloud, cliquez sur IAM & Admin > Service Accounts , puis cliquez sur le compte de service.
  2. Cliquez sur Afficher les paramètres avancés .
  3. Dans Délégation à l'échelle du domaine , copiez l' ID du client .
  4. Dans la console d'administration Google, cliquez sur Sécurité > Contrôle de l'accès et des données > Contrôles de l'API .
  5. Cliquez sur Gérer la délégation à l'échelle du domaine , puis sur Ajouter .
  6. Dans le champ ID client , collez l’ID client.
  7. Dans le champ Portées d'OAuth , entrez https://www.googleapis.com/auth/analytics.readonly. Pour les tables couvertes par cette portée, consultez Autorisations OAuth requises.
  8. Cliquez sur Autoriser .
  9. Notez l'adresse e-mail de l'utilisateur Google Workspace à usurper. Vérifiez que l’utilisateur possède au moins le rôle Visionneuse sur chaque propriété ingérée par le pipeline. Vous saisissez cet e-mail dans le champ E-mail de l’utilisateur à usurper lorsque vous créez la connexion.

Option 2 : OAuth U2M​

Utilisez cette option pour vous authentifier en tant qu'utilisateur Google via un flux de connexion interactif. La connexion utilise l'identité de cet utilisateur ; l'utilisateur doit donc disposer au moins du rôle Viewer sur chaque propriété que le pipeline ingère.

Configurer l’écran de consentement OAuth​

Pour obtenir la procédure complète, consultez Configurer l’écran de consentement OAuth dans la documentation Google.

  1. Dans la console Google Cloud, cliquez sur Plateforme Google Auth > Branding .
  2. Si la plateforme d’authentification Google n’est pas configurée, cliquez sur start .
  3. Saisissez un nom d'application et une adresse e-mail d'assistance aux utilisateurs.
  4. Sélectionnez un public : Interne ou Externe .
  5. Saisissez les informations de contact, acceptez la politique de données utilisateur des services Google API et terminez la configuration.
  6. Si vous avez sélectionné Externe , ajoutez les utilisateurs qui se connectent à la connexion en tant qu’utilisateurs de test dans la section Audience .

Si l’application utilise le type d’utilisateur Externe et que son statut de publication est Test , Google émet des jetons de refresh qui expirent dans 7 jours. La connexion s’arrête alors jusqu’à ce qu’un utilisateur se reconnecte. Voir Expiration du jeton refresh dans la documentation Google.

Créer un client OAuth​

Pour la procédure complète, voir Créer des identifiants d’accès dans la documentation Google.

  1. Dans la console Google Cloud, cliquez sur Plateforme Google Auth > Clients .
  2. Cliquez sur Créer un client .
  3. Pour Type d’application , sélectionnez Application web .
  4. Saisissez un nom pour le client.
  5. Sous URIs de redirection autorisés , cliquez sur Ajouter un URI et saisissez https://<databricks-workspace-url>/login/oauth/http.html. Remplacez <databricks-workspace-url> par l’URL de votre workspace Databricks.
  6. Cliquez sur « Créer ».
  7. Notez l’ ID client et le secret client . Vous les saisirez lors de la création de la connexion dans Databricks.

Étapes suivantes​

Créer une connexion Google analytique Aggregated dans Databricks. Voir Créer une connexion Google analytique Aggregated.