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 ihren Zugriff in BigQuery nach der Ausführung zu steuern.
Weitere Informationen zum Gewähren und Entziehen von Zugriff auf Ressourcen finden Sie unter Zugriff auf eine Ressource gewähren.
Hinweise
- Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
BigQuery and Dataform APIs aktivieren.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
BigQuery and Dataform APIs aktivieren.
Einer Tabelle oder Ansicht BigQuery-Rollen zuweisen
Sie können einer Tabelle oder Ansicht in Dataform BigQuery-Rollen zuweisen. Dazu fügen Sie der .sqlx
-Definitionsdatei der ausgewählten Tabelle oder Ansicht einen post_operations
-Block mit der DCL-Anweisung GRANT
hinzu.
So weisen Sie einer ausgewählten Tabelle oder Ansicht BigQuery-Rollen zu:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie zuerst ein Repository und dann einen Arbeitsbereich aus.
Maximieren Sie im Bereich Files (Dateien) das Verzeichnis
definitions/
.Wählen Sie die Definitionsdatei
.sqlx
der Tabelle oder Ansicht aus, auf die Sie Zugriff gewähren möchten.Geben Sie in die Datei das folgende Code-Snippet ein:
post_operations { GRANT "ROLE_LIST" ON ${self()} TO "USER_LIST" }
Ersetzen Sie Folgendes:
- ROLE_LIST: die BigQuery-Rolle oder Liste mit durch Kommas getrennten BigQuery-Rollen, die Sie gewähren möchten
USER_LIST: die durch Kommas getrennte Liste von Nutzern, denen die Rolle gewährt wird
Eine Liste der gültigen Formate finden Sie unter user_list.
Optional: Klicken Sie auf Format.
Führen Sie die Tabelle oder Ansicht aus.
Wenn Sie einer inkrementellen Tabelle Zugriff gewährt haben, entfernen Sie nach der ersten Ausführung die Anweisung
GRANT
aus der Tabellendefinitionsdatei.
Das folgende Codebeispiel zeigt die Rolle BigQuery-Betrachter, die einem Nutzer für eine Tabelle zugewiesen wurde:
config { type: "table" }
SELECT ...
post_operations {
GRANT `roles/bigquery.dataViewer` ON ${self()} TO "user:222larabrown@gmail.com"
}
BigQuery-Rollen einer Tabelle oder Ansicht widerrufen
Sie können BigQuery-Rollen aus einer Tabelle oder Ansicht widerrufen, indem Sie der .sqlx
-Definitionsdatei der ausgewählten Tabelle oder Ansicht einen post_operations
-Block mit der DCL-Anweisung REVOKE
hinzufügen.
So widerrufen Sie BigQuery-Rollen für eine ausgewählte Tabelle oder Ansicht:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie zuerst ein Repository und dann einen Arbeitsbereich aus.
Maximieren Sie im Bereich Files (Dateien) das Verzeichnis
definitions/
.Wählen Sie die Definitionsdatei
.sqlx
der Tabelle oder Ansicht aus, für die Sie den Zugriff widerrufen möchten.Geben Sie in den
post_operations
-Block die folgendeREVOKE
-Anweisung ein:REVOKE "ROLE_LIST" ON ${self()} TO "USER_LIST"
Ersetzen Sie Folgendes:
- ROLE_LIST: die BigQuery-Rolle oder die Liste mit durch Kommas getrennten BigQuery-Rollen, die Sie widerrufen möchten.
- USER_LIST: die durch Kommas getrennte Liste von Nutzern, denen die Rolle entzogen wird. Eine Liste der gültigen Formate finden Sie unter user_list.
Wenn Sie den Zugriff widerrufen möchten, der in einer
GRANT
-Anweisung in der Datei erteilt wurde, ersetzen Sie dieGRANT
-Anweisung durch eineREVOKE
-Anweisung.Removing the `GRANT` statement without adding the `REVOKE` statement does not revoke access.
Optional: Klicken Sie auf Format.
Führen Sie die Tabelle oder Ansicht aus.
Wenn Sie den Zugriff auf eine inkrementelle Tabelle widerrufen haben, entfernen Sie die Anweisung
REVOKE
nach der ersten Ausführung aus der Tabellendefinitionsdatei.
Das folgende Codebeispiel zeigt die Rolle BigQuery-Betrachter, die einem Nutzer für eine Tabelle entzogen wurde:
config { type: "table" }
SELECT ...
post_operations {
REVOKE `roles/bigquery.dataViewer` ON ${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 Speicherort steuern möchten, können Sie eine spezielle type: "operations"
-Datei mit DCL-Anweisungen vom Typ GRANT
und REVOKE
erstellen.
So verwalten Sie den Zugriff auf BigQuery-Tabelle in einer einzelnen type: "operations"
-Datei:
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie zuerst 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 gefolgt von
.sqlx
nachdefinitions/
ein. Beispiel:definitions/table-access.sqlx
Dateinamen dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.
Klicken Sie auf Datei erstellen.
Maximieren Sie im Bereich Files (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: der Typ der Ressource:
TABLE
oderVIEW
. - RESOURCE_NAME: der Name der Tabelle oder Ansicht
- USER_LIST: die durch Kommas getrennte Liste von Nutzern, denen die Rolle gewährt oder entzogen wurde. Eine Liste der gültigen Formate finden Sie unter user_list.
Fügen Sie nach Bedarf
GRANT
- undREVOKE
-Anweisungen hinzu.Wenn Sie den Zugriff widerrufen möchten, der in einer
GRANT
-Anweisung in der Datei erteilt wurde, ersetzen Sie dieGRANT
-Anweisung durch eineREVOKE
-Anweisung.Der Zugriff wird nicht widerrufen, wenn die
GRANT
-Anweisung entfernt wird, ohne dieREVOKE
-Anweisung hinzuzufügen.
Optional: Klicken Sie auf Format.
Datei nach jeder Aktualisierung ausführen.
- Wenn Sie den Zugriff auf eine inkrementelle Tabelle gewährt oder widerrufen haben, entfernen Sie nach der ersten Ausführung der Anweisung die Anweisung
GRANT
oderREVOKE
aus der Datei.
- Wenn Sie den Zugriff auf eine inkrementelle Tabelle gewährt oder widerrufen haben, entfernen Sie nach der ersten Ausführung der Anweisung die Anweisung
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.