Dataform und BigQuery verwenden IAM für die Zugriffssteuerung. Weitere Informationen zu Dataform-Rollen und ‑Berechtigungen in IAM finden Sie unter Zugriff mit IAM steuern.
Wenn Dataform eine Tabelle oder Ansicht ausführt, wird die Ressource in BigQuery erstellt. Während der Entwicklung in Dataform können Sie einzelnen Tabellen und Ansichten BigQuery-Rollen zuweisen, um den Zugriff in BigQuery nach der Ausführung zu steuern.
Weitere Informationen zum Erteilen und Entziehen des Zugriffs auf Ressourcen finden Sie unter Zugriff auf eine Ressource gewähren.
Hinweis
- 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.
BigQuery-Rollen für eine Tabelle oder Ansicht gewähren
Sie können einer Tabelle oder Ansicht in Dataform BigQuery-Rollen zuweisen, indem Sie der .sqlx
-Definitiondatei der ausgewählten Tabelle oder Ansicht einen post_operations
-Block mit der GRANT
-DCL-Anweisung hinzufügen.
So gewähren Sie einer ausgewählten Tabelle oder Ansicht BigQuery-Rollen:
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie ein Repository und dann einen Arbeitsbereich aus.
Maximieren Sie im Bereich Dateien das Verzeichnis
definitions/
.Wählen Sie die
.sqlx
-Definitiondatei der Tabelle oder Ansicht aus, für die Sie Zugriff gewähren möchten.Geben Sie in die Datei das folgende Code-Snippet ein:
post_operations { GRANT "ROLE_LIST" ON "RESOURCE_TYPE" ${self()} TO "USER_LIST" }
Ersetzen Sie Folgendes:
ROLE_LIST: die BigQuery-Rolle oder eine Liste mit durch Kommas getrennten BigQuery-Rollen, die Sie gewähren möchten.
RESOURCE_TYPE:
TABLE
oderVIEW
.USER_LIST: eine durch Kommas getrennte Liste von Nutzern, denen die Rolle zugewiesen wird.
Eine Liste der gültigen Formate findest du unter user_list.
Optional: Klicken Sie auf Formatieren.
Tabelle oder Ansicht ausführen.
Wenn Sie Zugriff auf eine inkrementelle Tabelle gewährt haben, entfernen Sie die
GRANT
-Anweisung nach der ersten Ausführung aus der Tabellendefinitionsdatei.
Im folgenden Codebeispiel wird die Rolle BigQuery-Betrachter gezeigt, die einem Nutzer für eine Tabelle zugewiesen wurde:
config { type: "table" }
SELECT ...
post_operations {
GRANT `roles/bigquery.dataViewer`
ON TABLE ${self()}
TO "user:222larabrown@gmail.com"
}
BigQuery-Rollen für eine Tabelle oder Ansicht widerrufen
Sie können BigQuery-Rollen für eine Tabelle oder Ansicht widerrufen, indem Sie der .sqlx
-Definitiondatei der ausgewählten Tabelle oder Ansicht einen post_operations
-Block mit der REVOKE
-DCL-Anweisung hinzufügen.
So widerrufen Sie BigQuery-Rollen für eine ausgewählte Tabelle oder Ansicht:
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie ein Repository und dann einen Arbeitsbereich aus.
Maximieren Sie im Bereich Dateien das Verzeichnis
definitions/
.Wählen Sie die
.sqlx
-Definitiondatei der Tabelle oder Ansicht aus, für die Sie den Zugriff widerrufen möchten.Geben Sie im Block
post_operations
die folgendeREVOKE
-Anweisung ein:REVOKE "ROLE_LIST" ON "RESOURCE_TYPE" ${self()} FROM "USER_LIST"
Ersetzen Sie Folgendes:
- ROLE_LIST: die BigQuery-Rolle oder eine Liste mit durch Kommas getrennten BigQuery-Rollen, die Sie widerrufen möchten.
- RESOURCE_TYPE:
TABLE
oderVIEW
. - USER_LIST: die durch Kommas getrennte Liste der Nutzer, denen die Rolle entzogen wird. Eine Liste der gültigen Formate findest du unter user_list.
Wenn Sie den in einer
GRANT
-Anweisung in der Datei gewährten Zugriff widerrufen möchten, ersetzen Sie dieGRANT
-Anweisung durch eineREVOKE
-Anweisung.Optional: Klicken Sie auf Formatieren.
Tabelle oder Ansicht ausführen.
Wenn Sie den Zugriff auf eine inkrementelle Tabelle widerrufen haben, entfernen Sie die
REVOKE
-Anweisung nach der ersten Ausführung aus der Tabellendefinitionsdatei.
Im folgenden Codebeispiel wird die Rolle BigQuery-Betrachter für einen Nutzer für eine Tabelle widerrufen:
config { type: "table" }
SELECT ...
post_operations {
REVOKE `roles/bigquery.dataViewer`
ON TABLE ${self()}
FROM "user:222larabrown@gmail.com"
}
BigQuery-Rollen für Tabellen und Ansichten gemeinsam verwalten
Wenn Sie den BigQuery-Zugriff auf einzelne Tabellen und Ansichten an einem einzigen Ort steuern möchten, können Sie eine spezielle type: "operations"
-Datei mit DCL-Anweisungen für GRANT
und REVOKE
erstellen.
So verwalten Sie den Zugriff auf BigQuery-Tabellen in einer einzelnen type: "operations"
-Datei:
Öffnen Sie in der Google Cloud Console die Seite Dataform.
Wählen Sie ein Repository und dann einen Arbeitsbereich aus.
Klicken Sie im Bereich Dateien neben
definitions/
auf das MenüMehr.
Klicken Sie auf Datei erstellen.
Geben Sie im Feld Dateipfad hinzufügen den Namen der Datei ein und fügen Sie nach
definitions/
die Zahl.sqlx
hinzu. Beispiel:definitions/table-access.sqlx
Dateinamen dürfen nur Zahlen, Buchstaben, Bindestriche und Unterstriche enthalten.
Klicken Sie auf Datei erstellen.
Maximieren Sie im Bereich Dateien das Verzeichnis
definitions/
und wählen Sie die neu erstellte Datei aus.Geben Sie in die Datei das folgende Code-Snippet ein:
config { type: "operations" } GRANT "ROLE_LIST" ON RESOURCE_TYPE RESOURCE_NAME TO "USER_LIST" REVOKE "ROLE_LIST" ON { "<var>" }}RESOURCE_TYPE RESOURCE_NAME TO "USER_LIST"
Ersetzen Sie Folgendes:
- ROLE_LIST: die BigQuery-Rolle oder eine Liste mit durch Kommas getrennten BigQuery-Rollen, die Sie gewähren oder widerrufen möchten.
- RESOURCE_TYPE:
TABLE
oderVIEW
. - RESOURCE_NAME: der Name der Tabelle oder Ansicht.
- USER_LIST: eine durch Kommas getrennte Liste von Nutzern, denen die Rolle zugewiesen oder von denen sie entzogen wird. Eine Liste der gültigen Formate findest du unter user_list.
Fügen Sie nach Bedarf
GRANT
- undREVOKE
-Anweisungen hinzu.Wenn Sie den in einer
GRANT
-Anweisung in der Datei gewährten Zugriff widerrufen möchten, ersetzen Sie dieGRANT
-Anweisung durch eineREVOKE
-Anweisung.Wenn Sie die
GRANT
-Anweisung entfernen, ohne dieREVOKE
-Anweisung hinzuzufügen, wird der Zugriff nicht widerrufen.
Optional: Klicken Sie auf Formatieren.
Führen Sie die Datei nach jedem Update aus.
- Wenn Sie den Zugriff auf eine inkrementelle Tabelle gewährt oder widerrufen haben, entfernen Sie die
GRANT
- oderREVOKE
-Anweisung nach der ersten Ausführung aus der Datei.
- Wenn Sie den Zugriff auf eine inkrementelle Tabelle gewährt oder widerrufen haben, entfernen Sie die
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.