BigQuery-Freigaberollen konfigurieren

In diesem Dokument werden die IAM-Rollen (Identity and Access Management) für die BigQuery-Freigabe (früher Analytics Hub) beschrieben und es wird erläutert, wie Sie sie zuweisen. Weitere Informationen finden Sie unter BigQuery-Rollen und -Berechtigungen für die gemeinsame Nutzung.

IAM-Rollen für BigQuery Sharing

In den folgenden Abschnitten werden die vordefinierten BigQuery-Freigaberollen beschrieben. Sie können diese Rollen Nutzern zuweisen, um verschiedene Aufgaben an Datenpools und Einträgen auszuführen.

Rolle „Analytics Hub-Administrator“

Zum Verwalten von Datenpools bietet BigQuery Sharing die Rolle „Analytics Hub-Administrator“ (roles/analyticshub.admin), die Sie für ein Google Cloud Projekt oder einen Datenpool zuweisen können. Mit dieser Rolle können Nutzer Folgendes tun:

  • Datenpools erstellen, aktualisieren und löschen.
  • Einträge erstellen, aktualisieren, löschen und freigeben.
  • BigQuery-Freigabeadministratoren verwalten, Administratoren, Publisher, Abonnenten und Betrachter auflisten.

Mit dieser Rolle werden Sie zum BigQuery-Freigabeadministrator.

Analytics Hub-Rollen „Publisher“ und „Eintrags-Administrator“

Zum Verwalten von Einträgen bietet Sharing die folgenden vordefinierten Rollen, die Sie für ein Projekt, einen Datenpool oder einen Eintrag zuweisen können:

Analytics Hub-Abonnenten- und -Betrachterrollen

Zum Ansehen und Abonnieren von Einträgen und Datenpools bietet Sharing die folgenden vordefinierten Rollen, die Sie für ein Projekt, einen Datenpool oder einen Eintrag zuweisen können:

  • Rolle „Analytics Hub-Abonnent“ (roles/analyticshub.subscriber), mit der Nutzer Einträge aufrufen und abonnieren können

    Mit dieser Rolle werden Sie zum BigQuery-Freigabeabonnenten.

  • Rolle „Analytics Hub-Betrachter“ (roles/analyticshub.viewer), mit der Nutzer Einträge und Datenaustauschberechtigungen aufrufen können.

    Mit dieser Rolle werden Sie zum BigQuery-Betrachter für die Freigabe.

Rolle „Inhaber des Analytics Hub-Abos“

Zum Verwalten von Abos bietet Sharing die folgende vordefinierte Rolle, die Sie auf Projektebene zuweisen können:

Mit dieser Rolle werden Sie Inhaber eines BigQuery-Freigabeabos.

IAM-Rollen für die BigQuery-Freigabe zuweisen

Je nach Bedarf können Sie die IAM-Rollen auf den folgenden Ebenen der Ressourcenhierarchie zuweisen:

  • Projekt. Wenn Sie eine Rolle für ein Projekt zuweisen, gilt sie für alle Datenaustausche und Einträge in diesem Projekt.
  • Datenpool. Wenn Sie eine Rolle für einen Datenpool zuweisen, gilt sie für alle Einträge in diesem Datenpool.
  • Eintrag. Wenn Sie eine Rolle für einen Eintrag zuweisen, gilt sie nur für diesen bestimmten Eintrag.

Rolle für ein Projekt zuweisen

Wenn Sie IAM-Richtlinien für ein Projekt festlegen möchten, müssen Sie die Rolle „Projekt-IAM-Administrator“ (roles/resourcemanager.projectIamAdmin) für dieses Projekt haben. Wenn Sie die vordefinierten Identity and Access Management-Rollen für die BigQuery-Freigabe für ein Projekt zuweisen möchten, wählen Sie eine der folgenden Optionen aus.

Console

  1. Rufen Sie IAM für das Projekt auf.

    IAM aufrufen

  2. Klicken Sie auf Zugriffsrechte erteilen.

  3. Geben Sie die E-Mail-Adresse der Person oder Identität, der Sie Zugriff gewähren möchten, im Feld Neue Hauptkonten ein. Beispiel:

    • E-Mail-Adresse für Google-Konto: test-user@gmail.com
    • Google-Gruppe: admins@googlegroups.com
    • Dienstkonto: server@example.gserviceaccount.com
    • Google Workspace-Domain: example.com
  4. Bewegen Sie in der Liste Rolle auswählen den Mauszeiger auf Analytics Hub und wählen Sie eine der folgenden Rollen aus:

    • Analytics Hub-Administrator
    • Administrator von Analytics Hub-Einträgen
    • Analytics Hub-Publisher
    • Analytics Hub-Abonnent
    • Analytics Hub Subscription Owner
    • Analytics Hub-Betrachter
  5. Optional: Wenn Sie den Zugriff auf Google Cloud -Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  6. Speichern Sie die Änderungen.

    Sie können Projektadministratoren über dasselbe IAM-Steuerfeld löschen und aktualisieren.

gcloud

Wenn Sie Rollen auf Projektebene zuweisen möchten, verwenden Sie den Befehl gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member='PRINCIPAL' \
    --role='roles/analyticshub.admin'

Ersetzen Sie Folgendes:

  • PROJECT_ID: das Projekt, z. B. my-project-1.
  • PRINCIPAL: Eine gültige Identität, der Sie die Rolle zuweisen möchten. Beispiel:

    • E-Mail-Adresse für Google-Konto: user:user@gmail.com
    • Google-Gruppe: group:admins@googlegroups.com
    • Dienstkonto: serviceAccount:server@example.gserviceaccount.com
    • Google Workspace-Domain: domain:example.com

API

  1. Lesen Sie die vorhandene Richtlinie mit der entsprechenden getIamPolicy-Methode der Ressource. Für Projekte verwenden Sie die Methode projects.getIamPolicy.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
    

    Ersetzen Sie PROJECT_ID durch das Projekt, z. B. my-project-1.

  2. Bearbeiten Sie die Richtlinie mit einem Texteditor, um Hauptkonten und die zugehörigen Rollen hinzuzufügen. Verwenden Sie das folgende Format, um Mitglieder hinzuzufügen:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um group:admins@example.com die Rolle roles/analyticshub.admin zuzuweisen:

    {
     "members": [
       "group:admins@example.com"
     ],
     "role":"roles/analyticshub.admin"
    }
    
  3. Verwenden Sie die Methode setIamPolicy, um die aktualisierte Richtlinie zu schreiben.

    Mit der Methode project.setIamPolicy können Sie beispielsweise eine Richtlinie auf Projektebene festlegen. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.

    POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
    

    Ersetzen Sie dabei PROJECT_ID durch die Projekt-ID.

Rolle für einen Datenpool gewähren

So weisen Sie die Rolle für einen Datenpool zu:

Console

  1. Rufen Sie in der Google Cloud -Console die Seite Freigabe (Analytics Hub) auf.

    Zur Freigabe (Analytics Hub)

  2. Klicken Sie auf den Namen des Datenpools, für den Sie Berechtigungen festlegen möchten.

  3. Wechseln Sie zum Tab Details.

  4. Klicken Sie auf Berechtigungen festlegen.

  5. Klicken Sie zum Hinzufügen von Hauptkonten auf Hauptkonto hinzufügen.

  6. Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adressen hinzu, für die Sie den Zugriff gewähren möchten. Sie können auch allUsers verwenden, um eine Ressource öffentlich und für alle im Internet zugänglich zu machen, oder allAuthenticatedUsers, um sie nur für angemeldete Google-Nutzer zugänglich zu machen.

  7. Wählen Sie im Menü Rolle auswählen die Option Analytics Hub und dann eine der folgenden IAM-Rollen (Identity and Access Management) aus:

    • Analytics Hub-Administrator
    • Administrator von Analytics Hub-Einträgen
    • Analytics Hub-Publisher
    • Analytics Hub-Abonnent
    • Analytics Hub Subscription Owner
    • Analytics Hub-Betrachter
  8. Klicken Sie auf Speichern.

API

  1. Lesen Sie die vorhandene Richtlinie mit der Eintragsmethode getIamPolicy. Verwenden Sie dazu die Methode projects.locations.dataExchanges.getIamPolicy:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:getIamPolicy
    

    Dabei gilt:

    • PROJECT_ID: die Projekt-ID, z. B. my-project-1.
    • LOCATION: der Standort für Ihren Datenpool. Verwenden Sie Kleinbuchstaben.
    • DATAEXCHANGE_ID: die Datenpool-ID.

    BigQuery Sharing (früher Analytics Hub) gibt die aktuelle Richtlinie zurück.

  2. Bearbeiten Sie die Richtlinie mit einem Texteditor, um Mitglieder und ihre zugehörigen IAM-Rollen (Identity and Access Management) hinzuzufügen oder zu entfernen. Verwenden Sie das folgende Format, um Mitglieder hinzuzufügen:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um group:subscribers@example.com die Rolle roles/analyticshub.subscriber zuzuweisen:

    {
     "members": [
       "group:subscribers@example.com"
     ],
     "role":"roles/analyticshub.subscriber"
    }
    
  3. Verwenden Sie die Methode projects.locations.dataExchanges.setIamPolicy, um die aktualisierte Richtlinie zu schreiben. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID:setIamPolicy
    

    Geben Sie im Anfragetext die Eintragsdetails an. Wenn die Anfrage erfolgreich ist, enthält der Antworttext Details zum Eintrag.

Wenn Sie Berechtigungen auf Ressourcenebene erteilen, z. B. für einen Datenaustausch, müssen Sie für den Standortteil des Ressourcennamens Kleinbuchstaben verwenden. Die Verwendung von Werten in Großbuchstaben oder mit gemischter Groß- und Kleinschreibung kann Permission Denied-Fehler verursachen.

  • Verwenden Sie projects/myproject/locations/us/dataExchanges/123.
  • Vermeiden Sie: projects/myproject/locations/US/dataExchanges/123
  • Vermeiden Sie: projects/myproject/locations/Eu/dataExchanges/123

Sie können Datenpoolrollen über dasselbe IAM-Steuerfeld löschen und aktualisieren.

Rolle für einen Eintrag gewähren

So weisen Sie die Rolle für einen Eintrag zu:

Console

  1. Rufen Sie in der Google Cloud -Console die Seite Freigabe (Analytics Hub) auf.

    Zur Freigabe (Analytics Hub)

  2. Klicken Sie auf den Namen des Datenaustauschs, der den Eintrag enthält.

  3. Klicken Sie auf den Eintrag, für den Sie Nutzer hinzufügen möchten.

  4. Klicken Sie auf Berechtigungen festlegen.

  5. Klicken Sie zum Hinzufügen von Hauptkonten auf Hauptkonto hinzufügen.

  6. Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adressen der Identität hinzu, auf die Sie Zugriff gewähren möchten.

  7. Wählen Sie im Menü Rolle auswählen die Option Analytics Hub und dann eine der folgenden IAM-Rollen (Identity and Access Management) aus:

    • Analytics Hub-Administrator
    • Administrator von Analytics Hub-Einträgen
    • Analytics Hub-Publisher
    • Analytics Hub-Abonnent
    • Analytics Hub Subscription Owner
    • Analytics Hub-Betrachter
  8. Klicken Sie auf Speichern.

API

  1. Lesen Sie die vorhandene Richtlinie mit der Eintragsmethode getIamPolicy. Verwenden Sie dazu die Methode projects.locations.dataExchanges.listings.getIamPolicy:

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:getIamPolicy
    

    Dabei gilt:

    • PROJECT_ID: die Projekt-ID, z. B. my-project-1.
    • LOCATION: der Standort des Datenpools, der den Eintrag enthält. Verwenden Sie Kleinbuchstaben.
    • DATAEXCHANGE_ID: die Datenpool-ID.
    • LISTING_ID: die ID des Eintrags.

    „Freigabe“ gibt die aktuelle Richtlinie zurück.

  2. Bearbeiten Sie die Richtlinie mit einem Texteditor, um Mitglieder und ihre zugehörigen IAM-Rollen (Identity and Access Management) hinzuzufügen oder zu entfernen. Verwenden Sie das folgende Format, um Mitglieder hinzuzufügen:

    • user:test-user@gmail.com
    • group:admins@example.com
    • serviceAccount:test123@example.domain.com
    • domain:example.domain.com

    Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um group:publishers@example.com die Rolle roles/analyticshub.publisher zuzuweisen:

    {
     "members": [
       "group:publishers@example.com"
     ],
     "role":"roles/analyticshub.publisher"
    }
    
  3. Verwenden Sie die Methode projects.locations.dataExchanges.listings.setIamPolicy, um die aktualisierte Richtlinie zu schreiben. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.

    POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING-ID:setIamPolicy
    

    Geben Sie im Anfragetext die Eintragsdetails an. Wenn die Anfrage erfolgreich ist, enthält der Antworttext Details zum Eintrag.

Wenn Sie Berechtigungen auf Ressourcenebene erteilen, z. B. für ein Angebot, müssen Sie für den Standortteil des Ressourcennamens Kleinbuchstaben verwenden. Die Verwendung von Werten in Großbuchstaben oder mit gemischter Groß- und Kleinschreibung kann Permission Denied-Fehler verursachen.

  • Verwenden Sie projects/myproject/locations/us/dataExchanges/123/listings/456.
  • Vermeiden Sie: projects/myproject/locations/US/dataExchanges/123/listings/456
  • Vermeiden Sie: projects/myproject/locations/Eu/dataExchanges/123/listings/456

Sie können Rollen für Einträge über dasselbe IAM-Steuerfeld löschen und aktualisieren.

Nächste Schritte