Google Cloud-Dienstkonto für Data 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 Data 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 Data Studio

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

Erforderliche Rollen

Für Administratoren

  • Nur Google Workspace- oder Cloud Identity-Nutzer können den Data 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 Dienstkontorollen
  • 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.

Für das Dienstkonto

  • Dem Dienstkonto muss mindestens die Rolle BigQuery-Datenbetrachter (roles/bigquery.dataViewer) für die spezifischen Tabellen oder Datasets zugewiesen werden, auf die es zugreifen muss.
  • Benutzerdefinierte Abfragen:Wenn für die Datenquelle eine benutzerdefinierte Abfrage verwendet wird, muss dem Dienstkonto auch die Rolle BigQuery-Jobnutzer (roles/bigquery.jobUser) für das Google Cloud Projekt zugewiesen werden, das die Daten enthält.

Anleitung zur Einrichtung

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

  1. Data 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 Data Studio für Sie erstellt.
  2. Dienstkonto für Data Studio erstellen In diesem Schritt erstellen Sie den nicht menschlichen Nutzer, der auf die Daten zugreifen wird.
  3. Dem Data 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 Dienstkonto-Anmeldedaten 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: Data Studio-Dienst-Agent abrufen

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

  1. Rufen Sie die Hilfeseite für den Data 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 Data 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. Klicken Sie 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 Data Studio eine Verbindung herstellen möchten. Beachten Sie, dass dies von dem Projekt abweichen kann, 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 Data Studio access to BigQuery"  \
--display-name="LS_BQ"
  1. Damit das Dienstkonto in dem Google Cloud Projekt, das Sie mit Data 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 Data 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 Data Viewer“ zuweisen

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

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

Damit der Data 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 Data Studio-Dienstkonto aus, indem Sie in der Liste darauf klicken.
  3. Klicken Sie auf Hauptkonten mit Zugriff.
  4. Klicken Sie auf person_addZUGRIFF GEWÄHREN.
  5. Fügen Sie unter Hauptkonten zu PROJECT_ID hinzufügen die E-Mail-Adresse des Data 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-org-ORG-ID@gcp-sa-datastudio.iam.gserviceaccount.com
    
    Ersetzen Sie ORG-ID durch die ID Ihrer Organisation Google Cloud .
  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="serviceAccount:service-org-ORG_ID@gcp-sa-datastudio.iam.gserviceaccount.com" \
--role="roles/iam.serviceAccountTokenCreator"

Schritt 4: Nutzerrollen zuweisen

Data 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 Data Studio nicht erforderlich.

Console

  1. Rufen Sie die Dienstkontoliste der Console auf.
  2. Wählen Sie das Data 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 Adressen 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 Data 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.

Kopieren Sie für diesen Schritt die E-Mail-Adresse des Data Studio-Dienst-Agents, wie oben in Schritt 1. Data Studio-Dienst-Agent abrufen beschrieben. So können Sie sie bei Bedarf in das Dialogfeld Hauptkonto hinzufügen einfügen.

Console

So gewähren Sie Zugriff auf eine Tabelle:

  1. Kopieren Sie das Data Studio-Dienstkonto, wie zuvor in Schritt 2: Dienstkonto für Data Studio erstellen beschrieben.
  2. Rufen Sie die Dienstkontoliste derGoogle Cloud Console auf.
  3. Rufen Sie BigQuery auf und wählen Sie ein Projekt aus.
  4. Klicken Sie auf Dataset Datasets und wählen Sie ein Dataset aus.
  5. Wählen Sie eine Tabelle aus.
  6. Klicken Sie in der Symbolleiste auf das Menü person_add TEILEN und dann auf Teilen.
  7. Klicken Sie im Bereich Freigabeberechtigungen auf person_add HAUPTKONTO HINZUFÜGEN.
  8. Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Data 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 das Data Studio-Dienstkonto, wie zuvor in Schritt 2: Dienstkonto für Data Studio erstellen beschrieben.
  2. Rufen Sie die Dienstkontoliste derGoogle Cloud Console auf.
  3. Rufen Sie BigQuery auf und wählen Sie ein Projekt aus.
  4. Klicken Sie auf Dataset Datasets und wählen Sie ein Dataset aus.
  5. Klicken Sie auf more_vert Aktionen chevron_forward Freigeben chevron_forward Berechtigungen verwalten.
  6. Klicken Sie im Bereich Freigabeberechtigungen auf person_add HAUPTKONTO HINZUFÜGEN.
  7. Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Data Studio-Dienst-Agents ein.
  8. Wählen Sie die Rolle BigQuery-Datenbetrachter aus.
  9. Klicken Sie auf SPEICHERN.

gcloud

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

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

Data Studio-Nutzer müssen wissen, welches Dienstkonto sie beim Erstellen von Datenquellen verwenden sollen. In Data 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 Data 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 Data 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 sich dazu in der Google Cloud -Konsole die Audit-Logs für Dienstkonten ansehen. Das funktioniert jedoch nur, wenn IAM-Audit-Logs für Datenzugriffsaktivitäten aktiviert sind.

Beispielszenario für ein Dienstkonto

Angenommen, Data 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 Data 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 die richtigen 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 Data 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 Data 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.
  • Für die Datenquelle wird eine benutzerdefinierte Abfrage verwendet, aber das Dienstkonto hat nicht die Rolle BigQuery Job User für das Projekt.

Lösung

  • Weisen Sie dem Dienstkonto mindestens die Rolle BigQuery-Datenbetrachter für die zugrunde liegende Tabelle, das Dataset oder das Projekt zu.
  • Wenn Sie eine benutzerdefinierte Abfrage verwenden, weisen Sie dem Dienstkonto außerdem die Rolle BigQuery-Jobnutzer für das Projekt zu, in dem die Abfrage ausgeführt wird.

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 mit Google Workspace oder Cloud Identity verwaltete Organisationen verfügbar. Verwenden Sie ein anderes Konto, um diese Funktion zu nutzen.

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 Data 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 & 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

  • Dienstkonto-Anmeldedaten sind nur für BigQuery-Datenquellen verfügbar. Für Dienstkonten gelten IAM-Limits.
  • Es kann einige Minuten dauern, bis Änderungen an Dienstkontoberechtigungen in Data Studio übernommen werden.
  • Geplante E-Mail-Zustellung und Benachrichtigungen funktionieren nicht mit Daten, die durch IP-basierte Zugriffsebenen mit VPC Service Controls geschützt sind. (Data Studio übergibt die IP-Adresse des E-Mail-Empfängers nicht, wenn dieser den Bericht aufruft.)