Configurer un compte de service Google Cloud pour Looker Studio

Il s'agit d'un compte Google spécial destiné à représenter un utilisateur non humain qui peut s'authentifier et obtenir les autorisations permettant d'accéder aux données des produits et des API Google. Au lieu de déléguer l'accès à l'aide des identifiants du propriétaire ou d'obliger chaque lecteur d'un rapport d'accéder aux données à l'aide de ses identifiants, Looker Studio peut utiliser un compte de service pour accéder aux données.

Remarque : Les identifiants du compte de service ne sont disponibles que pour les sources de données BigQuery.

En savoir plus sur les comptes de service

Avantages de l'utilisation d'un compte de service avec Looker Studio

Il existe plusieurs avantages à utiliser un compte de service plutôt que les identifiants d'un utilisateur individuel :

  • Les sources de données qui utilisent des identifiants de compte de service restent opérationnelles si le créateur quitte votre entreprise.
  • Les identifiants de compte de service permettent d'accéder aux données associées à un périmètre VPC Service Controls utilisant des règles relatives aux appareils.
  • Les fonctionnalités automatisées telles que l'envoi planifié d'e-mails et l'extraction planifiée des données sont compatibles avec les sources de données associées à un périmètre VPC Service Controls. (Pour connaître une mise en garde importante, consultez la section Limites.)
  • Vous pouvez créer des règles d'entrée et de sortie pour autoriser le compte de service à accéder aux ressources et aux clients protégés par les périmètres de service, et inversement.

Rôles requis

  • Pour obtenir l'agent de service Looker Studio, vous devez être un utilisateur Google Workspace ou Cloud Identity.
  • Pour configurer un compte de service, vous devez disposer du rôle Administrateur de compte de service (roles/iam.serviceAccountAdmin) ou Créateur de compte de service (roles/iam.serviceAccountCreator) dans votre projet Google Cloud . En savoir plus sur les rôles de compte de service
  • Pour configurer le compte de service afin qu'il puisse accéder à une table ou à un ensemble de données BigQuery, vous devez disposer du rôle Propriétaire de données BigQuery (roles/bigquery.dataOwner) sur la table ou l'ensemble de données, ou d'un autre rôle qui vous accorde l'autorisation bigquery.datasets.setIamPolicy.

Instructions de configuration

Pour configurer un compte de service qui donne accès aux données BigQuery, procédez comme suit :

  1. Obtenez l'agent de service Looker Studio. Dans cette étape, vous allez copier l'adresse e-mail de l'agent de service pour l'utiliser à l'étape suivante. Cette adresse est créée automatiquement pour vous par Looker Studio.
  2. Créez un compte de service pour Looker Studio. Dans cette étape, vous allez créer l'utilisateur non humain qui accédera aux données.
  3. Autorisez l'agent de service Looker Studio à accéder à votre compte de service. Au cours de cette étape, vous allez attribuer à l'agent de service le rôle requis sur le compte de service.
  4. Accorder des rôles utilisateur Dans cette étape, vous allez attribuer à vos utilisateurs le rôle requis pour qu'ils puissent créer des sources de données qui utilisent les identifiants du compte de service.
  5. Autorisez le compte de service à accéder à vos données BigQuery. Dans cette étape, vous allez attribuer au compte de service le rôle requis pour qu'il puisse accéder à une table ou à un ensemble de données BigQuery.

Étape 1 : Obtenez l'agent de service Looker Studio

Pour autoriser le compte de service à accéder à vos données, vous devez fournir l'agent de service Looker Studio de votre organisation. Vous pouvez obtenir l'agent de service à partir d'une page d'aide dans Looker Studio :

  1. Accédez à la page d'aide de l'agent de service Looker Studio.
  2. Copiez l'adresse e-mail de l'agent de service affichée sur cette page.

Étape 2 : Créer un compte de service pour Looker Studio

Consultez la documentation IAM pour savoir comment créer un compte de service.Google Cloud Vous pouvez utiliser la console Google Cloud ou la ligne de commande Cloud Shell pour créer le compte de service.

Console

  1. Dans la console Google Cloud , accédez à la page Créer un compte de service.

    Accéder à la page "Créer un compte de service"

  2. Sélectionnez un projet.
  3. Saisissez le nom du compte de service à afficher dans la console Google Cloud .

    La console Google Cloud génère un ID de compte de service basé sur ce nom. Si nécessaire, modifiez l'ID dès maintenant. Vous ne pourrez pas le modifier par la suite.

  4. Facultatif : saisissez une description du compte de service.
  5. Cliquez sur CRÉER ET CONTINUER.
  6. Dans Autorisations, accordez au compte de service le rôle IAM Utilisateur de tâche BigQuery dans le projet contenant les données auxquelles vous souhaitez vous connecter dans Looker Studio. Notez que ce projet peut être différent de celui dans lequel vous avez créé le compte de service.
  7. Cliquez sur Continuer.
  8. Dans le champ Rôle utilisateurs du compte de service, ajoutez les utilisateurs autorisés à se servir de ce compte de service afin de fournir des identifiants pour leurs sources de données. Si vous ne souhaitez pas ajouter des utilisateurs dès maintenant, vous pouvez le faire ultérieurement en suivant les instructions de la section Attribuer des rôles utilisateur.
  9. Cliquez sur OK pour enregistrer le compte de service et revenir à la page de votre projet qui regroupe les comptes de service.

gcloud

Suivez les étapes générales décrites sous Cloud Shell dans la rubrique Créer et gérer des comptes de service.

  1. Ouvrez Cloud Shell.
  2. Sélectionnez un projet, si nécessaire.
  3. Pour créer le compte de service, exécutez la commande gcloud iam service-accounts create. Vous pouvez utiliser le nom de compte, la description et le nom à afficher de votre choix.

Exemple :

gcloud iam service-accounts create looker-studio-service-account \
--description="Use for Looker Studio access to BigQuery"  \
--display-name="LS_BQ"
  1. Pour accéder aux données BigQuery sur le projet Google Cloud que vous souhaitez utiliser avec Looker Studio, accordez l'autorisationbigquery.jobs.createau compte de service dans ce projet. Pour ce faire, vous pouvez octroyer le rôle IAM Utilisateur de tâche BigQuery.

    En outre, accordez au compte de service les autorisations bigquery.tables.getData et bigquery.tables.get sur le projet ou l'ensemble de données que vous souhaitez utiliser avec Looker Studio. Pour ce faire, vous pouvez accorder le rôle Lecteur de données BigQuery (roles/bigquery.dataViewer).

    Pour attribuer ces rôles, exécutez la commande gcloud projects add-iam-policy-binding. Dans les exemples suivants, remplacez PROJECT_ID par l'ID de votre projet.

    Exemple : attribuer le rôle "Utilisateur de job BigQuery"

    gcloud projects add-iam-policy-binding PROJECT_ID\
    --member ="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/bigquery.jobUser"
    

    Exemple : attribuer le rôle Lecteur de données BigQuery

    gcloud projects add-iam-policy-bindingPROJECT_ID\
    --member ="serviceAccount:looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/bigquery.dataViewer"
    

Étape 3 : Autoriser l'agent de service Looker Studio à accéder à votre compte de service

Pour autoriser l'agent de service Looker Studio à accéder aux données à l'aide du compte de service, attribuez-lui le rôle Créateur de jetons du compte de service (roles/iam.serviceAccountTokenCreator).

Console

  1. Revenez à la liste des comptes de service de la consoleGoogle Cloud .
  2. Cliquez sur le compte de service Looker Studio que vous venez de créer pour le sélectionner.
  3. Cliquez sur Comptes principaux ayant accès.
  4. Cliquez sur person_add ACCORDER L'ACCÈS.
  5. Sous Ajouter des comptes principaux à PROJECT_ID, collez l'adresse e-mail de l'agent de service Looker Studio (que vous avez copiée à l'étape 1) dans la zone Nouveaux comptes principaux. (L'adresse de votre agent de service se présente comme suit : SERVICE_AGENT_NAME@PROJECT_ID.iam.gserviceaccount.com.)
  6. Sélectionnez un rôle accordant l'autorisation iam.serviceAccounts.getAccessToken à l'agent de service. Par exemple, vous pouvez utiliser le rôle Créateur de jetons du compte de service (ou tout autre rôle personnalisé qui accorde cette autorisation).
  7. Cliquez sur ENREGISTRER.

gcloud

Exécutez la commande gcloud iam service-accounts add-iam-policy-binding. Dans l'exemple suivant, remplacez ORG_ID par l'ID de votre organisation.

Exemple :

gcloud iam service-accounts add-iam-policy-binding looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com \
--member="service-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountTokenCreator"

Étape 4 : Attribuer des rôles utilisateur

Les utilisateurs de Looker Studio qui créent ou modifient des sources de données ont besoin d'un rôle qui inclut l'autorisation iam.serviceAccounts.actAs, comme Utilisateur du compte de service (roles/iam.serviceAccountUser). Vous pouvez accorder ce rôle au niveau du projet ou d'un compte de service individuel, mais nous vous recommandons de l'accorder uniquement au niveau du compte de service. Pour obtenir des instructions, consultez Gérer l'emprunt d'identité d'un compte de service.

Nous vous recommandons de ne pas attribuer le rôle Créateur de jetons du compte de service aux utilisateurs autres que l'agent de service, car il n'est pas nécessaire pour Looker Studio.

Console

  1. Accédez à la liste des comptes de service de la console.
  2. Cliquez sur votre compte de service Looker Studio pour le sélectionner.
  3. Cliquez sur Comptes principaux avec accès.
  4. Cliquez sur person_add ACCORDER L'ACCÈS.
  5. Dans Ajouter des comptes principaux et des rôles à un compte de service, saisissez les adresses e-mail de vos utilisateurs dans la zone Nouveaux comptes principaux.
  6. Sélectionnez le rôle Utilisateur de compte de service.
  7. Cliquez sur ENREGISTRER.

gcloud

Pour accorder le rôle Utilisateur du compte de service, exécutez la commande gcloud projects add-iam-policy-binding. Dans les exemples suivants, remplacez PROJECT_ID par l'ID de votre projet et USER_EMAIL par une ou plusieurs adresses e-mail valides (séparez-les par une virgule).

Exemple :

gcloud iam service-accounts add-iam-policy-binding  looker-studio-service-account@PROJECT_ID.iam.gserviceaccount.com  \
--member="user:USER_EMAIL" \
--role="roles/iam.serviceAccountUser"

Étape 5 : Autoriser le compte de service à accéder à vos données BigQuery

Pour autoriser Looker Studio à accéder à vos données, attribuez le rôle Lecteur de données BigQuery au compte de service au niveau de la table ou de l'ensemble de données. Nous vous déconseillons d'accorder l'accès au compte de service au niveau du projet.

Console

Pour autoriser l'accès à une table :

  1. Copiez l'adresse e-mail de l'agent de service Looker Studio, comme décrit précédemment à l'étape 1. Obtenez l'agent de service Looker Studio.
  2. Accédez à la liste des comptes de service de la consoleGoogle Cloud .
  3. Accédez à BigQuery et ouvrez un projet.
  4. Développez un ensemble de données en cliquant sur la flèche .
  5. Sélectionnez une table.
  6. Dans la barre d'outils, cliquez sur person_add PARTAGER.
  7. Dans le panneau qui s'ouvre à droite, cliquez sur person_add AJOUTER UN COMPTE PRINCIPAL.
  8. Dans la zone Nouveaux comptes principaux, collez l'adresse e-mail de l'agent de service Looker Studio.
  9. Sélectionnez le rôle Lecteur de données BigQuery.
  10. Cliquez sur ENREGISTRER.

Pour accorder l'accès à un ensemble de données :

  1. Copiez l'adresse e-mail de l'agent de service Looker Studio, comme décrit précédemment à l'étape 1. Obtenez l'agent de service Looker Studio.
  2. Accédez à la liste des comptes de service de la consoleGoogle Cloud .
  3. Accédez à BigQuery, ouvrez un projet, puis localisez l'ensemble de données.
  4. Cliquez sur le menu des options .
  5. Cliquez sur Ouvrir.
  6. Dans la barre d'outils, cliquez sur person_add Autorisations de partage.
  7. Dans le panneau qui s'ouvre à droite, cliquez sur person_add AJOUTER UN COMPTE PRINCIPAL.
  8. Dans la zone Nouveaux comptes principaux, collez l'adresse e-mail de l'agent de service Looker Studio.
  9. Sélectionnez le rôle Lecteur de données BigQuery.
  10. Cliquez sur ENREGISTRER.

gcloud

Nous vous recommandons d'utiliser les instructions de la console Google Cloud pour accorder l'accès aux données. Pour accorder l'accès aux données à l'aide de l'outil de ligne de commande bq, consultez Contrôler l'accès aux ensembles de données dans la documentation BigQuery.

Fournir les informations sur le(s) compte(s) de service Looker Studio aux utilisateurs

Les utilisateurs de Looker Studio doivent savoir quel compte de service utiliser pour créer des sources de données. Puisqu'il n'est pas possible d'afficher la liste des comptes de service disponibles dans Looker Studio, vous devez fournir ces informations par e-mail, ou dans la documentation ou le site Web interne de votre entreprise.

Créer une source de données utilisant des identifiants du compte de service

Pour créer des sources de données qui utilisent des identifiants de compte de service, les utilisateurs de Looker Studio peuvent suivre les mêmes étapes de base que pour les autres types d'identifiants d'accès aux données :

  1. Créez ou modifiez une source de données BigQuery.
  2. Dans la barre d'outils, cliquez sur Identifiants d'accès aux données.
  3. Sélectionnez Identifiants du compte de service.
  4. Saisissez l'adresse e-mail de votre compte de service dans la zone prévue à cet effet.
  5. Cliquez sur Mettre à jour.

Modifier une source de données utilisant des identifiants du compte de service

Lorsque des utilisateurs modifient une source de données utilisant des identifiants du compte de service, Looker Studio vérifie s'ils sont autorisés à se servir de ces identifiants. Si ce n'est pas le cas, la source de données utilise les identifiants de cette personne à la place.

Voir qui utilise le compte de service pour accéder aux données

Vous pouvez vérifier les journaux d'audit pour les comptes de service dans la console Google Cloud . Pour recevoir les journaux d'audit pour les comptes de service, vous devez activer les journaux d'audit IAM pour l'accès aux données.

Exemple de scénario de compte de service

Supposons que vous souhaitiez vous assurer que les utilisateurs de Looker Studio de votre entreprise n'ont accès qu'aux données de la filiale de leur pays. Une solution consiste à créer un compte de service pour chaque pays et à n'autoriser que les utilisateurs Looker Studio de ce pays à agir en tant que compte de service.

Exemples de configuration

Dans cet exemple, vous allez créer trois comptes de service : un pour l'Allemagne, un pour la France et un pour le Royaume-Uni. Vous affecterez ensuite votre agent de service et tous les utilisateurs que vous souhaitez autoriser à créer des sources de données qui utilisent le compte de service en tant qu'entités principales. Vous devez également attribuer les rôles appropriés à chacun d'eux.

Compte de service pour le Royaume-Uni

service-account-1@example-org-uk-example-project.iam.gserviceaccount.com

Entités principales pour le Royaume-Uni

Comptes principaux Rôles

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Il s'agit de l'agent de service.

Service Account Token Creator
Utilisateur 1 Service Account User
Utilisateur 2 Service Account User

Compte de service pour la France

service-account-1@example-org-fr-example-project.iam.gserviceaccount.com

Entités principales pour la France

Comptes principaux Rôles

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Il s'agit de l'agent de service.

Service Account Token Creator
Utilisateur 3 Service Account User
Utilisateur 4 Service Account User

Compte de service pour l'Allemagne

service-account-1@example-org-de-example-project.iam.gserviceaccount.com

Entités principales pour l'Allemagne

Comptes principaux Rôles

service-org-12345@gcp-sa-datastudio.iam.gserviceaccount.com

Il s'agit de l'agent de service.

Service Account Token Creator
Utilisateur 5 Service Account User
Utilisateur 6 Service Account User

Erreurs

Cette section explique les erreurs que les créateurs de sources de données Looker Studio et les lecteurs de rapports peuvent rencontrer en utilisant un compte de service. Le plus souvent, ces erreurs ont la même cause : une configuration incorrecte ou incomplète du compte de service.

Rôle d'agent de service manquant

Messages

  • L'agent de service de Looker Studio ne dispose pas de l'autorisation iam.serviceAccounts.getAccessToken pour ce service.
  • L'agent de service utilisé par le compte de service de la source de données ne dispose pas du rôle "Créateur de jetons du compte de service".

Cause

L'agent de service ne s'est pas vu attribuer le rôle Créateur de jetons du compte de service (ou un autre rôle comprenant l'autorisation iam.serviceAccounts.getAccessToken).

Solution

Attribuez le rôle Créateur de jetons du compte de service à l'agent de service.

Aucun accès aux données

Message

Le compte de service ne parvient pas à accéder à l'ensemble de données sous-jacent.

Causes

  • Le compte de service ne s'est pas vu octroyer l'accès aux données du projet.
  • Le projet de facturation est associé à un projet auquel le compte de service n'a pas accès.

Solution

Accordez au minimum le rôle Lecteur de données BigQuery à votre compte de service au niveau de la table, de l'ensemble de données ou du projet sous-jacents.

Rôle utilisateur manquant

Message

Vous ne disposez pas des autorisations nécessaires pour utiliser ce compte de service.

Cause

L'utilisateur n'a pas été ajouté en tant qu'entité principale au compte de service avec le rôle Utilisateur du compte de service.

Solution

Attribuez le rôle Utilisateur du compte de service à l'utilisateur au niveau du compte de service.

Agent de service indisponible pour le compte

Messages

  • Impossible de générer des agents de service pour ce compte : réessayez avec un compte géré Google Workspace ou Cloud Identity.
  • Les identifiants d'agent de service ne sont disponibles que pour les organisations gérées Google Workspace ou Cloud Identity. Pour bénéficier de cette fonctionnalité, veuillez utiliser un autre compte.

Cause

L'utilisateur tente d'utiliser un compte Google personnel standard pour accéder aux données contrôlées par un compte de service.

Solution

Utilisez un compte Google Workspace ou Cloud Identity pour accéder aux données.

Impossible d'utiliser l'agent de service dans la boîte de dialogue des identifiants

Message

Impossible d'utiliser les agents de service Looker Studio pour créer une connexion directe aux données. Utilisez plutôt un compte de service.

Solution

Les agents de service et les comptes de service sont différents. Spécifiez un compte de service dans la boîte de dialogue des identifiants. Vous pouvez trouver la liste des comptes de service disponibles à l'aide de la console Google Cloud ou de Cloud Shell :

Console

  1. Accédez à la page Google Cloud Platform > IAM et administration > Comptes de service.
  2. Sélectionnez un projet, si nécessaire.
  3. Sur la page Comptes de service pour le projet, trouvez le compte de service que Looker Studio utilisera pour accéder à vos données BigQuery.
  4. Copiez l'adresse e-mail de ce compte.

gcloud

  1. Ouvrez Cloud Shell.
  2. Sélectionnez un projet, si nécessaire.
  3. Pour obtenir la liste des comptes de service auxquels vous avez accès, exécutez la commande gcloud iam service-accounts list.

Exemple :

gcloud iam service-accounts list

Limites

  • Les identifiants du compte de service ne sont disponibles que pour les sources de données BigQuery. Les limites IAM s'appliquent aux comptes de service.
  • Vous devrez peut-être patienter quelques instants avant que les modifications apportées aux autorisations du compte de service apparaissent dans Looker Studio.
  • L'envoi planifié d'e-mails n'est pas compatible avec les données protégées à l'aide de niveaux d'accès basés sur l'adresse IP avec VPC Service Controls. (En effet, Looker Studio ne transmet pas l'adresse IP du destinataire de l'e-mail lorsqu'il consulte le rapport.)