Vordefinierte Rollen und Berechtigungen

Auf dieser Seite finden Sie Informationen zu IAM-Rollen (Identitäts- und Zugriffsverwaltung) und Berechtigungen für BigQuery.

Hier werden auch die Rollen und Berechtigungen beschrieben, die für jedes der BigQuery-Begleitprodukte relevant sind:

  • BigQuery ML
  • BigQuery Data Transfer Service
  • BigQuery BI Engine

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

Überblick

Wenn eine Identität eine Google Cloud API aufruft, erfordert BigQuery, dass die Identität die entsprechenden Berechtigungen zur Verwendung der Ressource hat. Sie können Berechtigungen gewähren, indem Sie einem Nutzer, einer Gruppe oder einem Dienstkonto Rollen zuweisen.

Auf dieser Seite werden die BigQuery-IAM-Rollen beschrieben, die Sie Identitäten für den Zugriff auf BigQuery-Ressourcen zuweisen können.

Arten von IAM-Rollen

Es gibt drei Arten von Rollen in IAM:

  • Einfache Rollen umfassen die Rollen "Inhaber", "Bearbeiter" und "Betrachter". Die einfachen Rollen stellen die Zugriffssteuerungen dar, die vor der Einführung von IAM vorhanden waren.

  • Vordefinierte Rollen, die einen genau definierten Zugriff auf einen bestimmten Dienst ermöglichen und von Google Cloud verwaltet werden. Vordefinierte Rollen sollen allgemeine Anwendungsfälle und Zugriffskontrollmuster unterstützen.

  • Benutzerdefinierte Rollen, die einen genau definierten Zugriff gemäß einer vom Nutzer angegebenen Liste von Berechtigungen ermöglichen.

Um zu ermitteln, ob eine oder mehrere Berechtigungen in einer einfachen, vordefinierten oder benutzerdefinierten Rolle enthalten sind, können Sie eine der folgenden Methoden verwenden:

Wenn Sie einem Nutzer sowohl vordefinierte als auch einfache Rollen zuweisen, werden ihm die Berechtigungen beider Rollen gewährt.

Weitere Informationen dazu, wie Sie mit IAM auf Ressourcen zugreifen, finden Sie in IAM-Dokumentation Gewähren, ändern und widerrufen.

Informationen zum Erstellen benutzerdefinierter Rollen finden Sie in der IAM-Dokumentation unter Benutzerdefinierte Rollen erstellen und verwalten.

Berechtigungen und vordefinierte IAM-Rollen für BigQuery

Wenn Sie Zugriff auf eine Ressource gewähren möchten, weisen Sie einem Nutzer, einer Gruppe oder einem Dienstkonto mindestens eine Rolle zu. Sie können den Zugriff auf den folgenden BigQuery-Ressourcenebenen gewähren:

  • Organisations- oder Google Cloud-Projektebene
  • Dataset-Ebene
  • Tabellen- oder Ansichtsebene

Auf Organisations- oder Cloud-Projektebene angewendete Rollen

Wenn Sie Rollen auf Organisations- und Projektebene zuweisen, erteilen Sie die Berechtigung zum Ausführen von BigQuery-Jobs oder auf alle BigQuery-Ressourcen eines Projekts.

Auf Dataset-Ebene angewendete Rollen

Sie können Rollen auf Dataset-Ebene zuweisen, um Zugriff auf ein bestimmtes Dataset zu gewähren, ohne vollen Zugriff auf die Projektressourcen zu gewähren. In der IAM-Richtlinienhierarchie sind BigQuery-Datasets untergeordnete Ressourcen von Projekten. Weitere Informationen zum Zuweisen von Rollen auf Dataset-Ebene finden Sie unter Zugriff auf Datasets steuern.

Rollen, die auf einzelne Ressourcen in Datasets angewendet werden

Sie können bestimmten Ressourcentypen in Datasets Rollen zuweisen, ohne vollständigen Zugriff auf die Ressourcen des Datasets zu gewähren.

Rollen können einzelnen Ressourcen der folgenden Typen zugewiesen werden:

  • Tabellen (Beta)
  • Ansichten (Beta)

Rollen können nicht auf einzelne Ressourcen der folgenden Typen angewendet werden:

  • routines
  • models

Weitere Informationen zum Zuweisen von Rollen auf Tabellen- oder Ansichtsebene finden Sie unter Zugriff auf Tabellen oder Ansichten steuern.

BigQuery-Berechtigungen

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

Berechtigung Beschreibung
bigquery.bireservations.get (Beta) BI Engine-Reservierungen lesen.
bigquery.bireservations.update (Beta) BI Engine-Reservierungen aktualisieren.
bigquery.capacityCommitments.create (Beta) Eine Kapazitätszusicherung im Projekt erstellen.
bigquery.capacityCommitments.delete (Beta) Eine Kapazitätszusicherung löschen.
bigquery.capacityCommitments.get (Beta) Details zu einer Kapazitätszusicherung abrufen.
bigquery.capacityCommitments.list (Beta) Alle Kapazitätszusicherungen in einem Projekt auflisten.
bigquery.capacityCommitments.update (Beta) Alle Kapazitätszusicherungen in einem Projekt aktualisieren.
bigquery.connections.create Neue Verbindungen in einem Projekt erstellen.
bigquery.connections.delete Verbindung löschen.
bigquery.connections.get Verbindungsmetadaten abrufen. Anmeldedaten sind ausgeschlossen.
bigquery.connections.list Verbindungen in einem Projekt auflisten.
bigquery.connections.update Verbindung und zugehörige Anmeldedaten aktualisieren.
bigquery.connections.use Verbindungskonfiguration verwenden, um eine Verbindung zu einer Remotedatenquelle herzustellen.
bigquery.datasets.create Neue, leere Datasets erstellen.
bigquery.datasets.delete Datasets löschen.
bigquery.datasets.get Metadaten über ein Dataset abrufen.
bigquery.datasets.getIamPolicy Reserviert für zukünftige Verwendungen.
bigquery.datasets.setIamPolicy Reserviert für zukünftige Verwendungen.
bigquery.datasets.update Metadaten eines Datasets aktualisieren.
bigquery.datasets.updateTag (Beta) Metadaten eines Datasets aktualisieren.
bigquery.jobs.create Jobs, einschließlich Abfragen, innerhalb des Projekts ausführen.
bigquery.jobs.get Daten und Metadaten eines Jobs abrufen.*
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.listAll Alle Jobs auflisten und Metadaten der einzelnen Jobs abrufen, die von einem Nutzer gesendet wurden.*
bigquery.jobs.update Jobs abbrechen.*
bigquery.models.create Neue Modelle erstellen.
bigquery.models.delete Modelle löschen.
bigquery.models.getData Modelldaten abrufen. Zum Abrufen der Modellmetadaten benötigen Sie bigquery.models.getMetadata.
bigquery.models.getMetadata Modellmetadaten abrufen. Zum Abrufen der Modelldaten benötigen Sie bigquery.models.getData.
bigquery.models.list Modelle und Metadaten zu Modellen auflisten.
bigquery.models.updateData Modelldaten aktualisieren. Zum Aktualisieren von Modellmetadaten benötigen Sie bigquery.models.updateMetadata.
bigquery.models.updateMetadata Modellmetadaten aktualisieren. Zum Aktualisieren von Modelldaten benötigen Sie bigquery.models.updateData.
bigquery.models.create und bigquery.models.getData ML-Vorgänge ausführen: ML.PREDICT, ML.WEIGHTS, ML.TRAINING_INFO und ML.FEATURE_INFO
bigquery.readsessions.create (Beta) Mithilfe der BigQuery Storage API eine neue Lesesitzung erstellen.
bigquery.readsessions.getData (Beta) Daten über die BigQuery Storage API aus einer Lesesitzung lesen.
bigquery.readsessions.update (Beta) Eine Lesesitzung über die BigQuery Storage API aktualisieren.
bigquery.reservations.create (Beta) Reservierung in einem Projekt erstellen.
bigquery.reservations.delete (Beta) Eine Reservierung löschen.
bigquery.reservations.get (Beta) Details zu einer Reservierung abrufen.
bigquery.reservations.list (Beta) Alle Reservierungen in einem Projekt auflisten.
bigquery.reservations.update (Beta) Die Attribute einer Reservierung aktualisieren.
bigquery.reservationAssignments.create (Beta)

Eine Reservierungszuweisung erstellen. Diese Berechtigung ist für das Eigentümerprojekt und die zugewiesene Ressource erforderlich.
Um eine Reservierungszuweisung zu verschieben, benötigen Sie bigquery.reservationAssignments.create für das neue Eigentümerprojekt und die zugewiesene Ressource.

bigquery.reservationAssignments.delete (Beta)

Eine Reservierungszuweisung löschen. Diese Berechtigung ist für das Eigentümerprojekt und die zugewiesene Ressource erforderlich.
Um eine Reservierungszuweisung zu verschieben, benötigen Sie bigquery.reservationAssignments.delete für das alte Eigentümerprojekt und die zugewiesene Ressource.

bigquery.reservationAssignments.list (Beta) Alle Reservierungszuweisungen in einem Projekt auflisten.
bigquery.reservationAssignments.search (Beta) Nach einer Reservierungszuweisung für ein bestimmtes Projekt, einen Ordner oder eine Organisation suchen.
bigquery.routines.create Neue Routinen (Funktionen und gespeicherte Prozeduren) erstellen.
bigquery.routines.delete Routinen löschen.
bigquery.routines.get Routinendefinitionen und -metadaten abrufen.
bigquery.routines.list Routinen und Metadaten zu Routinen auflisten.
bigquery.routines.update

Routinendefinitionen und -metadaten aktualisieren.

bigquery.savedqueries.create Gespeicherte Abfragen erstellen.
bigquery.savedqueries.delete Gespeicherte Abfragen löschen.
bigquery.savedqueries.get Metadaten für gespeicherte Abfragen abrufen.
bigquery.savedqueries.list Gespeicherte Abfragen auflisten.
bigquery.savedqueries.update Gespeicherte Abfragen aktualisieren.
bigquery.tables.create Neue Tabellen erstellen.
bigquery.tables.delete Tabellen löschen.
bigquery.tables.export Tabellendaten aus BigQuery exportieren.
bigquery.tables.get Metadaten von Tabellen abrufen.
Zum Abrufen der Tabellendaten benötigen Sie bigquery.tables.getData.
bigquery.tables.getData Tabellendaten abrufen. Diese Berechtigung wird zum Abfragen von Tabellendaten benötigt.
Zum Abrufen von Tabellenmetadaten benötigen Sie bigquery.tables.get.
bigquery.tables.getIamPolicy IAM-Richtlinie einer Tabelle lesen.
bigquery.tables.list Tabellen und Metadaten zu Tabellen auflisten.
bigquery.tables.setCategory Richtlinien-Tags im Tabellenschema festlegen.
bigquery.tables.setIamPolicy IAM-Richtlinie einer Tabelle ändern.
bigquery.tables.update

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

bigquery.tables.updateData

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

bigquery.tables.updateTag (Beta) Tags für eine Tabelle aktualisieren.
bigquery.transfers.get Übertragungsmetadaten abrufen.
bigquery.transfers.update Übertragungen erstellen, aktualisieren und löschen.

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

Vordefinierte IAM-Rollen für BigQuery

In der folgenden Tabelle sind die vordefinierten BigQuery-IAM-Rollen und die jeweiligen Berechtigungen der Rollen aufgeführt. Jede Berechtigung gilt für einen bestimmten Ressourcentyp.

Rolle Titel Beschreibung Berechtigungen Niedrigste Ressource
roles/bigquery.admin BigQuery-Administrator Berechtigungen zum Verwalten aller Ressourcen im Projekt. Kann damit alle Daten im Projekt verwalten und Jobs von anderen Nutzern abbrechen, die im Projekt ausgeführt werden.
  • bigquery.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Projekt
roles/bigquery.connectionAdmin BigQuery Connection-AdministratorBeta
  • bigquery.connections.*
roles/bigquery.connectionUser BigQuery Connection-NutzerBeta
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.use
roles/bigquery.dataEditor BigQuery-Datenbearbeiter

Bei Anwendung auf eine Tabelle oder Ansicht gewährt diese Rolle Berechtigungen für:

  • Daten und Metadaten für die Tabelle oder Ansicht lesen und aktualisieren.
  • Die Tabelle oder Ansicht löschen.

Diese Rolle kann nicht auf einzelne Modelle oder Routinen angewendet werden.

Bei Anwendung auf ein Dataset gewährt diese Rolle Berechtigungen für:

  • Metadaten des Datasets lesen und Tabellen im Dataset auflisten.
  • Tabellen des Datasets erstellen, aktualisieren, abrufen und löschen.

Bei Anwendung auf Projekt- oder Organisationsebene können Sie durch diese Rolle zusätzlich neue Datasets erstellen.

  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.updateTag
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.tables.create
  • bigquery.tables.delete
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Tabelle oder Ansicht
roles/bigquery.dataOwner BigQuery-Dateninhaber

Bei Anwendung auf eine Tabelle oder Ansicht gewährt diese Rolle Berechtigungen für:

  • Daten und Metadaten für die Tabelle oder Ansicht lesen und aktualisieren.
  • Tabelle oder Ansicht freigeben.
  • Die Tabelle oder Ansicht löschen.

Diese Rolle kann nicht auf einzelne Modelle oder Routinen angewendet werden.

Bei Anwendung auf ein Dataset gewährt diese Rolle Berechtigungen für:

  • Das Lesen, Aktualisieren und Löschen des Datasets.
  • Tabellen des Datasets erstellen, aktualisieren, abrufen und löschen.

Bei Anwendung auf Projekt- oder Organisationsebene können Sie durch diese Rolle zusätzlich neue Datasets erstellen.

  • bigquery.datasets.*
  • bigquery.models.*
  • bigquery.routines.*
  • bigquery.tables.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Tabelle oder Ansicht
roles/bigquery.dataViewer BigQuery-Datenbetrachter

Bei Anwendung auf eine Tabelle oder Ansicht gewährt diese Rolle Berechtigungen für:

  • Daten und Metadaten aus der Tabelle oder Ansicht lesen.

Diese Rolle kann nicht auf einzelne Modelle oder Routinen angewendet werden.

Bei Anwendung auf ein Dataset gewährt diese Rolle Berechtigungen für:

  • Metadaten des Datasets lesen und Tabellen im Dataset auflisten.
  • Daten und Metadaten aus den Tabellen des Datasets lesen.

Bei Anwendung auf Projekt- oder Organisationsebene ermöglicht diese Rolle die Aufzählung aller Datasets im Projekt. Für die Ausführung von Jobs sind jedoch weitere Rollen erforderlich.

  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Tabelle oder Ansicht
roles/bigquery.jobUser BigQuery-Jobnutzer Berechtigungen zum Ausführen von Jobs im Projekt, einschließlich Abfragen.
  • bigquery.jobs.create
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Projekt
roles/bigquery.metadataViewer BigQuery Metadata-Betrachter

Bei Anwendung auf eine Tabelle oder Ansicht gewährt diese Rolle Berechtigungen für:

  • Metadaten aus der Tabelle oder Ansicht lesen.

Diese Rolle kann nicht auf einzelne Modelle oder Routinen angewendet werden.

Bei Anwendung auf ein Dataset gewährt diese Rolle Berechtigungen für:

  • Tabellen und Ansichten im Dataset auflisten.
  • Metadaten aus den Tabellen und Ansichten des Datasets lesen.

Bei Anwendung auf Projekt- oder Organisationsebene gewährt diese Rolle Berechtigungen für:

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

Für die Ausführung von Jobs sind weitere Rollen erforderlich.

  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.tables.get
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Tabelle oder Ansicht
roles/bigquery.readSessionUser BigQuery Read Session-Nutzer Zugriff zum Erstellen und Verwenden von Lesesitzungen
  • bigquery.readsessions.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.resourceAdmin BigQuery Resource-AdministratorBeta Verwalten Sie alle BigQuery-Ressourcen.
  • bigquery.bireservations.*
  • bigquery.capacityCommitments.*
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.reservationAssignments.*
  • bigquery.reservations.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
roles/bigquery.user BigQuery-Nutzer

Bei Anwendung auf ein Dataset ermöglicht diese Rolle das Lesen der Metadaten des Datasets und das Auflisten von Tabellen im Dataset.

Bei Anwendung auf ein Projekt bietet diese Rolle auch die Möglichkeit, Jobs, einschließlich Abfragen, innerhalb des Projekts auszuführen. Ein Mitglied mit dieser Rolle kann seine eigenen Jobs auflisten, seine eigenen Jobs abbrechen und Datasets innerhalb eines Projekts 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 Data-Inhaber" (roles/bigquery.dataOwner) zugewiesen.

  • bigquery.bireservations.get
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.config.get
  • bigquery.datasets.create
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.jobs.create
  • bigquery.jobs.list
  • bigquery.models.list
  • bigquery.readsessions.*
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.routines.list
  • bigquery.savedqueries.get
  • bigquery.savedqueries.list
  • bigquery.tables.list
  • bigquery.transfers.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Dataset

Einfache BigQuery-Rollen

Informationen zu einfachen BigQuery-Rollen finden Sie unter Einfache Rollen und Berechtigungen für BigQuery.

Benutzerdefinierte BigQuery-Rollen

Zum Erstellen einer benutzerdefinierten IAM-Rolle für BigQuery folgen Sie der Anleitung in der IAM-Dokumentation zu benutzerdefinierten Rollen.

Nächste Schritte