Zugriff auf Tabellen und Ansichten steuern

In diesem Dokument wird beschrieben, wie Sie mithilfe der BigQuery-Tabellen-ACL den Zugriff auf Tabellen und Ansichten steuern. Eine Übersicht über die BigQuery-Tabellen-ACL finden Sie unter Einführung in die Zugriffssteuerung für Tabellen.

Nachdem Sie eine Tabelle oder Ansicht erstellt haben, können Sie die Richtlinie so festlegen:

  • mithilfe der BigQuery-Web-UI
  • mithilfe des Befehls bq set-iam-policy
  • durch Aufrufen der Methode tables.setIamPolicy

Mit der BigQuery-Tabellen-ACL können Sie den Zugriff sowohl auf logische Ansichten als auch auf autorisierte Ansichten auf Dataset-Ebene festlegen. Eine logische Ansicht kann auch auf andere Quelltabellen und Ansichten verweisen, die Sie über die BigQuery-Tabellen-ACL freigegeben haben.

Hinweis

  1. Erstellen Sie die Tabelle oder Ansicht, die Sie mit der BigQuery-Tabellen-ACL verwenden möchten.

  2. Weisen Sie der Person, die die Schritte hierunter ausführen soll, die Rolle "BigQuery-Dateninhaber" (roles/bigquery.dataOwner) oder "BigQuery-Administrator" (roles/bigquery.admin) zu.

  3. Weitere Informationen zu den Richtlinien für die Identitäts- und Zugriffsverwaltung finden Sie unter Informationen zu Richtlinien und im Referenzthema Richtlinie.

Zugriffsrichtlinie erstellen

So erstellen Sie eine Zugriffsrichtlinie für eine Tabelle oder Ansicht:

Console

  1. Rufen Sie in der Cloud Console die BigQuery-Web-UI auf.

    Zur Cloud Console

  2. Wählen Sie im Navigationsbereich im Abschnitt Ressourcen Ihr Projekt aus.

  3. Wählen Sie das Dataset aus, das die Tabelle oder Ansicht enthält.

  4. Wählen Sie die Tabelle oder Ansicht aus.

  5. Wenn Sie den Zugriff für eine Tabelle ändern möchten, klicken Sie auf Tabelle freigeben. Klicken Sie auf Ansicht freigeben, wenn Sie den Zugriff für eine Ansicht ändern möchten.

  6. Die Seite Tabellenberechtigungen oder Ansichtsberechtigungen wird geöffnet. Geben Sie unter Mitglieder hinzufügen die E-Mail-Adresse des Nutzers ein, der Zugriff auf die Tabelle oder Ansicht erhält.

  7. Wählen Sie aus der Drop-down-Liste Rolle auswählen die Rolle aus, die Sie dem Nutzer zuweisen möchten. Im folgenden Beispiel wird joe@example.com die Rolle "BigQuery-Datenbetrachter" (roles/bigquery.dataViewer) zugewiesen.

    Tabellenberechtigungen

  8. Klicken Sie auf Fertig.

bq

  1. Rufen Sie die vorhandene Richtlinie in eine lokale Datei ab.

    bq get-iam-policy \
     project-id:dataset.table_or_view \
     > policy.json
    

    wobei

    • project-id ist die Projekt-ID.
    • dataset ist der Name des Datasets, das die zu aktualisierende Ressource (Tabelle oder Ansicht) enthält.
    • table_or_view ist der Name der Ressource, die Sie aktualisieren möchten.

    Weitere Beispiele zum Identifizieren einer Tabelle oder Ansicht und zum Weiterleiten der Richtlinienausgabe in eine Datei:

    • bq get-iam-policy dataset1.table1 > policy.json
    • bq get-iam-policy --project_id=project1 -t dataset1.table1 > policy.json
    • bq get-iam-policy project1:dataset1.table1 > policy.json
  2. Wenn Sie der Richtlinie noch keine Mitglieder hinzugefügt haben, enthält die Datei policy.json einen etag-Wert und keine anderen Felder. Weitere Informationen zum Formatieren der Datei policy.json finden Sie unter Informationen zu Richtlinien.

  3. Fügen Sie der Richtlinie das Feld bindings hinzu, um das erste Mitglied hinzuzufügen. So erteilen Sie beispielsweise joe@example.com die Rolle "BigQuery-Datenbetrachter" (roles/bigquery.dataViewer):

    "bindings": [
     {
       "members": [
         "user:joe@example.com"
       ],
       "role": "roles/bigquery.dataViewer"
     }
    ]
    

    Wenn Sie einer vorhandenen Bindung weitere Mitglieder hinzufügen müssen, fügen Sie einfach das Mitglied hinzu. Dieses Beispiel zeigt, wie Sie jane@example.com die Rolle BigQuery-Datenbetrachter (roles/bigquery.dataViewer) für eine Bindung zuweisen, die bereits vorhanden ist.

    "members": [
           "user:joe@example.com",
           "user:jane@example.com"
         ],
         "role": "roles/bigquery.dataViewer"
       }
    
  4. Aktualisieren Sie die Richtlinie.

    bq set-iam-policy \
     project-id:dataset.table_or_view \
     policy.json
    

    Informationen zu Versionen von IAM-Richtlinienschemas finden Sie unter Richtlinienversionen.

API

  1. Rufen Sie tables.getIamPolicy auf, um die aktuelle Richtlinie abzurufen.

  2. Bearbeiten Sie die Richtlinie, um Mitglieder und/oder Bindungen hinzuzufügen. Informationen zum Format der Richtlinie finden Sie im Beispiel bq.

  3. Rufen Sie tables.setIamPolicy auf, um die neue Richtlinie zu erstellen.

Informationen zu Versionen von IAM-Richtlinienschemas finden Sie unter Richtlinienversionen.

Zugriffsrichtlinie aktualisieren

So aktualisieren Sie eine Zugriffsrichtlinie für eine Tabelle oder Ansicht:

Console

  1. Rufen Sie in der Cloud Console die BigQuery-Web-UI auf.

    Zur Cloud Console

  2. Wählen Sie im Navigationsbereich im Abschnitt Ressourcen Ihr Projekt aus.

  3. Wählen Sie das Dataset aus, das die Tabelle oder Ansicht enthält.

  4. Wählen Sie die Tabelle oder Ansicht aus.

  5. Wenn Sie den Zugriff für eine Tabelle ändern möchten, klicken Sie auf Tabelle freigeben. Klicken Sie auf Ansicht freigeben, wenn Sie den Zugriff für eine Ansicht ändern möchten.

  6. Die Seite Tabellenberechtigungen oder Ansichtsberechtigungen wird geöffnet.

    • Verwenden Sie die unter Zugriffsrichtlinie erstellen beschriebene Methode, um neue Mitglieder hinzuzufügen.

    • Wenn Sie einem Nutzer die Zugriffsrechte entziehen möchten, suchen Sie diesen über das Feld Mitglieder suchen. Erweitern Sie jede Gruppe, aus der Sie den Nutzer entfernen möchten, und klicken Sie dann beim entsprechenden Nutzer auf Löschen .

    • Wenn Sie die Gruppenmitgliedschaft für einen Nutzer ändern möchten, nehmen Sie wie in den direkt darüber stehenden Schritten beschrieben Hinzufügungen und/oder Löschungen vor.

  7. Wiederholen Sie diese Schritte für andere Nutzer, deren Zugriff Sie hinzufügen, ändern oder entfernen möchten. Wenn Sie fertig sind, klicken Sie auf Fertig.

bq

  1. Rufen Sie die vorhandene Richtlinie in eine lokale Datei ab.

    bq get-iam-policy --format=prettyjson \
     project-id:dataset.table_or_view \
     > policy.json
    

    wobei

    • project-id ist die Projekt-ID.
    • dataset ist der Name des Datasets, das die zu aktualisierende Tabelle enthält.
    • table_or_view ist der Name der zu aktualisierenden Tabelle oder Ansicht.

    Weitere Beispiele zum Identifizieren einer Tabelle oder Ansicht und zum Weiterleiten der Richtlinienausgabe in eine Datei:

    • bq get-iam-policy dataset1.table1 > policy.json
    • bq get-iam-policy --project_id=project1 -t dataset1.table1 > policy.json
    • bq get-iam-policy project1:dataset1.table1 > policy.json
  2. Ändern Sie policy.json nach Bedarf.

    Weitere Informationen zum Formatieren der Datei policy.json finden Sie unter Informationen zu Richtlinien.

    Informationen zu Versionen von IAM-Richtlinienschemas finden Sie unter Richtlinienversionen.

  3. Aktualisieren Sie die Richtlinie.

    bq set-iam-policy \
     project-id:dataset.table_or_view \
     policy.json
    

API

  1. Rufen Sie tables.getIamPolicy auf, um die aktuelle Richtlinie abzurufen.

  2. Bearbeiten Sie die Richtlinie, um Mitglieder und/oder Bindungen hinzuzufügen.

    Das für die Richtlinie erforderliche Format finden Sie im Referenzthema Richtlinien.

  3. Rufen Sie tables.setIamPolicy auf, um die aktualisierte Richtlinie zu erstellen.

Weitere Informationen zu den Richtlinien für die Identitäts- und Zugriffsverwaltung finden Sie unter Informationen zu Richtlinien und im Referenzthema Richtlinie.

Nächste Schritte

  • FAQ lesen
  • Unter Audit-Logging erfahren Sie mehr über das Audit-Logging der Aktivitäten von Administratoren von BigQuery-Tabellen-ACLs.