Zugriffssteuerung

Auf dieser Seite finden Sie eine ausführliche Referenz zu den Zugriffssteuerungen, die in BigQuery und im BigQuery Data Transfer Service verfügbar sind.

Informationen zu den Zugriffssteuerungen in BigQuery ML finden Sie unter Zugriffssteuerung in der Dokumentation zu BigQuery ML.

Übersicht

BigQuery verwendet für die Verwaltung des Zugriffs auf Ressourcen die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM). Hierzu bietet BigQuery diese drei Ressourcentypen: Organisationen, Projekte und Datasets. In der Richtlinienhierarchie von IAM sind die Datasets die untergeordneten Ressourcen von Projekten. Tabellen und Ansichten sind untergeordnete Ressourcen von Datasets. Sie übernehmen die Berechtigungen des ihnen übergeordneten Datasets.

Sie können den Zugriff auf eine Ressource gewähren. Dazu weisen Sie einem Nutzer, einer Gruppe oder einem Dienstkonto mindestens eine Rolle zu. Die Rollen "Organisation" und "Projekt" wirken sich auf die Fähigkeit zum Ausführen von Jobs aus. Die Rolle "Dataset" wiederum wirkt sich auf die Fähigkeit aus, auf die Daten in einem Projekt zuzugreifen oder sie zu bearbeiten.

IAM bietet zwei Arten von Rollen: vordefinierte und einfache. Wenn Sie einem Nutzer sowohl vordefinierte als auch einfache Rollen zuweisen, erhält er als Berechtigung eine Kombination der Berechtigungen beider Rollen.

Berechtigungen und Rollen

Vordefinierte Rollen – Vergleichsmatrix

Sie können die folgenden vordefinierten BigQuery-Rollen zuweisen.

Rechte dataViewer dataEditor dataOwner metadataViewer user jobUser admin
Projekte auflisten/abrufen
Tabellen auflisten
Tabellenmetadaten abrufen
Tabellendaten abrufen
Tabellen erstellen
Tabellen bearbeiten/löschen
Routinen auflisten
Routinendefinition abrufen
Routinen erstellen
Routinen ändern oder löschen
Dataset-Metadaten abrufen
Neue Datasets erstellen
Datasets bearbeiten/löschen Selbst erstellte
Datasets
Jobs/Abfragen erstellen
Jobs abrufen Selbst erstellte
Jobs
Alle Jobs
Jobs auflisten Alle Jobs (Jobs von anderen Nutzern werden entfernt) Alle Jobs
Jobs abbrechen Selbst erstellte
Jobs
Selbst erstellte
Jobs
Alle Jobs
Gespeicherte Abfragen auflisten/abrufen
Gespeicherte Abfragen erstellen/aktualisieren/löschen
Mithilfe der BigQuery Storage API eine Lesesitzung erstellen
Übertragungen abrufen
Übertragungen erstellen/aktualisieren/löschen

BigQuery-Berechtigungen

In der folgenden Tabelle werden die für BigQuery verfügbaren Berechtigungen aufgelistet.

Berechtigung Beschreibung
bigquery.jobs.create Neue Jobs erstellen.
bigquery.jobs.listAll Alle Jobs auflisten und Metadaten der einzelnen Jobs abrufen, die von einem Nutzer gesendet wurden.*
bigquery.jobs.list Alle Jobs auflisten und Metadaten der einzelnen Jobs abrufen, die von einem Nutzer gesendet wurden.* Bei Jobs, die von anderen Nutzern gesendet wurden, werden Details und Metadaten entfernt.
bigquery.jobs.get Daten und Metadaten eines Jobs abrufen.*
bigquery.jobs.update Jobs abbrechen.*
bigquery.datasets.create Neue, leere Datasets erstellen.
bigquery.datasets.delete Datasets löschen.
bigquery.datasets.get Metadaten über ein Dataset abrufen.
bigquery.datasets.update Metadaten eines Datasets aktualisieren.
bigquery.tables.create Neue Tabellen erstellen.
bigquery.tables.list Tabellen und Metadaten zu Tabellen auflisten.
bigquery.tables.delete Tabellen löschen.
bigquery.tables.get Metadaten von Tabellen abrufen.
Zum Abrufen der Tabellendaten benötigen Sie bigquery.tables.getData.
bigquery.tables.getData Tabellendaten abrufen.
Zum Abrufen der Tabellenmetadaten benötigen Sie bigquery.tables.get.
bigquery.tables.export Tabellendaten aus BigQuery exportieren.
bigquery.tables.update

Tabellenmetadaten aktualisieren.
Zum Aktualisieren der Tabellendaten benötigen Sie bigquery.tables.updateData.

bigquery.tables.updateData

Tabellendaten aktualisieren.
Zum Aktualisieren der Tabellenmetadaten benötigen Sie bigquery.tables.update.

bigquery.routines.create Neue Routinen (Funktionen und gespeicherte Prozeduren) erstellen.
bigquery.routines.list Routinen und Metadaten zu Routinen auflisten.
bigquery.routines.delete Routinen löschen.
bigquery.routines.get Routinendefinitionen und -metadaten abrufen.
bigquery.routines.update

Routinendefinitionen und -metadaten aktualisieren.

bigquery.transfers.get Übertragungsmetadaten abrufen.
bigquery.transfers.update Übertragungen erstellen, aktualisieren und löschen.
bigquery.savedqueries.create Gespeicherte Abfragen erstellen.
bigquery.savedqueries.get Metadaten für gespeicherte Abfragen abrufen.
bigquery.savedqueries.list Gespeicherte Abfragen auflisten.
bigquery.savedqueries.update Gespeicherte Abfragen aktualisieren.
bigquery.savedqueries.delete Gespeicherte Abfragen löschen.
bigquery.readsessions.create Mithilfe der BigQuery Storage API eine neue Lesesitzung erstellen.

* Für jeden Job, den Sie erstellen, erhalten Sie automatisch die entsprechenden Berechtigungen bigquery.jobs.get und bigquery.jobs.update für diesen Job.

Für Methoden erforderliche Berechtigungen

In der folgenden Tabelle sind die Berechtigungen aufgelistet, die der Abfragende haben muss, um eine bestimmte Methode aufzurufen:

Methode Erforderliche Berechtigungen
datasets.delete bigquery.datasets.delete
Sie benötigen außerdem bigquery.tables.delete, wenn Tabellen enthalten sind, sowie bigquery.routines.delete, wenn Routinen enthalten sind.
datasets.get bigquery.datasets.get
datasets.insert bigquery.datasets.create
datasets.list Verwendet bigquery.datasets.get, um Berechtigungen zu zurückgegebenen Datasets zu überprüfen.
datasets.patch bigquery.datasets.update
datasets.update bigquery.datasets.update
jobs.cancel bigquery.jobs.update
Eigene Jobs können ohne diese Berechtigung storniert werden.
jobs.get bigquery.jobs.get
Eigene Jobs können ohne diese Berechtigung abgerufen werden.
jobs.getQueryResults bigquery.jobs.get
Zum Abrufen der Jobergebnisse benötigen Sie die Berechtigungen bigquery.jobs.get oder Sie müssen der Jobeigentümer sein. Darüber hinaus müssen Sie der Eigentümer der Tabelle sein, in welche die Ergebnisse des Jobs geschrieben werden.
jobs.insert Nutzen Sie zum Starten des Jobs bigquery.jobs.create.
Zum Abschließen des Jobs sind ggf. weitere Berechtigungen erforderlich.
jobs.list Mit bigquery.jobs.list können Sie sich alle Jobs von allen Nutzern anzeigen lassen. Details und Metadaten bei Jobs von anderen Nutzern werden entfernt. Mit bigquery.jobs.listAll und dem Parameter allUsers=true werden die vollständigen Details aller Jobs von allen Nutzern angezeigt.
jobs.query Nutzen Sie zum Starten des Jobs bigquery.jobs.create.
Zum Abschließen des Jobs sind ggf. weitere Berechtigungen erforderlich.
projects.list resourcemanager.projects.get
tabledata.insertAll bigquery.tables.updateData
tabledata.list bigquery.tables.getData
tables.delete bigquery.tables.delete
tables.get bigquery.tables.get
tables.insert bigquery.tables.create
Wenn die Methode eine Ansicht erstellt, werden für alle Tabellen, die in der Ansicht referenziert sind, ebenfalls die bigquery.tables.getData-Berechtigungen benötigt.
tables.list bigquery.tables.list
tables.patch bigquery.tables.update
tables.update bigquery.tables.update
Wenn die Methode eine Ansicht aktualisiert, werden für alle Tabellen, die in der Ansicht referenziert sind, ebenfalls die bigquery.tables.getData-Berechtigungen benötigt. Wenn für die Ansicht im Dataset bereits eine Berechtigung vorhanden ist, wird für die Methode für alle Datasets, die mit den Tabellen verbunden sind, ebenfalls bigquery.datasets.update benötigt.
routines.delete bigquery.routines.delete
routines.get bigquery.routines.get
routines.insert bigquery.routines.create
routines.list bigquery.routines.list
routines.update bigquery.routines.update
projects.transferConfigs.create bigquery.transfers.update
projects.transferConfigs.get bigquery.transfers.get
projects.transferConfigs.patch bigquery.transfers.update

Rollen

In der folgenden Tabelle werden die Google BigQuery API-IAM-Rollen inklusive einer Liste aller Berechtigungen der einzelnen Rollen aufgelistet. Beachten Sie, dass jede Berechtigung für einen bestimmten Ressourcentyp gilt.

Rolle enthält die Berechtigungen: für den Ressourcentyp:
roles/bigquery.metadataViewer
resourcemanager.projects.get Organisation
resourcemanager.projects.list Organisation
bigquery.datasets.get Dataset
bigquery.tables.list Dataset
bigquery.tables.get Dataset
bigquery.routines.list Dataset
bigquery.routines.get Dataset
roles/bigquery.dataViewer
Alle obigen plus:
bigquery.tables.getData Dataset
bigquery.tables.export Dataset
roles/bigquery.dataEditor
Alle obigen, plus:
bigquery.datasets.create Projekt
bigquery.tables.create Dataset
bigquery.tables.delete Dataset
bigquery.tables.update Dataset
bigquery.tables.updateData Dataset
bigquery.routines.create Dataset
bigquery.routines.delete Dataset
bigquery.routines.update Dataset
roles/bigquery.dataOwner
Alle obigen, plus:
bigquery.datasets.delete Projekt
bigquery.datasets.update Dataset
roles/bigquery.user
resourcemanager.projects.get Organisation
resourcemanager.projects.list Organisation
bigquery.jobs.create Projekt
bigquery.jobs.list Projekt
bigquery.datasets.create Projekt
bigquery.datasets.get Projekt
bigquery.tables.list Projekt
bigquery.routines.list Projekt
bigquery.transfers.get Projekt
bigquery.savedqueries.get Projekt
bigquery.savedqueries.list Projekt
bigquery.readsessions.create Projekt
roles/bigquery.jobUser
resourcemanager.projects.get Organisation
bigquery.jobs.create Projekt
roles/bigquery.readSessionUser
resourcemanager.projects.get Organisation
resourcemanager.projects.list Organisation
bigquery.readsessions.create Projekt
roles/bigquery.admin
Alle Berechtigungen aus anderen Rollen sowie:
bigquery.jobs.get Projekt
bigquery.jobs.listAll Projekt
bigquery.jobs.update Projekt
bigquery.savedqueries.create Projekt
bigquery.savedqueries.delete Projekt
bigquery.savedqueries.update Projekt
bigquery.transfers.update Projekt

Details der vordefinierten Rollen

Details der vordefinierten Rollen

roles/bigquery.
user

Berechtigungen zum Ausführen von Jobs (einschließlich Abfragen) innerhalb des Projekts. Die meisten Personen (Data Scientists/Analysten) in einem Unternehmen sollten Nutzer sein. Die Nutzerrolle kann die eigenen Jobs aufzählen und stornieren und Datasets in einem Projekt aufzählen. Darüber hinaus ermöglicht die Rolle das Erstellen neuer Datasets im Projekt. Dem Ersteller wird für diese neuen Datasets die Rolle bigquery.dataOwner zugewiesen.

Grund: Mit dieser Rolle kann der Datenzugriff von der Fähigkeit getrennt werden, Aufgaben im Projekt auszuführen. Dies ist hilfreich, wenn die Teammitglieder Daten aus mehreren Projekten abrufen. Dies umfasst auch die Dataset- und Tabellenaufzählung, damit Nutzer potentielle Datenquellen besser ermitteln können.

Ressourcentypen:

  • Organisation
  • Projekt

roles/bigquery.
jobUser

Berechtigungen zum Ausführen von Jobs (einschließlich Abfragen) innerhalb des Projekts. Die jobUser-Rolle kann Informationen über die eigenen Jobs abrufen und eigene Jobs abbrechen.

Grund: Mit dieser Rolle kann der Datenzugriff von der Fähigkeit getrennt werden, Aufgaben im Projekt auszuführen. Dies ist hilfreich, wenn die Teammitglieder Daten aus mehreren Projekten abrufen. Diese Rolle erlaubt keinen Zugriff auf BigQuery-Daten. Wenn Datenzugriff erforderlich ist, müssen Zugriffsrechte auf Dataset-Ebene gewährt werden.

Ressourcentypen:

  • Organisation
  • Projekt

roles/bigquery.
readSessionUser

Berechtigungen zum Erstellen und Verwenden von Lesesitzungen innerhalb des Projekts über die BigQuery Storage API.

Grund: Mit dieser Rolle kann der Datenzugriff von der Fähigkeit getrennt werden, Lesesitzungen im Projekt zu erstellen. Nutzer mit der Berechtigung bigquery.readSessionUser haben keinen Zugriff auf Tabellendaten. Zum Lesen von Daten müssen Sie zusätzlich bigquery.tables.getData-Berechtigungen gewähren oder READER-Zugriff auf das Dataset ermöglichen, das die Tabellen enthält.

Ressourcentypen:

  • Organisation
  • Projekt

roles/bigquery.
dataViewer

Bei Anwendung auf Datasets erteilt dataViewer die Berechtigung zum:

  • Lesen der Metadaten des Datasets und Auflisten der Tabellen und Routinen im Dataset.
  • Lesen der Daten und Metadaten aus den Tabellen und Routinen des Datasets.

Bei Anwendung auf Projekt- oder Organisationsebene ermöglicht die Rolle auch die Aufzählung aller Datasets im Projekt. Für eine Ausführung der Jobs sind jedoch zusätzliche Rollen erforderlich.

Ein Nutzer, der lediglich über die bigquery.dataViewer-Berechtigungen für ein Dataset ohne zusätzliche Berechtigungen verfügt, kann beispielsweise nur die Tabellen und Routinen im Dataset auflisten und mit den get() APIs den Inhalt der Tabellen und Definitionen der Routinen lesen. Ohne zusätzliche Berechtigungen kann er die Daten nicht abfragen.

Das folgende Szenario zeigt ein Beispiel für einen Nutzer mit Berechtigungen zum Ausführen von Abfragen. Ein Nutzer mit den Berechtigungen bigquery.user in projectA und den Berechtigungen bigquery.dataViewer für projectA:dataset1 und projectB:dataset2 kann in projectA eine Abfrage ausführen, die eines der Datasets oder beide Datasets verwendet.

Für externe Datenquellen, die sich außerhalb von BigQuery Storage befinden, könnten zusätzliche Berechtigungen für die Nicht-BigQuery-Datenquellen erforderlich sein.

Grund: Die dataViewer-Rolle ist auf schreibgeschützten Datenzugriff ausgelegt. Mit dataViewer kann Zugriff auf Daten gewährt werden; zur Ausgabe von Abfrage-Jobs sind jedoch weitere Berechtigungen erforderlich, wie zum Beispiel diejenigen, die von den Rollen bigquery.user oder bigquery.admin gewährt werden. Mit dataViewer können keine Kosten anfallen.

Ressourcentypen:

  • Organisation
  • Projekt

roles/bigquery.
metadataViewer

Bei der Anwendung auf Organisations- oder Projektebene ermöglicht metadataViewer Folgendes:

  • Alle Datasets auflisten und Metadaten für alle Datasets im Projekt lesen.
  • Alle Tabellen, Ansichten und Routinen auflisten sowie Metadaten für alle Tabellen, Ansichten und Routinen im Projekt lesen.

Weitere Rollen sind erforderlich, um Jobs auszuführen.

Grund: Die metadataViewer-Rolle ist für den Zugriff auf Metadaten ausgelegt. Der metadataViewer kann auf Metadaten von Datasets, Tabellen und Ansichten zugreifen, jedoch sind zum Ausführen von Abfragejobs zusätzliche Berechtigungen erforderlich, beispielsweise die von der bigquery.user-Rolle erteilten Berechtigungen.

Ressourcentypen:

  • Organisation
  • Projekt

roles/bigquery.
dataEditor

Bei Anwendung auf Datasets erteilt dataEditor die Berechtigung zum:

  • Lesen der Metadaten des Datasets und Auflisten der Tabellen und Routinen im Dataset.
  • Erstellen, Aktualisieren, Abrufen und Löschen der Tabellen und Routinen des Datasets.

Bei Anwendung auf Projekt- oder Organisationsebene ermöglicht die Rolle zusätzlich das Erstellen neuer Datasets.

Grund: Die Rolle "dataEditor" erweitert bigquery.dataViewer um die Berechtigungen zum Erstellen, Aktualisieren und Löschen der Tabellen innerhalb des Datasets. Es werden jedoch keine Mutationen des Datasets an sich ermöglicht.

Ressourcentypen:

  • Organisation
  • Projekt
  • Dataset

roles/bigquery.
dataOwner

Bei Anwendung auf Datasets erteilt dataOwner die Berechtigung zum:

  • Lesen, Aktualisieren und Löschen des Datasets.
  • Erstellen, Aktualisieren, Abrufen und Löschen der Tabellen und Routinen des Datasets.

Bei Anwendung auf Projekt- oder Organisationsebene ermöglicht die Rolle zusätzlich das Erstellen neuer Datasets.

Grund: Die Rolle "dataOwner" erweitert bigquery.dataEditor um die Möglichkeit zum Ändern und Löschen des enthaltenen Datasets.

Ressourcentypen:

  • Organisation
  • Projekt
  • Dataset

roles/bigquery.
admin

Berechtigungen zum Verwalten aller Ressourcen im Projekt. Der Nutzer kann alle Daten im Projekt verwalten und Jobs anderer Nutzer, die im Projekt ausgeführt werden, stornieren.

Grund: Dies ist die höchste Rolle mit den umfassendsten Verantwortlichkeiten; der Superuser, der seine Kollegen beim Ausführen ihrer jeweiligen Analysen unterstützt.

Ressourcentypen:

  • Organisation
  • Projekt

Benutzerdefinierte Rollen

Zusätzlich zu den vordefinierten Rollen unterstützt BigQuery auch benutzerdefinierte Rollen. Weitere Informationen finden Sie in der Cloud IAM-Dokumentation unter Benutzerdefinierte Rollen erstellen und verwalten.

Nicht unterstützte Berechtigungen

Die folgenden Berechtigungen können nur benutzerdefinierten Rollen auf Organisationsebene hinzugefügt werden. Auf Projektebene oder darunter haben Sie keine Auswirkungen.

  • resourcemanager.projects.list

Die folgenden Berechtigungen können auf nicht abwärtskompatible Weise geändert werden. Ihre Verwendung in einer Produktionsumgebung wird nicht empfohlen. Sie unterliegen weder einem SLA noch einer Richtlinie zur Einstellung von Produkten und Diensten.

  • bigquery.config.get
  • bigquery.config.update

Einfache IAM-Rollen

Die einfachen IAM-Rollen sind den BigQuery-Legacy-Projektrollen Betrachter/Bearbeiter/Inhaber und den Dataset-Rollen Leser/Autor/Inhaber direkt zugeordnet.

Von einfachen Rollen umsteigen

Für Nutzer, die sich eher mit der Legacy-Autorisierungseinrichtung auskennen, hat BigQuery eine Kombination einfacher Rollen (Leser, Autor, Inhaber) als Berechtigungen auf Projektebene veröffentlicht.

Aus Kompatibilitätsgründen werden die alten Berechtigungen auf Dataset-Ebene direkt mit den vordefinierten Rollen, die ihnen entsprechen, verknüpft.

BigQuery – Legacy-Berechtigungen IAM-Entsprechung
Projekt – Darf ansehen Einfache Rolle – Betrachter
Projekt – Darf bearbeiten Einfache Rolle – Bearbeiter
Projekt – Ist Inhaber Einfache Rolle – Inhaber
Dataset – LESER bigquery.dataViewer
Dataset – AUTOR bigquery.dataEditor
Dataset – INHABER bigquery.dataOwner

Einfache Rollen für Projekte

Standardmäßig gewährt die Vergabe von Zugriff auf ein Projekt auch Zugriff auf die darin enthaltenen Datasets. Dieser Standardzugriff kann individuell pro Dataset überschrieben werden. Jeder Nutzer mit der Projektrolle Owner kann jede Projektrolle aufheben oder bearbeiten.

Beim Erstellen eines Projekts erhält der Nutzer, der das Projekt erstellt hat, von BigQuery die Rolle Owner.

Einfache Rolle Rechte
Viewer
  • Kann einen Job im Projekt starten. Je nach Jobtyp sind weitere Dataset-Rollen erforderlich.
  • Kann alle Jobs auflisten und abrufen sowie Jobs, die für das Projekt gestartet wurden, aktualisieren.
  • Wenn Sie in einem Projekt, das Betrachter enthält, Datasets erstellen, erhalten die Nutzer für das neue Dataset von BigQuery die vordefinierte Rolle bigquery.dataViewer.
Editor
  • Wie bei Viewer, plus:
    • Kann ein neues Dataset im Projekt erstellen.
    • Wenn Sie in einem Projekt, das einen Bearbeiter enthält, Datasets erstellen, erhalten die Nutzer für das neue Dataset von BigQuery die vordefinierte Rolle bigquery.dataEditor.
Owner
  • Wie bei Editor, plus:
    • Kann alle Datasets im Projekt auflisten.
    • Kann jedes Dataset im Projekt löschen.
    • Kann alle im Projekt ausgeführten Jobs auflisten und abrufen; einschließlich der Jobs, die von anderen Projektnutzern ausgeführt wurden.
    • Wenn Sie ein Dataset erstellen, erhalten alle Projektinhaber für das neue Dataset von BigQuery die vordefinierte Rolle bigquery.dataOwner.

      Ausnahme: Wenn ein Nutzer eine Abfrage ausführt, wird ein anonymes Dataset zur Speicherung der im Cache gespeicherten Ergebnistabelle erstellt. Nur der Nutzer, der die Abfrage ausführt, erhält OWNER-Zugriff auf das anonyme Dataset.

Einfache Rollen für Projekte werden über die Google Cloud Platform Console gewährt oder widerrufen. Um eine neue Projektrolle zu gewähren oder zu widerrufen, müssen Sie über Owner-Zugriff für das Projekt verfügen.

Weitere Informationen zum Gewähren oder Widerrufen von Zugriff für Projektrollen finden Sie unter Projektmitglieder verwalten.

Einfache Rollen für Datasets

Die einfachen Rollen für Datasets entsprechen funktional den vordefinierten Rollen, die unter Von einfachen Rollen umsteigen beschrieben sind.

Den folgenden Entitätstypen können Dataset-Rollen gewährt werden:

Entitätstyp API
Einzelner Nutzer (nach E-Mail-Adresse) access.userByEmail
Eine Google-Gruppe (nach E-Mail-Adresse) access.groupByEmail
Eine vordefinierte Gruppe von Nutzern, zum Beispiel alle Nutzer oder eine Gruppe von Nutzern, die in dem Projekt, das das Dataset enthält, dieselbe Projektrolle innehaben access.specialGroup

Die folgenden einfachen Rollen gelten für Datasets:

Dataset-Rolle Rechte
READER
  • Kann Tabellen im Dataset lesen, abfragen, kopieren oder exportieren. Kann Routinen im Datensatz lesen
    • Kann für das Dataset get aufrufen
    • Kann für Tabellen im Dataset get und list aufrufen
    • Kann für Routinen im Dataset get und list aufrufen
    • Kann für Tabellen im Dataset für Tabellendaten list aufrufen
WRITER
  • Wie bei READER, plus:
    • Kann Daten im Dataset bearbeiten oder anhängen
OWNER
  • Wie bei WRITER, plus:
    • Kann für das Dataset update aufrufen
    • Kann für das Dataset delete aufrufen

Hinweis: Datasets müssen mindestens eine Entität mit der Rolle OWNER haben. Ein Nutzer mit der Rolle OWNER kann die eigene OWNER-Rolle nicht entfernen.

Beim Erstellen eines neuen Datasets fügt BigQuery den folgenden Entitäten Standard-Dataset-Zugriff hinzu. Rollen, die bei der Dataset-Erstellung angegeben werden, überschreiben die Standardwerte.

Entität Dataset-Rolle
Alle Nutzer mit Viewer-Zugriff auf das Projekt READER
Alle Nutzer mit Editor-Zugriff auf das Projekt WRITER
Alle Nutzer mit Owner-Zugriff auf das Projekt

OWNER

Ausnahme: Wenn ein Nutzer eine Abfrage ausführt, wird ein anonymes Dataset zur Speicherung der im Cache gespeicherten Ergebnistabelle erstellt. Nur der Nutzer, der die Abfrage ausführt, erhält OWNER-Zugriff auf das anonyme Dataset.

Dataset-Rollen werden unter Verwendung einer der folgenden Optionen gewährt oder widerrufen:

  • Über die BigQuery-API mit update.
  • Über die Web-UI. Klicken Sie dazu auf das Drop-down-Menü neben einem Dataset-Namen und anschließend auf Dataset freigeben.
  • Über das bq-Befehlszeilentool mit dem Befehl "bq update". Verwenden Sie das Flag "--source" zur Angabe einer JSON-Datei, die eine dataset-Teilressource enthält, für die das Feld "access" festgelegt ist.

Beispielszenarien

Die folgenden Beispiele umfassen eine Gruppe von Data Scientists, die alle zu einer Google-Gruppe namens "AnalystGroup" gehören.

Lese- und Schreibzugriff auf Daten in einem Dataset

CompanyProject ist ein Projekt, das dataset1 und dataset2 umfasst. AnalystGroup1 ist eine Gruppe von Data Scientists, die nur an dataset1 arbeitet, und AnalystGroup2 eine, die nur an dataset2 arbeitet. Die Data Scientists sollten nur auf das Dataset, an dem sie gerade arbeiten, vollen Zugriff haben, einschließlich des Zugriffs auf Abfragen der Daten.

Lese- und Schreibzugriff auf ein Dataset
Auf das Dataset CompanyProject:dataset1 AnalystGroup1 WRITER-Zugriff auf dataset1 gewähren. Diese Rolle ist der vordefinierten IAM-Rolle bigquery.dataEditor zugeordnet.
Auf das Dataset CompanyProject:dataset2 AnalystGroup2 WRITER-Zugriff auf dataset2 gewähren. Diese Rolle ist der vordefinierten IAM-Rolle bigquery.dataEditor zugeordnet.
Auf das Projekt CompanyProject AnalystGroup1 und AnalystGroup2 bigquery.user-Zugriff auf CompanyProject gewähren.

Wenn den Data Scientists WRITER-Zugriff auf Dataset-Ebene erteilt wird, können diese Daten in den Dataset-Tabellen abfragen, ihnen werden jedoch keine Berechtigungen zum Ausführen von Abfragejobs im Projekt erteilt. Damit Abfragejobs für ein Dataset ausgeführt werden können, für das den Data Scientists Zugriff erteilt wurde, muss den Data Scientists-Gruppen die vordefinierte Rolle bigquery.user auf Projektebene zugeordnet werden. Die bigquery.user-Rolle gewährt bigquery.jobs.create-Berechtigungen.

Alternativ können Sie die Data Scientists-Gruppen in eine benutzerdefinierte IAM-Rolle auf Projektebene aufnehmen, die die Berechtigungen bigquery.jobs.create gewährt.

Vollzugriff auf Daten in einem Projekt

AnalystGroup ist eine Gruppe von Data Scientists, die mit BigQuery arbeitet und verantwortlich für alle Facetten seiner Verwendung in einem Projekt namens CompanyProject ist. Für die Gruppe ist es am besten, wenn alle Mitglieder Lese- und Schreibzugriff auf alle Daten haben. Andere Gruppen in der Organisation arbeiten mit anderen Cloud Platform-Produkten, aber niemand sonst interagiert mit BigQuery. Die AnalystGroup verwendet keine anderen Cloud Platform-Dienste.

Vollzugriff auf Daten in einem Projekt
Auf das Projekt CompanyProject AnalystGroup in die vordefinierte Rolle bigquery.admin aufnehmen.

Vollzugriff auf eine Organisation

CompanyA ist eine Organisation, die möchte, dass eine bestimmte Person namens Admin1 zum Administrator für alle BigQuery-Daten in allen ihren Projekten ernannt wird. MonitoringServiceAccount ist ein Dienstkonto, das für die Überwachung der Größe aller Tabellen in allen Projekten der Organisation verantwortlich ist.

Vollzugriff auf eine Organisation
Auf die Organisation CompanyA

Wenn das Unternehmen möchte, dass MonitoringServiceAccount auch Tabellen verkleinert, die eine bestimmte Größe überschreiten, und Daten entfernt, deren Alter einen bestimmten Zeitraum überschreitet, muss MonitoringServiceAccount in die vordefinierte Rolle bigquery.user aufgenommen werden.

Lesezugriff auf Daten im selben Projekt

AnalystGroup besteht aus einer Reihe von Data Scientists, die für die Analysedienste in einem Projekt namens CompanyProject verantwortlich sind. OperationsServiceAccount ist ein Dienstkonto, das für das Laden von Anwendungsprotokollen mithilfe von Bulk-Jobs in ein spezifisches CompanyProject:AppLogs-Dataset verantwortlich ist. Den Analysten ist es nicht erlaubt, die Protokolle zu bearbeiten.

Lesezugriff auf Daten im selben Projekt
Auf das Projekt CompanyProject
  • OperationsServiceAccount in die vordefinierte Rolle bigquery.user aufnehmen.
  • AnalystGroup in die vordefinierte Rolle bigquery.user aufnehmen.
Auf das Dataset CompanyProject:AppLogs

Lesezugriff auf Daten in einem anderen Projekt

AnalystGroup besteht aus einer Reihe von Data Scientists, die für die Analysedienste in einem Projekt namens CompanyProject verantwortlich sind. Die Daten, die sie analysieren, existieren jedoch in einem separaten Projekt namens CompanyLogs. OperationsServiceAccount ist ein Dienstkonto, das für das Laden von Anwendungsprotokollen mithilfe von Bulk-Jobs in ein spezifisches CompanyLogs-Projekt verantwortlich ist.

Die AnalystGroup kann nur die Daten im CompanyLogs-Projekt lesen und keinen zusätzlichen Speicher erstellen oder Abfragejobs im Projekt ausführen. Stattdessen verwenden die Analysten das Projekt CompanyAnalytics, um ihre Arbeit zu erledigen und ihre Ausgabe innerhalb des Projekts CompanyAnalytics zu pflegen.

Lesezugriff auf Daten in einem anderen Projekt
Auf das Projekt CompanyLogs
Auf das Projekt CompanyAnalytics
  • AnalystGroup in die vordefinierte Rolle bigquery.user aufnehmen.

Programmatische Bearbeitung von Rollen

Mithilfe der folgenden Methoden können Sie die vordefinierten Rollen im Dataset-Projekt

und auf Organisationsebene programmatisch bearbeiten.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...