Dataform und BigQuery verwenden IAM für die Zugriffssteuerung. Weitere Informationen zu Dataform-Rollen und Berechtigungen in IAM, siehe Zugriff mit IAM steuern
Wenn Dataform eine Tabelle oder Ansicht ausführt, wird die Ressource in BigQuery Bei der Entwicklung in Dataform können Sie BigQuery-Rollen für einzelne Tabellen und Ansichten zur Steuerung des Zugriffs nach der Ausführung in BigQuery.
Weitere Informationen zum Gewähren und Entziehen von Zugriff auf Ressourcen finden Sie unter Zugriff auf eine Ressource 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.
BigQuery-Rollen für eine Tabelle oder Ansicht gewähren
Sie können einer Tabelle oder Ansicht in Dataform BigQuery-Rollen zuweisen, indem Sie
Hinzufügen eines post_operations
-Blocks mit
die DCL-Anweisung GRANT
zur Definitionsdatei .sqlx
der ausgewählten Tabelle oder Ansicht hinzu.
So weisen Sie einer ausgewählten Tabelle oder Ansicht BigQuery-Rollen zu:
Ö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
definitions/
..sqlx
-Definitionsdatei der Tabelle oder Ansicht auswählen auf 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 Liste mit durch Kommas getrennten Werten BigQuery-Rollen, die Sie gewähren möchten.
RESOURCE_TYPE:
TABLE
oderVIEW
.USER_LIST: die durch Kommas getrennte Liste der Nutzer, Rolle zugewiesen 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 die
GRANT
-Anweisung nach der ersten Ausführung aus der Tabellendefinitionsdatei.
Im folgenden Codebeispiel wird der BigQuery-Viewer Rolle, 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 eine
post_operations
-Block mit
der DCL-Anweisung REVOKE
zur Definitionsdatei .sqlx
der ausgewählten Tabelle oder Ansicht hinzu.
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
definitions/
..sqlx
-Definitionsdatei der Tabelle oder Ansicht auswählen dem Sie den Zugriff entziehen möchten.Geben Sie im Block
post_operations
die folgendeREVOKE
-Anweisung ein:REVOKE "ROLE_LIST" ON "RESOURCE_TYPE" ${self()} TO "USER_LIST"
Ersetzen Sie Folgendes:
- ROLE_LIST: die BigQuery-Rolle oder Liste mit durch Kommas getrennten Werten BigQuery-Rollen, die Sie widerrufen möchten.
- RESOURCE_TYPE:
TABLE
oderVIEW
. - USER_LIST: die durch Kommas getrennte Liste der Nutzer, -Rolle wurde widerrufen. Eine Liste der gültigen Formate finden Sie unter user_list:
Um den in einer
GRANT
-Anweisung in der Datei gewährten Zugriff zu widerrufen, ersetzen Sie denGRANT
-Anweisung mit einerREVOKE
-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
REVOKE
-Anweisung nach der ersten Ausführung aus der Tabellendefinitionsdatei.
Im folgenden Codebeispiel wird der BigQuery-Viewer einem Nutzer für eine Tabelle widerrufene Rolle:
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
Um den BigQuery-Zugriff auf einzelne Tabellen und Ansichten in einem einzigen
können Sie eine eigene type: "operations"
-Datei mit
GRANT
und REVOKE
DCL-Anweisungen.
Um den Zugriff auf BigQuery-Tabelle in einer einzigen type: "operations"
-Datei zu verwalten,
führen Sie folgende Schritte aus:
Ö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 Symbol Mehr aus.Klicken Sie auf Datei erstellen.
Geben Sie im Feld Dateipfad hinzufügen den Namen der Datei gefolgt von
.sqlx
nachdefinitions/
. Beispiel:definitions/table-access.sqlx
Dateinamen dürfen nur Ziffern, Buchstaben, Bindestriche und Unterstriche enthalten.
Klicken Sie auf Datei erstellen.
Maximieren Sie im Bereich Dateien das Verzeichnis
definitions/
und wählen Sie den Ordner neu erstellte Datei.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 Liste mit durch Kommas getrennten Werten BigQuery-Rollen, die Sie gewähren oder widerrufen möchten.
- RESOURCE_TYPE:
TABLE
oderVIEW
. - RESOURCE_NAME: der Name der Tabelle oder Ansicht.
- USER_LIST: die durch Kommas getrennte Liste der Nutzer, Rolle gewährt oder widerrufen wurde. Eine Liste der gültigen Formate finden Sie unter user_list:
Fügen Sie nach Bedarf
GRANT
- undREVOKE
-Anweisungen hinzu.Um den in einer
GRANT
-Anweisung in der Datei gewährten Zugriff zu widerrufen, ersetzen Sie denGRANT
-Anweisung mit einerREVOKE
-Anweisung.GRANT
-Anweisung entfernen, ohne dieREVOKE
-Anweisung hinzuzufügen hebt den Zugriff nicht auf.
Optional: Klicken Sie auf Format.
Führen Sie die Datei nach jedem Update aus.
- Wenn Sie den Zugriff auf eine inkrementelle Tabelle gewährt oder widerrufen haben, entfernen Sie den
GRANT
oderREVOKE
-Anweisung aus der Datei nach der ersten Ausführung der Anweisung.
- Wenn Sie den Zugriff auf eine inkrementelle Tabelle gewährt oder widerrufen haben, entfernen Sie den
Nächste Schritte
- Weitere Informationen zu IAM finden Sie unter 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