Google Cloud-Dienstkonto für Looker Studio einrichten

Ein Dienstkonto ist eine spezielle Art von Google-Konto, das einen nicht menschlichen Nutzer repräsentiert. Es muss authentifiziert und autorisiert werden, um Zugriff auf Daten in Google APIs und Google-Produkten zu erhalten. Statt den Zugriff über die Anmeldedaten des Inhabers zu delegieren oder für einzelne Nutzer über Anmeldedaten des Betrachters zu gewähren, kann in Looker Studio ein Dienstkonto für den Datenabruf verwendet werden.

Hinweis: Anmeldedaten für Dienstkonten sind nur für BigQuery-Datenquellen verfügbar.

Dienstkonten

Vorteile eines Dienstkontos für Looker Studio

Ein Dienstkonto anstelle der Anmeldedaten einzelner Nutzer zu verwenden, bietet mehrere Vorteile:

Erforderliche Rollen

  • Nur Google Workspace- oder Cloud Identity-Nutzer können den Looker Studio-Dienst-Agent abrufen.
  • Zum Einrichten eines Dienstkontos benötigen Sie die Rolle Dienstkontoadministrator (roles/iam.serviceAccountAdmin) oder Dienstkonten erstellen (roles/iam.serviceAccountCreator) für Ihr Google Cloud Projekt. Weitere Informationen zu Dienstkontenrollen
  • Wenn Sie das Dienstkonto für den Zugriff auf eine BigQuery-Tabelle oder ein BigQuery-Dataset konfigurieren möchten, benötigen Sie die Rolle BigQuery-Dateninhaber (roles/bigquery.dataOwner) für die Tabelle oder das Dataset oder eine andere Rolle, die Ihnen die Berechtigung bigquery.datasets.setIamPolicy gewährt.

Anleitung zur Einrichtung

So richten Sie ein Dienstkonto ein, das Zugriff auf BigQuery-Daten bietet:

  1. Looker Studio-Dienst-Agent abrufen In diesem Schritt kopieren Sie die E-Mail-Adresse des Dienst-Agents, damit Sie sie im nächsten Schritt verwenden können. Diese Adresse wird automatisch von Looker Studio für Sie erstellt.
  2. Dienstkonto für Looker Studio erstellen In diesem Schritt erstellen Sie den nicht menschlichen Nutzer, der auf die Daten zugreifen wird.
  3. Dem Looker Studio-Dienst-Agent Zugriff auf Ihr Dienstkonto gewähren In diesem Schritt weisen Sie dem Dienst-Agent die erforderliche Rolle für das Dienstkonto zu.
  4. Nutzerrollen zuweisen In diesem Schritt weisen Sie Ihren Nutzern die erforderliche Rolle zu, damit sie Datenquellen erstellen können, für die Dienstkontoanmeldedaten verwendet werden.
  5. Dienstkonto Zugriff auf BigQuery-Daten gewähren In diesem Schritt weisen Sie dem Dienstkonto die erforderliche Rolle zu, damit es auf eine BigQuery-Tabelle oder ein BigQuery-Dataset zugreifen kann.

Schritt 1: Looker Studio-Dienst-Agent abrufen

Damit das Dienstkonto auf Ihre Daten zugreifen kann, müssen Sie den Looker Studio-Dienst-Agent für Ihre Organisation bereitstellen. Sie können ihn in Looker Studio über eine Hilfeseite abrufen:

  1. Rufen Sie die Hilfeseite für den Looker Studio-Dienst-Agent auf.
  2. Kopieren Sie die E-Mail-Adresse des Dienst-Agents, die auf dieser Seite angezeigt wird.

Schritt 2: Dienstkonto für Looker Studio erstellen

Eine Anleitung zum Erstellen eines Dienstkontos finden Sie in der Google Cloud IAM-Dokumentation. Sie können das Dienstkonto entweder über die Google Cloud -Konsole oder die Cloud Shell-Befehlszeile erstellen.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Dienstkonto erstellen.

    Zur Seite „Dienstkonto erstellen“

  2. Wählen Sie ein Projekt aus.
  3. Geben Sie einen Dienstkontonamen ein, der in der Google Cloud Console angezeigt werden soll.

    Die​COMMENTConsole generiert anhand dieses Namens eine Dienstkonto-ID. Google Cloud Bei Bedarf können Sie die ID jetzt ändern. Sie kann die ID später nicht mehr ändern.

  4. Optional: Geben Sie eine Beschreibung für das Dienstkonto ein.
  5. Klicke auf ERSTELLEN UND FORTFAHREN.
  6. Weisen Sie dem Dienstkonto unter Berechtigungen die IAM-Rolle BigQuery Job User in dem Projekt zu, das die Daten enthält, mit denen Sie in Looker Studio eine Verbindung herstellen möchten. Dieses Projekt kann sich von dem Projekt unterscheiden, in dem Sie das Dienstkonto erstellt haben.
  7. Klicken Sie auf Weiter.
  8. Fügen Sie im Feld Rolle „Dienstkontonutzer“ die Nutzer hinzu, die dieses Dienstkonto verwenden dürfen, um Anmeldedaten für ihre Datenquellen einzugeben. Wenn Sie noch keine Nutzer hinzufügen möchten, können Sie das später tun. Folgen Sie dazu der Anleitung unter Nutzerrollen zuweisen.
  9. Klicken Sie auf FERTIG, um das Dienstkonto zu speichern und zur Liste der Dienstkonten für Ihr Projekt zurückzukehren.

gcloud

Folgen Sie den allgemeinen Schritten auf dem Tab Cloud Shell der Seite Dienstkonten erstellen und verwalten.

  1. Öffnen Sie die Cloud Shell.
  2. Wählen Sie bei Bedarf ein Projekt aus.
  3. Führen Sie den Befehl gcloud iam service-accounts create aus, um das Dienstkonto zu erstellen. Sie können einen Kontonamen, eine Beschreibung und einen Anzeigenamen Ihrer Wahl verwenden.

Beispiel:

gcloud iam service-accounts create looker-studio-service-account \
--description="Use for Looker Studio access to BigQuery"  \
--display-name="LS_BQ"
  1. Damit das Dienstkonto in dem Google Cloud Projekt, das Sie mit Looker Studio verwenden möchten, auf BigQuery-Daten zugreifen kann, müssen Sie ihm in diesem Projekt die Berechtigungbigquery.jobs.createerteilen. Dazu können Sie die IAM-Rolle BigQuery-Jobnutzer verwenden.

    Gewähren Sie dem Dienstkonto außerdem die Berechtigungen bigquery.tables.getData und bigquery.tables.get für das Projekt oder Dataset, das Sie mit Looker Studio verwenden möchten. Sie können dazu die Rolle BigQuery-Datenbetrachter (roles/bigquery.dataViewer) verwenden.

    Führen Sie den Befehl gcloud projects add-iam-policy-binding aus, um diese Rollen zuzuweisen. Ersetzen Sie in den folgenden Beispielen PROJECT_ID durch Ihre Projekt-ID.

    Beispiel: Rolle „BigQuery-Jobnutzer“ zuweisen

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

    Beispiel: Rolle „BigQuery-Datenbetrachter“ zuweisen

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

Schritt 3: Dem Looker Studio-Dienst-Agent Zugriff auf Ihr Dienstkonto gewähren

Damit der Looker Studio-Dienst-Agent über das Dienstkonto auf Daten zugreifen kann, weisen Sie ihm die Rolle Ersteller von Dienstkonto-Tokens (roles/iam.serviceAccountTokenCreator) zu.

Console

  1. Kehren Sie zur Dienstkontoliste derGoogle Cloud -Konsole zurück.
  2. Wählen Sie das soeben erstellte Looker Studio-Dienstkonto aus, indem Sie in der Liste darauf klicken.
  3. Klicken Sie auf Hauptkonten mit Zugriff.
  4. Klicken Sie auf  person_add ZUGRIFF GEWÄHREN.
  5. Fügen Sie unter Hauptkonten zu PROJECT_ID hinzufügen die E-Mail-Adresse des Looker Studio-Dienst-Agents, die Sie in Schritt 1 kopiert haben, in das Feld Neue Hauptkonten ein. Die Adresse Ihres Dienst-Agents sieht so aus: SERVICE_AGENT_NAME@PROJECT_ID.iam.gserviceaccount.com.
  6. Wählen Sie eine Rolle aus, die dem Dienst-Agent die Berechtigung iam.serviceAccounts.getAccessToken gewährt. Das kann z. B. die Rolle Ersteller von Dienstkonto-Tokens oder eine beliebige andere benutzerdefinierte Rolle mit dieser Berechtigung sein.
  7. Klicken Sie auf SPEICHERN.

gcloud

Führen Sie den Befehl gcloud iam service-accounts add-iam-policy-binding aus. Ersetzen Sie im folgenden Beispiel ORG_ID durch die ID Ihrer Organisation.

Beispiel:

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"

Schritt 4: Nutzerrollen zuweisen

Looker Studio-Nutzern, die Datenquellen erstellen oder bearbeiten sollen, muss eine Rolle mit der Berechtigung iam.serviceAccounts.actAs zugewiesen werden, z. B. die Rolle Dienstkontonutzer (roles/iam.serviceAccountUser). Sie können diese Rolle für das Projekt oder für ein einzelnes Dienstkonto zuweisen. Wir empfehlen jedoch, die Rolle nur für das Dienstkonto zuzuweisen. Eine Anleitung finden Sie unter Identitätswechsel für Dienstkonten verwalten.

Wir empfehlen, Nutzern, für die kein Dienst-Agent verwendet wird, NICHT die Rolle Ersteller von Dienstkonto-Tokens zuzuweisen. Sie ist für Looker Studio nicht erforderlich.

Console

  1. Rufen Sie die Dienstkontoliste der Console auf.
  2. Wählen Sie das Looker Studio-Dienstkonto aus, indem Sie in der Liste darauf klicken.
  3. Klicken Sie auf Hauptkonten mit Zugriff.
  4. Klicken Sie auf  person_add ZUGRIFF GEWÄHREN.
  5. Geben Sie unter Hauptkonten und Rollen für Dienstkonto hinzufügen die E-Mail-Adressen Ihrer Nutzer in das Feld Neue Hauptkonten ein.
  6. Wählen Sie die Rolle Dienstkontonutzer aus.
  7. Klicken Sie auf SPEICHERN.

gcloud

Führen Sie den Befehl gcloud projects add-iam-policy-binding aus, um die Rolle Dienstkontonutzer zuzuweisen. Ersetzen Sie in den folgenden Beispielen PROJECT_ID durch Ihre Projekt-ID und USER_EMAIL durch eine oder mehrere gültige E-Mail-Adressen (mehrere Einträge durch Kommas trennen).

Beispiel:

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"

Schritt 5: Dienstkonto Zugriff auf BigQuery-Daten gewähren

Damit Looker Studio auf Ihre Daten zugreifen kann, weisen Sie dem Dienstkonto auf Tabellen- oder Dataset-Ebene die Rolle BigQuery-Datenbetrachter zu. Wir raten davon ab, dem Dienstkonto Zugriff auf Projektebene zu gewähren.

Console

So gewähren Sie Zugriff auf eine Tabelle:

  1. Kopieren Sie die E-Mail-Adresse des Looker Studio-Dienst-Agents, wie oben in Schritt 1 beschrieben. Looker Studio-Dienst-Agent abrufen
  2. Rufen Sie die Dienstkontoliste derGoogle Cloud Console auf.
  3. Rufen Sie BigQuery auf und öffnen Sie ein Projekt.
  4. Maximieren Sie ein Dataset, indem Sie auf den Maximierungspfeil  klicken.
  5. Wählen Sie eine Tabelle aus.
  6. Klicken Sie in der Symbolleiste auf  person_add FREIGEBEN.
  7. Klicken Sie im Bereich, der rechts geöffnet wird, auf  person_add HAUPTKONTO HINZUFÜGEN.
  8. Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Looker Studio-Dienst-Agents ein.
  9. Wählen Sie die Rolle BigQuery-Datenbetrachter aus.
  10. Klicken Sie auf SPEICHERN.

So gewähren Sie Zugriff auf ein Dataset:

  1. Kopieren Sie die E-Mail-Adresse des Looker Studio-Dienst-Agents, wie oben in Schritt 1 beschrieben. Looker Studio-Dienst-Agent abrufen
  2. Rufen Sie die Dienstkontoliste derGoogle Cloud Console auf.
  3. Rufen Sie BigQuery auf, öffnen Sie ein Projekt und suchen Sie das Dataset.
  4. Klicken Sie auf das Dreipunkt-Menü .
  5. Klicken Sie auf Öffnen.
  6. Klicken Sie in der Symbolleiste auf  person_add Freigabeberechtigungen.
  7. Klicken Sie im Bereich, der rechts geöffnet wird, auf  person_add HAUPTKONTO HINZUFÜGEN.
  8. Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Looker Studio-Dienst-Agents ein.
  9. Wählen Sie die Rolle BigQuery-Datenbetrachter aus.
  10. Klicken Sie auf SPEICHERN.

gcloud

Wir empfehlen, die Google Cloud Console-Anleitung zu verwenden, um Zugriff auf Daten zu gewähren. Informationen zum Gewähren des Zugriffs auf Daten mit dem bq-Befehlszeilentool finden Sie in der BigQuery-Dokumentation unter Zugriff auf Datasets steuern.

Looker Studio-Dienstkonten für Looker Studio-Nutzer bereitstellen

Looker Studio-Nutzer müssen wissen, welches Dienstkonto sie beim Erstellen von Datenquellen verwenden sollen. In Looker Studio kann keine Liste der verfügbaren Dienstkonten abgerufen werden. Daher sollten Sie diese Informationen in der Dokumentation Ihrer Organisation, auf der internen Website oder per E-Mail zur Verfügung stellen.

Datenquelle erstellen, für die Dienstkonto-Anmeldedaten verwendet werden

Wenn Sie Datenquellen erstellen möchten, für die Dienstkonto-Anmeldedaten verwendet werden, können Looker Studio-Nutzer dieselben grundlegenden Schritte wie für andere Arten von Anmeldedaten für den Datenabruf ausführen:

  1. BigQuery-Datenquelle erstellen oder bearbeiten
  2. Klicken Sie in der Symbolleiste auf Anmeldedaten für den Datenabruf.
  3. Wählen Sie Dienstkonto- Anmeldedaten aus.
  4. Geben Sie in das Feld Dienstkonto die E-Mail-Adresse des Kontos ein.
  5. Klicken Sie auf Aktualisieren.

Datenquelle bearbeiten, für die Dienstkonto-Anmeldedaten verwendet werden

Wenn jemand eine Datenquelle bearbeitet, für die Dienstkonto-Anmeldedaten verwendet werden, wird in Looker Studio geprüft, ob er berechtigt ist, das Dienstkonto zu nutzen. Falls nicht, werden für die Datenquelle stattdessen die Anmeldedaten des entsprechenden Nutzers verwendet.

Sehen, wer über das Dienstkonto auf Daten zugreift

Sie können in der Google Cloud Console die Audit-Logs für Dienstkonten prüfen. Damit Sie diese erhalten, müssen Sie IAM-Audit-Logs für Datenzugriffsaktivitäten aktivieren.

Beispielszenario für ein Dienstkonto

Angenommen, Looker Studio-Nutzer in Ihrem Unternehmen sollen nur auf die Daten der Niederlassung ihres Landes zugreifen dürfen. Eine Lösung besteht darin, ein Dienstkonto für jedes Land zu erstellen und nur Looker Studio-Nutzern in diesem Land die Berechtigung zu erteilen, als Dienstkonto zu agieren.

Beispiel für eine Einrichtung

In diesem Beispiel erstellen Sie drei Dienstkonten: eines für das Vereinigte Königreich, eines für Frankreich und eines für Deutschland. Anschließend weisen Sie ihnen den Dienst-Agent und alle Nutzer zu, die Datenquellen erstellen dürfen, für die das Dienstkonto verwendet wird. Außerdem weisen Sie jedem Nutzer die entsprechenden Rollen zu.

Dienstkonto für das Vereinigte Königreich

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

Hauptkonten für das Vereinigte Königreich

Hauptkonten Rollen

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

Das ist der Dienst-Agent.

Service Account Token Creator
Nutzer 1 Service Account User
Nutzer 2 Service Account User

Dienstkonto für Frankreich

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

Hauptkonten für Frankreich

Hauptkonten Rollen

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

Das ist der Dienst-Agent.

Service Account Token Creator
Nutzer 3 Service Account User
Nutzer 4 Service Account User

Dienstkonto für Deutschland

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

Hauptkonten für Deutschland

Hauptkonten Rollen

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

Das ist der Dienst-Agent.

Service Account Token Creator
Nutzer 5 Service Account User
Nutzer 6 Service Account User

Fehler

In diesem Abschnitt werden die Fehler erläutert, die Ersteller und Betrachter von Looker Studio-Datenquellen eventuell sehen, wenn sie versuchen, ein Dienstkonto zu verwenden. In den meisten Fällen haben diese Fehler dieselbe Ursache: falsche oder unvollständige Einrichtung des Dienstkontos.

Dienst-Agent-Rolle fehlt

Nachrichten

  • Beim Dienst-Agent von Looker Studio fehlt die Berechtigung iam.serviceAccounts.getAccessToken für diesen Dienst.
  • Bei dem vom Dienstkonto dieser Datenquelle verwendeten Dienst-Agent fehlt die Rolle „Ersteller von Dienstkonto-Tokens“.

Ursache

Dem Dienst-Agent wurde weder die Rolle Ersteller von Dienstkonto-Tokens noch eine andere Rolle mit der Berechtigung iam.serviceAccounts.getAccessToken zugewiesen.

Lösung

Weisen Sie dem Dienst-Agent die Rolle Ersteller von Dienstkonto-Tokens zu.

Kein Zugriff auf die Daten

Nachricht

Dieses Dienstkonto hat keinen Zugriff auf das zugrunde liegende Dataset.

Ursachen

  • Dem Dienstkonto wurde kein Zugriff auf die Projektdaten gewährt.
  • Das Abrechnungsprojekt ist mit einem Projekt verknüpft, auf das das Dienstkonto keinen Zugriff hat.

Lösung

Weisen Sie dem Dienstkonto mindestens die Rolle BigQuery-Datenbetrachter für die zugrunde liegende Tabelle, das Dataset oder das Projekt zu.

Nutzerrolle fehlt

Nachricht

Sie sind nicht zur Nutzung dieses Dienstkontos berechtigt.

Ursache

Der Nutzer wurde dem Dienstkonto nicht als Hauptkonto mit der Rolle Dienstkontonutzer hinzugefügt.

Lösung

Weisen Sie dem Nutzer des Dienstkontos die Rolle Dienstkontonutzer zu.

Dienst-Agent für Konto nicht verfügbar

Nachrichten

  • Für dieses Konto können keine Dienst-Agents erstellt werden. Versuchen Sie es noch einmal mit einem Google Workspace- oder einem verwalteten Cloud Identity-Konto.
  • Anmeldedaten für Dienst-Agents sind nur für Google Workspace- oder verwaltete Cloud Identity-Organisationen verfügbar. Verwenden Sie ein anderes Konto, wenn Sie diese Funktion nutzen möchten.

Ursache

Der Nutzer versucht, über ein reguläres (privates) Google-Konto auf Daten zuzugreifen, die von einem Dienstkonto verwaltet werden.

Lösung

Verwenden Sie ein Google Workspace- oder Cloud Identity-Konto, um auf die Daten zuzugreifen.

Dienst-Agent kann im Dialogfeld für Anmeldedaten nicht verwendet werden

Nachricht

Über Dienst-Agents in Looker Studio kann nicht direkt auf Daten zugegriffen werden. Verwenden Sie stattdessen bitte ein Dienstkonto.

Lösung

Dienst-Agents und Dienstkonten sind unterschiedlich. Geben Sie im Dialogfeld für Anmeldedaten ein Dienstkonto ein. Eine Liste der verfügbaren Dienstkonten finden Sie entweder in der Google Cloud Console oder in Cloud Shell:

Console

  1. Rufen Sie die Seite Google Cloud Platform > IAM und Verwaltung > Dienstkonten auf.
  2. Wählen Sie bei Bedarf ein Projekt aus.
  3. Suchen Sie auf der Seite Dienstkonten für Projekt das Dienstkonto, das in Looker Studio für den Zugriff auf Ihre BigQuery-Daten verwendet werden soll.
  4. Kopieren Sie die E-Mail-Adresse für dieses Konto.

gcloud

  1. Öffnen Sie die Cloud Shell.
  2. Wählen Sie bei Bedarf ein Projekt aus.
  3. Wenn Sie die Dienstkonten auflisten möchten, auf die Sie Zugriff haben, führen Sie den Befehl gcloud iam service-accounts list aus.

Beispiel:

gcloud iam service-accounts list

Limits

  • Anmeldedaten für Dienstkonten sind nur für BigQuery-Datenquellen verfügbar. Für Dienstkonten gelten IAM-Limits.
  • Es kann einige Minuten dauern, bis Änderungen an Dienstkontoberechtigungen in Looker Studio übernommen werden.
  • Die geplante E-Mail-Zustellung funktioniert nicht mit Daten, die mit IP-basierten Zugriffsebenen mit VPC Service Controls geschützt sind. Das liegt daran, dass die IP-Adresse des E-Mail-Empfängers nicht an Looker Studio übergeben wird, wenn der Empfänger den Bericht aufruft.