BigQuery-Freigaberollen konfigurieren
In diesem Dokument werden die IAM-Rollen (Identity and Access Management) beschrieben, die für die BigQuery-Freigabe (früher Analytics Hub) verwendet werden, und wie Sie sie Nutzern 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, Administratoren, Publisher, Abonnenten und Betrachter verwalten und auflisten.
Nutzer mit dieser Rolle werden als BigQuery-Freigabeadministratoren bezeichnet.
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:
Rolle „Analytics Hub-Publisher“ (
roles/analyticshub.publisher), mit der Nutzer Folgendes tun können:- Einträge erstellen, aktualisieren und löschen.
- IAM-Richtlinien für Einträge festlegen.
Nutzer mit dieser Rolle werden als BigQuery Sharing-Publisher bezeichnet.
Rolle „Administrator für Analytics Hub-Einträge“ (
roles/analyticshub.listingAdmin), mit der Nutzer Folgendes tun können:- Einträge aktualisieren und löschen.
- IAM-Richtlinien für Einträge festlegen.
Nutzer mit dieser Rolle werden als Administratoren von BigQuery-Freigabelisten bezeichnet.
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önnenNutzer mit dieser Rolle werden als BigQuery-Freigabeabonnenten bezeichnet.
Rolle „Analytics Hub-Betrachter“ (
roles/analyticshub.viewer), mit der Nutzer Einträge und Datenaustauschberechtigungen aufrufen können.Nutzer mit dieser Rolle werden als BigQuery-Freigabe-Betrachter bezeichnet.
Rolle „Inhaber des Analytics Hub-Abos“
Zum Verwalten von Abos bietet Sharing die folgende vordefinierte Rolle, die Sie auf Projektebene zuweisen können:
- Rolle „Analytics Hub Subscription Owner“ (
roles/analyticshub.subscriptionOwner), mit der Nutzer ihre Abos verwalten können
Nutzer mit dieser Rolle werden als Inhaber von BigQuery-Freigabeabos bezeichnet.
IAM-Rollen für die BigQuery-Freigabe zuweisen
Je nach Ihren Anforderungen können Sie die IAM-Rollen auf den folgenden Ebenen der Ressourcenhierarchie zuweisen:
Projekt. Wenn Sie Nutzern eine Rolle für ein Projekt zuweisen, wird sie auf alle Datenpools und Einträge angewendet, die das Projekt enthält.
Datenpool. Wenn Sie Nutzern eine Rolle für einen Datenpool zuweisen, wird diese auf alle Einträge angewendet, die der Datenpool enthält.
Eintrag. Wenn Sie Nutzern eine Rolle für einen Eintrag zuweisen, wird sie nur auf diesen bestimmten Eintrag angewendet.
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
Rufen Sie IAM für das Projekt auf.
Klicken Sie auf Zugriffsrechte erteilen.
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
- E-Mail-Adresse für Google-Konto:
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
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud -Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Speichern Sie die Änderungen.
Sie können Administratoren für ein Projekt über dasselbe IAM-Steuerfeld löschen und aktualisieren, das in den vorherigen Schritten erläutert wurde.
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'
Dabei gilt:
PROJECT_ID: die Projekt-ID, z. B.my-project-1PRINCIPAL: eine gültige Identität, der Sie die Rolle zuweisen möchtenBeispiel:
- 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
- E-Mail-Adresse für Google-Konto:
API
Lesen Sie die vorhandene Richtlinie mit der entsprechenden
getIamPolicy-Methode der Ressource. Für Projekte verwenden Sie die Methodeprojects.getIamPolicy.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ersetzen Sie
PROJECT_IDdurch die Projekt-ID — z. B.my-project-1.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.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um
group:admins@example.comdie Rolleroles/analyticshub.adminzuzuweisen:{ "members": [ "group:admins@example.com" ], "role":"roles/analyticshub.admin" }Verwenden Sie die Methode
setIamPolicy, um die aktualisierte Richtlinie zu schreiben.Mit der Methode
project.setIamPolicykö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_IDdurch die Projekt-ID.
Rolle für einen Datenpool gewähren
So weisen Sie die Rolle für einen Datenpool zu:
Console
Rufen Sie in der Google Cloud -Console die Seite Freigabe (Analytics Hub) auf.
Klicken Sie auf den Namen des Datenpools, für den Sie Berechtigungen festlegen möchten.
Wechseln Sie zum Tab Details.
Klicken Sie auf Berechtigungen festlegen.
Klicken Sie zum Hinzufügen von Hauptkonten auf Hauptkonto hinzufügen.
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
allUsersverwenden, um eine Ressource öffentlich und für alle im Internet zugänglich zu machen, oderallAuthenticatedUsers, um sie nur für angemeldete Google-Nutzer zugänglich zu machen.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
Klicken Sie auf Speichern.
API
Lesen Sie die vorhandene Richtlinie mit der Eintragsmethode
getIamPolicy. Verwenden Sie dazu die Methodeprojects.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.
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.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um
group:subscribers@example.comdie Rolleroles/analyticshub.subscriberzuzuweisen:{ "members": [ "group:subscribers@example.com" ], "role":"roles/analyticshub.subscriber" }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 zu Permission Denied-Fehlern führen.
- 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 Rollen für einen Datenpool über dasselbe IAM-Steuerfeld löschen und aktualisieren, wie in den vorherigen Schritten erläutert.
Rolle für einen Eintrag gewähren
So weisen Sie die Rolle für einen Eintrag zu:
Console
Rufen Sie in der Google Cloud -Console die Seite Freigabe (Analytics Hub) auf.
Klicken Sie auf den Namen des Datenaustauschs, der den Eintrag enthält.
Klicken Sie auf den Eintrag, für den Sie Nutzer hinzufügen möchten.
Klicken Sie auf Berechtigungen festlegen.
Klicken Sie zum Hinzufügen von Hauptkonten auf Hauptkonto hinzufügen.
Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adressen der Identität hinzu, auf die Sie Zugriff gewähren möchten.
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
Klicken Sie auf Speichern.
API
Lesen Sie die vorhandene Richtlinie mit der Eintragsmethode
getIamPolicy. Verwenden Sie dazu die Methodeprojects.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.
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.comgroup:admins@example.comserviceAccount:test123@example.domain.comdomain:example.domain.com
Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um
group:publishers@example.comdie Rolleroles/analyticshub.publisherzuzuweisen:{ "members": [ "group:publishers@example.com" ], "role":"roles/analyticshub.publisher" }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 Unternehmensprofil, 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 zu Permission Denied-Fehlern führen.
- 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 einen Eintrag über dasselbe IAM-Steuerfeld löschen und aktualisieren, wie in den vorherigen Schritten erläutert.
Nächste Schritte
- Informationen zu BigQuery-IAM-Rollen
- BigQuery-Daten freigeben
- Datenpool verwalten
- Einträge verwalten
- Informationen zum Aufrufen und Abonnieren von Einträgen und Datenpools