Vordefinierte Dataform-Rollen
In der folgenden Tabelle sind die vordefinierten Rollen aufgeführt, mit denen Sie Zugriff auf Dataform-Ressourcen erhalten:
Role | Permissions |
---|---|
Dataform Admin( Full access to all Dataform resources. |
|
Code Creator( Access only to private and shared code resources. The permissions in the Code Creator let you create and list code in Dataform, and access only the code that you created and code that was explicitly shared with you. |
|
Code Editor( Edit access code resources. |
|
Code Owner( Full access to code resources. |
|
Code Viewer( Read-only access to all code resources. |
|
Dataform Editor( Edit access to Workspaces and Read-only access to Repositories. |
|
Dataform Viewer( Read-only access to all Dataform resources. |
|
Benutzerdefinierte Dataform-Rollen
Benutzerdefinierte Rollen können alle von Ihnen angegebenen Berechtigungen enthalten. Sie können benutzerdefinierte Rollen erstellen, die Berechtigungen zum Ausführen bestimmter Verwaltungsvorgänge enthalten, z. B. das Erstellen von Entwicklungsarbeitsbereichen oder von Dateien und Verzeichnissen in einem Entwicklungsarbeitsbereich. Informationen zum Erstellen benutzerdefinierter Rollen finden Sie unter Benutzerdefinierte Rollen erstellen und verwalten.
Sicherheitsaspekte für Dataform-Berechtigungen
Jeder Nutzer mit der Berechtigung dataform.repositories.create
kann mit dem Dataform-Standarddienstkonto und allen diesem Dienstkonto gewährten Berechtigungen Code in BigQuery ausführen. Dazu gehört die Ausführung von SQL-Workflows von Dataform.
Die Berechtigungen dataform.repositories.create
sind in den folgenden IAM-Rollen enthalten:
- BigQuery Studio Nutzer (
roles/bigquery.studioUser
) - Code Creator (
roles/dataform.codeCreator
) - Code Editor (
roles/dataform.codeEditor
) - Code-Inhaber (
roles/dataform.codeOwner
) - Colab Enterprise-Nutzer (
roles/aiplatform.colabEnterpriseUser
) - Dataform-Administrator (
roles/dataform.admin
)
Wenn Sie die Daten einschränken möchten, die ein Nutzer oder Dienstkonto in BigQuery lesen oder schreiben kann, können Sie ausgewählten BigQuery-Datasets oder -Tabellen detaillierte BigQuery-IAM-Berechtigungen erteilen. Weitere Informationen finden Sie unter Zugriff auf Datasets steuern und Zugriff auf Tabellen und Ansichten steuern.
Weitere Informationen zum Dataform-Standarddienstkonto sowie zu den erforderlichen Rollen und Berechtigungen finden Sie unter Dataform den erforderlichen Zugriff gewähren.
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataform APIs.
Dataform-Rollen ansehen
Führen Sie in der Google Cloud Console die folgenden Schritte aus:
Rufen Sie die Seite IAM und Verwaltung > Rollen auf.
Wählen Sie im Feld Filter die Option Verwendet in aus, geben Sie
Dataform
ein und drücken Sie die Eingabetaste.Klicken Sie auf eine der aufgeführten Rollen, um die Berechtigungen der Rolle im rechten Bereich anzuzeigen.
Die Rolle „Dataform Admin“ hat beispielsweise uneingeschränkten Zugriff auf alle Dataform-Ressourcen.
Weitere Informationen zum Zuweisen einer Rolle für ein Projekt finden Sie unter Rolle zuweisen. Sie können auf diese Weise vordefinierte oder benutzerdefinierte Rollen zuweisen.
Zugriff auf ein einzelnes Repository steuern
Wenn Sie den Zugriff auf Dataform mit detaillierten Berechtigungen steuern möchten, können Sie Dataform-IAM-Rollen für einzelne Repositories mithilfe der Dataform API-Anfrage repositories.setIamPolicy
festlegen.
So legen Sie Dataform-IAM-Rollen für ein einzelnes Dataform-Repository fest:
Übergeben Sie im Terminal die Dataform API-Anfrage
repositories.setIamPolicy
mit einer Zugriffsrichtlinie.Binden Sie in der Richtlinie einen Nutzer, eine Gruppe, eine Domain oder ein Dienstkonto an eine ausgewählte Rolle im folgenden Format:
{ "policy": { "bindings": [ { "role": "roles/ROLE", "members": [ "TYPE:IDENTIFIER", ] }, ], } }
Ersetzen Sie Folgendes:
ROLE
: eine Dataform-IAM-Rolle, die Sie für das Repository gewähren möchtenTYPE
:user
,group
,domain
oderserviceAccount
IDENTIFIER
: Nutzer, Gruppe, Domain oder Dienstkonto, dem Sie die Rolle zuweisen möchten
Achten Sie auf der IAM-Seite darauf, dass alle Nutzer die vollständige Liste der Dataform-Repositories über eine Dataform-Rolle mit der Berechtigung
dataform.repositories.list
ansehen können.Achten Sie in IAM darauf, dass nur Nutzern, die vollständigen Zugriff auf alle Dataform-Repositories benötigen, die Rolle „Dataform Admin“ für alle Repositories gewährt wird.
Der folgende Befehl übergibt die Dataform API-Anfrage repositories.setIamPolicy
, mit der die Rolle „Dataform Editor“ für das Repository sales
einem einzelnen Nutzer zugewiesen wird:
curl -H "Content-Type: application/json" -X POST -d '{ "policy": { "bindings": [{ "role": "roles/dataform.editor", "members": ["user:sasha@examplepetstore.com"]}] }}' "https://dataform.googleapis.com/v1beta1/projects/examplepetstore/locations/us-central1/repositories/sales:setIamPolicy"
Öffentlichen Zugriff auf ein Repository gewähren
Sie können öffentlichen Zugriff auf ein Dataform-Repository gewähren, indem Sie dem allAuthenticatedUsers
-Hauptkonto IAM-Rollen für das Repository zuweisen.
Wenn Sie dem Hauptkonto allAuthenticatedUsers
eine IAM-Rolle zuweisen, wird diese Rolle auch Dienstkonten und allen Nutzern im Internet zugewiesen, die sich mit einem Google-Konto authentifiziert haben. Dies gilt auch für Konten, die nicht mit einem Google Workspace-Konto oder einer Cloud Identity-Domain verbunden sind, z. B. private Gmail-Konten. Nicht authentifizierte Nutzer wie anonyme Besucher sind nicht enthalten. Weitere Informationen finden Sie unter Alle authentifizierten Nutzer.
Wenn Sie beispielsweise allAuthenticatedUsers
die Rolle „Dataform Viewer“ im Repository sales
zuweisen, haben alle Dienstkonten und Nutzer im Internet, die sich mit einem Google-Konto authentifiziert haben, Lesezugriff auf alle sales
-Coderessourcen.
So gewähren Sie öffentlichen Zugriff auf ein Dataform-Repository:
Übergeben Sie im Terminal die Dataform API-Anfrage
repositories.setIamPolicy
mit einer Zugriffsrichtlinie.Binden Sie in der Richtlinie das Hauptkonto
allAuthenticatedUsers
an eine ausgewählte Rolle im folgenden Format:{ "policy": { "bindings": [ { "role": "roles/ROLE", "members": [ "allAuthenticatedUsers", ] }, ], } }
Ersetzen Sie Folgendes:
ROLE
: eine Dataform-IAM-Rolle, die Sie allen authentifizierten Nutzern zuweisen möchten.
Der folgende Befehl übergibt die Dataform API-Anfrage repositories.setIamPolicy
, mit der die Rolle „Dataform Viewer“ für das Repository sales
an allAuthenticatedUsers
gewährt wird:
curl -H "Content-Type: application/json" -X POST -d '{ "policy": { "bindings": [{ "role": "roles/dataform.viewer", "members": ["allAuthenticatedUsers"]}] }}' "https://dataform.googleapis.com/v1beta1/projects/examplepetstore/locations/us-central1/repositories/sales:setIamPolicy"
Öffentlichen Zugriff auf Repositories verhindern
Wenn Sie verhindern möchten, dass der Öffentlichkeit Zugriff auf ein Dataform-Repository gewährt wird, können Sie das Hauptkonto allAuthenticatedUsers
in Ihrem Projekt einschränken.
Wenn Sie allAuthenticatedUsers
in Ihrem Projekt einschränken möchten, können Sie die Richtlinie iam.allowedPolicyMemberDomains
festlegen und allAuthenticatedUsers
aus der Liste der allowed_values
entfernen.
Wenn Sie allAuthenticatedUsers
in der Richtlinie iam.allowedPolicyMemberDomains
einschränken, kann das Hauptkonto allAuthenticatedUsers
in keiner IAM-Richtlinie im Projekt verwendet werden. Dadurch wird der öffentliche Zugriff auf alle Ressourcen, einschließlich Dataform-Repositories, verhindert.
Weitere Informationen zur Richtlinie iam.allowedPolicyMemberDomains
und eine Anleitung zum Festlegen finden Sie unter Identitäten nach Domain einschränken.
Mitarbeiteridentitätsföderation in Dataform
Mit der Mitarbeiteridentitätsföderation können Sie einen externen Identitätsanbieter (Identity Provider, IdP) verwenden, um Nutzer mit IAM für Google Cloud-Dienste zu authentifizieren und zu autorisieren.
Dataform unterstützt die Mitarbeiteridentitätsföderation ohne bekannte Einschränkungen.
Nächste Schritte
- Weitere Informationen zu IAM finden Sie in der IAM-Übersicht.
- Weitere Informationen zu Rollen und Berechtigungen finden Sie unter Informationen zu Rollen.
- Weitere Informationen zum Verwalten des Zugriffs auf Ressourcen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
- Informationen zum Zuweisen von BigQuery-Rollen für Tabellen in Dataform finden Sie unter Zugriff auf einzelne Tabellen mit IAM steuern.
- Weitere Informationen zu den Schlüsselkonzepten der Mitarbeiteridentitätsföderation finden Sie unter Mitarbeiteridentitätsföderation.