IAM-Rollen und -Berechtigungen für BigQuery

In diesem Dokument finden Sie Informationen zu IAM-Rollen (Identity and Access Management) und Berechtigungen für BigQuery. Mit IAM können Sie detaillierte Zugriffsberechtigungen auf bestimmte Ressourcen von BigQuery gewähren und unerwünschten Zugriff auf andere Ressourcen verhindern. Sie haben mit IAM die Möglichkeit, das Sicherheitsprinzip der geringsten Berechtigung anzuwenden, das besagt, dass niemand mehr Berechtigungen haben sollte, als er tatsächlich benötigt.

Wenn ein Hauptkonto (ein Nutzer, eine Gruppe oder ein Dienstkonto) eine Google Cloud API aufruft, muss dieses Hauptkonto die entsprechenden IAM-Berechtigungen für die Verwendung der Ressource haben. Um einem Hauptkonto die erforderlichen Berechtigungen zu gewähren, weisen Sie dem Hauptkonto eine IAM-Rolle zu.

In diesem Dokument wird beschrieben, wie Sie vordefinierte und benutzerdefinierte IAM-Rollen verwenden, um Hauptkonten den Zugriff auf BigQuery-Ressourcen zu ermöglichen.

Weitere Informationen zur Verwaltung des Zugriffs in Google Cloud im Allgemeinen finden Sie in der IAM-Übersicht.

Arten von IAM-Rollen

Eine Rolle ist eine Sammlung von Berechtigungen. Sie können die folgenden Rollentypen in IAM verwenden, um Zugriff auf BigQuery-Ressourcen zu gewähren:

  • Vordefinierte Rollen werden von Google Cloud verwaltet und unterstützen gängige Anwendungsfälle und Zugriffssteuerungsmuster.
  • Benutzerdefinierte Rollen, die Zugriff entsprechend einer vom Nutzer angegebenen Liste von Berechtigungen ermöglichen.

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

Wenn Sie einem Nutzer mehrere Rollentypen zuweisen, werden ihm die Berechtigungen beider Rollen gewährt.

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

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

IAM-Rollen in BigQuery

Berechtigungen werden Nutzern, Gruppen oder Dienstkonten nicht direkt zugewiesen. Stattdessen erhalten Nutzer, Gruppen oder Dienstkonten Zugriff auf eine oder mehrere vordefinierte oder benutzerdefinierte Rollen, um ihnen Berechtigungen zum Ausführen von Aktionen für Ressourcen zu erteilen.

Sie können Zugriff auf den folgenden BigQuery-Ressourcenebenen gewähren:

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

Auf Organisations- oder Google Cloud-Projektebene angewendete Rollen

Wenn Sie Rollen auf Organisations- und Projektebene zuweisen, erteilen Sie die Berechtigung zum Ausführen von BigQuery-Jobs oder zum Zugriff 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 ermöglichen. In der IAM-Richtlinienhierarchie sind die Datasets die untergeordneten 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
  • Aufrufe

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

  • routines
  • Modelle

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

Vordefinierte IAM-Rollen für BigQuery

In der folgenden Tabelle sind die vordefinierten BigQuery-IAM-Rollen und die jeweiligen Berechtigungen aufgeführt, die eine Rolle enthält. Beachten Sie, dass jede Berechtigung für einen bestimmten Ressourcentyp gilt.

Role Permissions

(roles/bigquery.admin)

Provides permissions to manage all resources within the project. Can manage all data within the project, and can cancel jobs from other users running within the project.

Lowest-level resources where you can grant this role:

  • Datasets
  • Row access policies
  • Tables
  • Views

bigquery.bireservations.*

  • bigquery.bireservations.get
  • bigquery.bireservations.update

bigquery.capacityCommitments.*

  • bigquery.capacityCommitments.create
  • bigquery.capacityCommitments.delete
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.capacityCommitments.update

bigquery.config.*

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

bigquery.connections.*

  • bigquery.connections.create
  • bigquery.connections.delegate
  • bigquery.connections.delete
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.setIamPolicy
  • bigquery.connections.update
  • bigquery.connections.updateTag
  • bigquery.connections.use

bigquery.dataPolicies.create

bigquery.dataPolicies.delete

bigquery.dataPolicies.get

bigquery.dataPolicies.getIamPolicy

bigquery.dataPolicies.list

bigquery.dataPolicies.setIamPolicy

bigquery.dataPolicies.update

bigquery.datasets.*

  • bigquery.datasets.create
  • bigquery.datasets.createTagBinding
  • bigquery.datasets.delete
  • bigquery.datasets.deleteTagBinding
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.link
  • bigquery.datasets.listEffectiveTags
  • bigquery.datasets.listSharedDatasetUsage
  • bigquery.datasets.listTagBindings
  • bigquery.datasets.setIamPolicy
  • bigquery.datasets.update
  • bigquery.datasets.updateTag

bigquery.jobs.*

  • bigquery.jobs.create
  • bigquery.jobs.delete
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.jobs.listExecutionMetadata
  • bigquery.jobs.update

bigquery.models.*

  • bigquery.models.create
  • bigquery.models.delete
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.models.updateData
  • bigquery.models.updateMetadata
  • bigquery.models.updateTag

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

bigquery.reservationAssignments.*

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search

bigquery.reservations.*

  • bigquery.reservations.create
  • bigquery.reservations.delete
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.reservations.update

bigquery.routines.*

  • bigquery.routines.create
  • bigquery.routines.delete
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.routines.update
  • bigquery.routines.updateTag

bigquery.rowAccessPolicies.create

bigquery.rowAccessPolicies.delete

bigquery.rowAccessPolicies.getIamPolicy

bigquery.rowAccessPolicies.list

bigquery.rowAccessPolicies.overrideTimeTravelRestrictions

bigquery.rowAccessPolicies.setIamPolicy

bigquery.rowAccessPolicies.update

bigquery.savedqueries.*

  • bigquery.savedqueries.create
  • bigquery.savedqueries.delete
  • bigquery.savedqueries.get
  • bigquery.savedqueries.list
  • bigquery.savedqueries.update

bigquery.tables.*

  • bigquery.tables.create
  • bigquery.tables.createIndex
  • bigquery.tables.createSnapshot
  • bigquery.tables.createTagBinding
  • bigquery.tables.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • bigquery.tables.deleteTagBinding
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.replicateData
  • bigquery.tables.restoreSnapshot
  • bigquery.tables.setCategory
  • bigquery.tables.setColumnDataPolicy
  • bigquery.tables.setIamPolicy
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag

bigquery.transfers.*

  • bigquery.transfers.get
  • bigquery.transfers.update

bigquerymigration.translation.translate

dataform.*

  • dataform.compilationResults.create
  • dataform.compilationResults.get
  • dataform.compilationResults.list
  • dataform.compilationResults.query
  • dataform.locations.get
  • dataform.locations.list
  • dataform.releaseConfigs.create
  • dataform.releaseConfigs.delete
  • dataform.releaseConfigs.get
  • dataform.releaseConfigs.list
  • dataform.releaseConfigs.update
  • dataform.repositories.commit
  • dataform.repositories.computeAccessTokenStatus
  • dataform.repositories.create
  • dataform.repositories.delete
  • dataform.repositories.fetchHistory
  • dataform.repositories.fetchRemoteBranches
  • dataform.repositories.get
  • dataform.repositories.getIamPolicy
  • dataform.repositories.list
  • dataform.repositories.queryDirectoryContents
  • dataform.repositories.readFile
  • dataform.repositories.setIamPolicy
  • dataform.repositories.update
  • dataform.workflowConfigs.create
  • dataform.workflowConfigs.delete
  • dataform.workflowConfigs.get
  • dataform.workflowConfigs.list
  • dataform.workflowConfigs.update
  • dataform.workflowInvocations.cancel
  • dataform.workflowInvocations.create
  • dataform.workflowInvocations.delete
  • dataform.workflowInvocations.get
  • dataform.workflowInvocations.list
  • dataform.workflowInvocations.query
  • dataform.workspaces.commit
  • dataform.workspaces.create
  • dataform.workspaces.delete
  • dataform.workspaces.fetchFileDiff
  • dataform.workspaces.fetchFileGitStatuses
  • dataform.workspaces.fetchGitAheadBehind
  • dataform.workspaces.get
  • dataform.workspaces.getIamPolicy
  • dataform.workspaces.installNpmPackages
  • dataform.workspaces.list
  • dataform.workspaces.makeDirectory
  • dataform.workspaces.moveDirectory
  • dataform.workspaces.moveFile
  • dataform.workspaces.pull
  • dataform.workspaces.push
  • dataform.workspaces.queryDirectoryContents
  • dataform.workspaces.readFile
  • dataform.workspaces.removeDirectory
  • dataform.workspaces.removeFile
  • dataform.workspaces.reset
  • dataform.workspaces.searchFiles
  • dataform.workspaces.setIamPolicy
  • dataform.workspaces.writeFile

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.connectionAdmin)

bigquery.connections.*

  • bigquery.connections.create
  • bigquery.connections.delegate
  • bigquery.connections.delete
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.setIamPolicy
  • bigquery.connections.update
  • bigquery.connections.updateTag
  • bigquery.connections.use

(roles/bigquery.connectionUser)

bigquery.connections.get

bigquery.connections.getIamPolicy

bigquery.connections.list

bigquery.connections.use

(roles/bigquery.dataEditor)

When applied to a table or view, this role provides permissions to:

  • Read and update data and metadata for the table or view.
  • Delete the table or view.

This role cannot be applied to individual models or routines.

When applied to a dataset, this role provides permissions to:

  • Read the dataset's metadata and list tables in the dataset.
  • Create, update, get, and delete the dataset's tables.

When applied at the project or organization level, this role can also create new datasets.

Lowest-level resources where you can grant this role:

  • Table
  • View

bigquery.config.get

bigquery.datasets.create

bigquery.datasets.get

bigquery.datasets.getIamPolicy

bigquery.datasets.updateTag

bigquery.models.*

  • bigquery.models.create
  • bigquery.models.delete
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.models.updateData
  • bigquery.models.updateMetadata
  • bigquery.models.updateTag

bigquery.routines.*

  • bigquery.routines.create
  • bigquery.routines.delete
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.routines.update
  • bigquery.routines.updateTag

bigquery.tables.create

bigquery.tables.createIndex

bigquery.tables.createSnapshot

bigquery.tables.delete

bigquery.tables.deleteIndex

bigquery.tables.export

bigquery.tables.get

bigquery.tables.getData

bigquery.tables.getIamPolicy

bigquery.tables.list

bigquery.tables.replicateData

bigquery.tables.restoreSnapshot

bigquery.tables.update

bigquery.tables.updateData

bigquery.tables.updateTag

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.dataOwner)

When applied to a table or view, this role provides permissions to:

  • Read and update data and metadata for the table or view.
  • Share the table or view.
  • Delete the table or view.

This role cannot be applied to individual models or routines.

When applied to a dataset, this role provides permissions to:

  • Read, update, and delete the dataset.
  • Create, update, get, and delete the dataset's tables.

When applied at the project or organization level, this role can also create new datasets.

Lowest-level resources where you can grant this role:

  • Table
  • View

bigquery.config.get

bigquery.dataPolicies.create

bigquery.dataPolicies.delete

bigquery.dataPolicies.get

bigquery.dataPolicies.getIamPolicy

bigquery.dataPolicies.list

bigquery.dataPolicies.setIamPolicy

bigquery.dataPolicies.update

bigquery.datasets.*

  • bigquery.datasets.create
  • bigquery.datasets.createTagBinding
  • bigquery.datasets.delete
  • bigquery.datasets.deleteTagBinding
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.link
  • bigquery.datasets.listEffectiveTags
  • bigquery.datasets.listSharedDatasetUsage
  • bigquery.datasets.listTagBindings
  • bigquery.datasets.setIamPolicy
  • bigquery.datasets.update
  • bigquery.datasets.updateTag

bigquery.models.*

  • bigquery.models.create
  • bigquery.models.delete
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.models.updateData
  • bigquery.models.updateMetadata
  • bigquery.models.updateTag

bigquery.routines.*

  • bigquery.routines.create
  • bigquery.routines.delete
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.routines.update
  • bigquery.routines.updateTag

bigquery.rowAccessPolicies.create

bigquery.rowAccessPolicies.delete

bigquery.rowAccessPolicies.getIamPolicy

bigquery.rowAccessPolicies.list

bigquery.rowAccessPolicies.setIamPolicy

bigquery.rowAccessPolicies.update

bigquery.tables.*

  • bigquery.tables.create
  • bigquery.tables.createIndex
  • bigquery.tables.createSnapshot
  • bigquery.tables.createTagBinding
  • bigquery.tables.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • bigquery.tables.deleteTagBinding
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.replicateData
  • bigquery.tables.restoreSnapshot
  • bigquery.tables.setCategory
  • bigquery.tables.setColumnDataPolicy
  • bigquery.tables.setIamPolicy
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.dataViewer)

When applied to a table or view, this role provides permissions to:

  • Read data and metadata from the table or view.

This role cannot be applied to individual models or routines.

When applied to a dataset, this role provides permissions to list all of the resources in the dataset (such as tables, views, snapshots, models, and routines) and to read their data and metadata with applicable APIs and in queries.

When applied at the project or organization level, this role can also enumerate all datasets in the project. Additional roles, however, are necessary to allow the running of jobs.

Lowest-level resources where you can grant this role:

  • Table
  • View

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.createSnapshot

bigquery.tables.export

bigquery.tables.get

bigquery.tables.getData

bigquery.tables.getIamPolicy

bigquery.tables.list

bigquery.tables.replicateData

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.filteredDataViewer)

Access to view filtered table data defined by a row access policy

bigquery.rowAccessPolicies.getFilteredData

(roles/bigquery.jobUser)

Provides permissions to run jobs, including queries, within the project.

Lowest-level resources where you can grant this role:

  • Project

bigquery.config.get

bigquery.jobs.create

dataform.locations.*

  • dataform.locations.get
  • dataform.locations.list

dataform.repositories.create

dataform.repositories.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.metadataViewer)

When applied to a table or view, this role provides permissions to:

  • Read metadata from the table or view.

This role cannot be applied to individual models or routines.

When applied to a dataset, this role provides permissions to:

  • List tables and views in the dataset.
  • Read metadata from the dataset's tables and views.

When applied at the project or organization level, this role provides permissions to:

  • List all datasets and read metadata for all datasets in the project.
  • List all tables and views and read metadata for all tables and views in the project.

Additional roles are necessary to allow the running of jobs.

Lowest-level resources where you can grant this role:

  • Table
  • View

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

(roles/bigquery.readSessionUser)

Provides the ability to create and use read sessions.

Lowest-level resources where you can grant this role:

  • Project

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.resourceAdmin)

Administers BigQuery workloads, including slot assignments, commitments, and reservations.

bigquery.bireservations.*

  • bigquery.bireservations.get
  • bigquery.bireservations.update

bigquery.capacityCommitments.*

  • bigquery.capacityCommitments.create
  • bigquery.capacityCommitments.delete
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.capacityCommitments.update

bigquery.jobs.get

bigquery.jobs.list

bigquery.jobs.listAll

bigquery.jobs.listExecutionMetadata

bigquery.reservationAssignments.*

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search

bigquery.reservations.*

  • bigquery.reservations.create
  • bigquery.reservations.delete
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.reservations.update

recommender.bigqueryCapacityCommitmentsInsights.*

  • recommender.bigqueryCapacityCommitmentsInsights.get
  • recommender.bigqueryCapacityCommitmentsInsights.list
  • recommender.bigqueryCapacityCommitmentsInsights.update

recommender.bigqueryCapacityCommitmentsRecommendations.*

  • recommender.bigqueryCapacityCommitmentsRecommendations.get
  • recommender.bigqueryCapacityCommitmentsRecommendations.list
  • recommender.bigqueryCapacityCommitmentsRecommendations.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.resourceEditor)

Manages BigQuery workloads, but is unable to create or modify slot commitments.

bigquery.bireservations.get

bigquery.capacityCommitments.get

bigquery.capacityCommitments.list

bigquery.jobs.get

bigquery.jobs.list

bigquery.jobs.listAll

bigquery.jobs.listExecutionMetadata

bigquery.reservationAssignments.*

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search

bigquery.reservations.*

  • bigquery.reservations.create
  • bigquery.reservations.delete
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.reservations.update

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.resourceViewer)

Can view BigQuery workloads, but cannot create or modify slot reservations or commitments.

bigquery.bireservations.get

bigquery.capacityCommitments.get

bigquery.capacityCommitments.list

bigquery.jobs.get

bigquery.jobs.list

bigquery.jobs.listAll

bigquery.jobs.listExecutionMetadata

bigquery.reservationAssignments.list

bigquery.reservationAssignments.search

bigquery.reservations.get

bigquery.reservations.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.studioAdmin)

Combination role of BigQuery Admin, Dataform Admin, and Notebook Runtime Admin.

aiplatform.notebookRuntimeTemplates.apply

aiplatform.notebookRuntimeTemplates.create

aiplatform.notebookRuntimeTemplates.delete

aiplatform.notebookRuntimeTemplates.get

aiplatform.notebookRuntimeTemplates.getIamPolicy

aiplatform.notebookRuntimeTemplates.list

aiplatform.notebookRuntimeTemplates.setIamPolicy

aiplatform.notebookRuntimes.*

  • aiplatform.notebookRuntimes.assign
  • aiplatform.notebookRuntimes.delete
  • aiplatform.notebookRuntimes.get
  • aiplatform.notebookRuntimes.list
  • aiplatform.notebookRuntimes.start
  • aiplatform.notebookRuntimes.update
  • aiplatform.notebookRuntimes.upgrade

aiplatform.operations.list

bigquery.bireservations.*

  • bigquery.bireservations.get
  • bigquery.bireservations.update

bigquery.capacityCommitments.*

  • bigquery.capacityCommitments.create
  • bigquery.capacityCommitments.delete
  • bigquery.capacityCommitments.get
  • bigquery.capacityCommitments.list
  • bigquery.capacityCommitments.update

bigquery.config.*

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

bigquery.connections.*

  • bigquery.connections.create
  • bigquery.connections.delegate
  • bigquery.connections.delete
  • bigquery.connections.get
  • bigquery.connections.getIamPolicy
  • bigquery.connections.list
  • bigquery.connections.setIamPolicy
  • bigquery.connections.update
  • bigquery.connections.updateTag
  • bigquery.connections.use

bigquery.dataPolicies.create

bigquery.dataPolicies.delete

bigquery.dataPolicies.get

bigquery.dataPolicies.getIamPolicy

bigquery.dataPolicies.list

bigquery.dataPolicies.setIamPolicy

bigquery.dataPolicies.update

bigquery.datasets.*

  • bigquery.datasets.create
  • bigquery.datasets.createTagBinding
  • bigquery.datasets.delete
  • bigquery.datasets.deleteTagBinding
  • bigquery.datasets.get
  • bigquery.datasets.getIamPolicy
  • bigquery.datasets.link
  • bigquery.datasets.listEffectiveTags
  • bigquery.datasets.listSharedDatasetUsage
  • bigquery.datasets.listTagBindings
  • bigquery.datasets.setIamPolicy
  • bigquery.datasets.update
  • bigquery.datasets.updateTag

bigquery.jobs.*

  • bigquery.jobs.create
  • bigquery.jobs.delete
  • bigquery.jobs.get
  • bigquery.jobs.list
  • bigquery.jobs.listAll
  • bigquery.jobs.listExecutionMetadata
  • bigquery.jobs.update

bigquery.models.*

  • bigquery.models.create
  • bigquery.models.delete
  • bigquery.models.export
  • bigquery.models.getData
  • bigquery.models.getMetadata
  • bigquery.models.list
  • bigquery.models.updateData
  • bigquery.models.updateMetadata
  • bigquery.models.updateTag

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

bigquery.reservationAssignments.*

  • bigquery.reservationAssignments.create
  • bigquery.reservationAssignments.delete
  • bigquery.reservationAssignments.list
  • bigquery.reservationAssignments.search

bigquery.reservations.*

  • bigquery.reservations.create
  • bigquery.reservations.delete
  • bigquery.reservations.get
  • bigquery.reservations.list
  • bigquery.reservations.update

bigquery.routines.*

  • bigquery.routines.create
  • bigquery.routines.delete
  • bigquery.routines.get
  • bigquery.routines.list
  • bigquery.routines.update
  • bigquery.routines.updateTag

bigquery.rowAccessPolicies.create

bigquery.rowAccessPolicies.delete

bigquery.rowAccessPolicies.getIamPolicy

bigquery.rowAccessPolicies.list

bigquery.rowAccessPolicies.overrideTimeTravelRestrictions

bigquery.rowAccessPolicies.setIamPolicy

bigquery.rowAccessPolicies.update

bigquery.savedqueries.*

  • bigquery.savedqueries.create
  • bigquery.savedqueries.delete
  • bigquery.savedqueries.get
  • bigquery.savedqueries.list
  • bigquery.savedqueries.update

bigquery.tables.*

  • bigquery.tables.create
  • bigquery.tables.createIndex
  • bigquery.tables.createSnapshot
  • bigquery.tables.createTagBinding
  • bigquery.tables.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • bigquery.tables.deleteTagBinding
  • bigquery.tables.export
  • bigquery.tables.get
  • bigquery.tables.getData
  • bigquery.tables.getIamPolicy
  • bigquery.tables.list
  • bigquery.tables.replicateData
  • bigquery.tables.restoreSnapshot
  • bigquery.tables.setCategory
  • bigquery.tables.setColumnDataPolicy
  • bigquery.tables.setIamPolicy
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag

bigquery.transfers.*

  • bigquery.transfers.get
  • bigquery.transfers.update

bigquerymigration.translation.translate

compute.reservations.get

compute.reservations.list

dataform.*

  • dataform.compilationResults.create
  • dataform.compilationResults.get
  • dataform.compilationResults.list
  • dataform.compilationResults.query
  • dataform.locations.get
  • dataform.locations.list
  • dataform.releaseConfigs.create
  • dataform.releaseConfigs.delete
  • dataform.releaseConfigs.get
  • dataform.releaseConfigs.list
  • dataform.releaseConfigs.update
  • dataform.repositories.commit
  • dataform.repositories.computeAccessTokenStatus
  • dataform.repositories.create
  • dataform.repositories.delete
  • dataform.repositories.fetchHistory
  • dataform.repositories.fetchRemoteBranches
  • dataform.repositories.get
  • dataform.repositories.getIamPolicy
  • dataform.repositories.list
  • dataform.repositories.queryDirectoryContents
  • dataform.repositories.readFile
  • dataform.repositories.setIamPolicy
  • dataform.repositories.update
  • dataform.workflowConfigs.create
  • dataform.workflowConfigs.delete
  • dataform.workflowConfigs.get
  • dataform.workflowConfigs.list
  • dataform.workflowConfigs.update
  • dataform.workflowInvocations.cancel
  • dataform.workflowInvocations.create
  • dataform.workflowInvocations.delete
  • dataform.workflowInvocations.get
  • dataform.workflowInvocations.list
  • dataform.workflowInvocations.query
  • dataform.workspaces.commit
  • dataform.workspaces.create
  • dataform.workspaces.delete
  • dataform.workspaces.fetchFileDiff
  • dataform.workspaces.fetchFileGitStatuses
  • dataform.workspaces.fetchGitAheadBehind
  • dataform.workspaces.get
  • dataform.workspaces.getIamPolicy
  • dataform.workspaces.installNpmPackages
  • dataform.workspaces.list
  • dataform.workspaces.makeDirectory
  • dataform.workspaces.moveDirectory
  • dataform.workspaces.moveFile
  • dataform.workspaces.pull
  • dataform.workspaces.push
  • dataform.workspaces.queryDirectoryContents
  • dataform.workspaces.readFile
  • dataform.workspaces.removeDirectory
  • dataform.workspaces.removeFile
  • dataform.workspaces.reset
  • dataform.workspaces.searchFiles
  • dataform.workspaces.setIamPolicy
  • dataform.workspaces.writeFile

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.studioUser)

Combination role of BigQuery Job User, BigQuery Read Session User, Dataform Code Creator, and Notebook Runtime User.

aiplatform.notebookRuntimeTemplates.apply

aiplatform.notebookRuntimeTemplates.get

aiplatform.notebookRuntimeTemplates.getIamPolicy

aiplatform.notebookRuntimeTemplates.list

aiplatform.notebookRuntimes.assign

aiplatform.notebookRuntimes.get

aiplatform.notebookRuntimes.list

aiplatform.operations.list

bigquery.config.get

bigquery.jobs.create

bigquery.readsessions.*

  • bigquery.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

dataform.locations.*

  • dataform.locations.get
  • dataform.locations.list

dataform.repositories.create

dataform.repositories.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquery.user)

When applied to a dataset, this role provides the ability to read the dataset's metadata and list tables in the dataset.

When applied to a project, this role also provides the ability to run jobs, including queries, within the project. A principal with this role can enumerate their own jobs, cancel their own jobs, and enumerate datasets within a project. Additionally, allows the creation of new datasets within the project; the creator is granted the BigQuery Data Owner role (roles/bigquery.dataOwner) on these new datasets.

Lowest-level resources where you can grant this role:

  • Dataset

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.readsessions.create
  • bigquery.readsessions.getData
  • bigquery.readsessions.update

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

bigquerymigration.translation.translate

dataform.locations.*

  • dataform.locations.get
  • dataform.locations.list

dataform.repositories.create

dataform.repositories.list

resourcemanager.projects.get

resourcemanager.projects.list

(roles/bigquerydatapolicy.maskedReader)

Masked read access to sub-resources tagged by the policy tag associated with a data policy, for example, BigQuery columns

bigquery.dataPolicies.maskedGet

Benutzerdefinierte IAM-Rollen für BigQuery

Zum Erstellen einer benutzerdefinierten IAM-Rolle für BigQuery folgen Sie den Schritten für benutzerdefinierte IAM-Rollen unter Verwendung der BigQuery-Berechtigungen.

Einfache BigQuery-Rollen

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

BigQuery-Berechtigungen

In der folgenden Tabelle werden die für BigQuery verfügbaren Berechtigungen aufgelistet. Diese sind in vordefinierten Rollen enthalten und können in benutzerdefinierten Rollendefinitionen verwendet werden.

Berechtigung Beschreibung
bigquery.bireservations.get BI Engine-Reservierungen lesen.
bigquery.bireservations.update BI Engine-Reservierungen aktualisieren.
bigquery.capacityCommitments.create Kapazitätszusicherungen im Projekt erstellen.
bigquery.capacityCommitments.delete Eine Kapazitätszusicherung löschen.
bigquery.capacityCommitments.get Details zu einer Kapazitätszusicherung abrufen.
bigquery.capacityCommitments.list Alle Kapazitätszusicherungen in einem Projekt auflisten.
bigquery.capacityCommitments.update Alle Kapazitätsverpflichtungen in einem Projekt aktualisieren.
bigquery.config.update Konfiguration erstellen.
bigquery.config.get Details zu einer Konfiguration abrufen.
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.updateTag

Tags für eine Verbindung aktualisieren.

bigquery.connections.use Verbindungskonfiguration verwenden, um eine Verbindung zu einer Remotedatenquelle herzustellen.
bigquery.connections.delegate Delegieren Sie die Verbindung, um autorisierte externe Tabellen und Remotefunktionen zu erstellen.
bigquery.dataPolicies.create

Erstellen Sie neue Datenrichtlinien.

bigquery.dataPolicies.delete

Datenrichtlinien löschen?

bigquery.dataPolicies.get

Metadaten über Datenrichtlinien abrufen.

bigquery.dataPolicies.getIamPolicy

IAM-Berechtigungen einer Datenrichtlinie lesen.

bigquery.dataPolicies.list

Datenrichtlinien in einem Projekt auflisten.

bigquery.dataPolicies.maskedGet

Maskierte Daten einer Spalte anzeigen, deren Richtlinien-Tag mit einer Datenrichtlinie verknüpft ist.

bigquery.dataPolicies.setIamPolicy

IAM-Berechtigungen einer Datenrichtlinie festlegen.

bigquery.dataPolicies.update

Metadaten einer Datenrichtlinie aktualisieren.

bigquery.datasets.create Neue, leere Datasets erstellen.
bigquery.datasets.createTagBinding Ressourcen-Tag-Bindungen für ein Dataset erstellen.
bigquery.datasets.delete Datasets löschen.
bigquery.datasets.deleteTagBinding Ressourcen-Tag-Bindungen für ein Dataset löschen.
bigquery.datasets.get Metadaten und Berechtigungen für ein Dataset abrufen. Zum Aufrufen von Berechtigungen in der Google Cloud Console ist außerdem die Berechtigung bigquery.datasets.getIamPolicy erforderlich.
bigquery.datasets.getIamPolicy Benötigt von der Google Cloud Console, um dem Nutzer die Möglichkeit zu geben, die IAM-Berechtigungen eines Datasets abzurufen. Fails open. Die Möglichkeit, den Vorgang zum Abrufen der Berechtigungen auszuführen, wird durch die Berechtigung bigquery.datasets.get gesteuert.
bigquery.datasets.link Erstellen Sie ein verknüpftes Dataset.
bigquery.datasets.listTagBindings Ressourcen-Tag-Bindungen für ein Dataset auflisten
bigquery.datasets.setIamPolicy Benötigt von der Google Cloud Console, um dem Nutzer die Möglichkeit zu geben, die IAM-Berechtigungen eines Datasets festzulegen. Fails open. Die Möglichkeit, die Berechtigungen festzulegen, wird durch die Berechtigung bigquery.datasets.update gesteuert.
bigquery.datasets.update Metadaten und Berechtigungen für ein Dataset aktualisieren. Zum Gewähren von Berechtigungen in der Google Cloud Console ist außerdem die Berechtigung bigquery.datasets.setIamPolicy erforderlich.
bigquery.datasets.updateTag Data Catalog-Tags für einen Dataset aktualisieren.
bigquery.jobs.create Jobs, einschließlich Abfragen, innerhalb des Projekts ausführen.
bigquery.jobs.get Daten und Metadaten eines Jobs abrufen.1
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.listExecutionMetadata Alle Jobausführungsmetadaten (ohne vertrauliche Informationen) für jeden von einem Nutzer gesendeten Job auflisten. Sie kann nur auf Organisationsebene angewendet und von der Admin-Benutzeroberfläche verwendet werden.
bigquery.jobs.delete Metadaten für einen Job löschen.
bigquery.jobs.update Jobs abbrechen.1
bigquery.models.create Neue Modelle für maschinelles Lernen erstellen.
bigquery.models.delete Modelle für maschinelles Lernen löschen.
bigquery.models.getData Daten des Modells für maschinelles Lernen abrufen. Zum Abrufen der Modellmetadaten benötigen Sie bigquery.models.getMetadata.
bigquery.models.getMetadata Metadaten des Modells für maschinelles Lernen abrufen. Zum Abrufen der Modelldaten benötigen Sie bigquery.models.getData.
bigquery.models.list Modelle für maschinelles Lernen und Metadaten zu Modellen auflisten.
bigquery.models.updateData Daten des Modells für maschinelles Lernen aktualisieren. Zum Aktualisieren von Modellmetadaten benötigen Sie bigquery.models.updateMetadata.
bigquery.models.updateMetadata Metadaten des Modells für maschinelles Lernen aktualisieren. Zum Aktualisieren von Modelldaten benötigen Sie bigquery.models.updateData.
bigquery.models.export Modelle für maschinelles Lernen exportieren.
bigquery.models.updateTag Data Catalog-Tags für ein Modell aktualisieren.
bigquery.readsessions.create Mithilfe der Storage Read API eine neue Lesesitzung erstellen.
bigquery.readsessions.getData Daten über die Storage Read API aus einer Lesesitzung lesen.
bigquery.readsessions.update Eine Lesesitzung über die Storage Read API aktualisieren.
bigquery.reservations.create Slot-Reservierung in einem Administrationsprojekt erstellen.
bigquery.reservations.delete Slot-Reservierung löschen.
bigquery.reservations.get Details zu einer Slot-Reservierung abrufen.
bigquery.reservations.list Alle Slot-Reservierungen in einem Administrationsprojekt auflisten.
bigquery.reservations.update Die Attribute einer Slot-Reservierung aktualisieren.
bigquery.reservationAssignments.create

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

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 vorhandene Eigentümerprojekt und die zugewiesene Ressource.

bigquery.reservationAssignments.list Alle Reservierungszuweisungen in einem Projekt auflisten.
bigquery.reservationAssignments.search Reservierungszuweisung für ein bestimmtes Projekt, einen Ordner oder eine Organisation suchen.
bigquery.rowAccessPolicies.create Neue Zugriffsrichtlinie auf Zeilenebene für eine Tabelle erstellen.
bigquery.rowAccessPolicies.delete Zugriffsrichtlinie auf Zeilenebene aus einer Tabelle löschen
bigquery.rowAccessPolicies.getFilteredData Daten in einer Tabelle abrufen, die nur für die Hauptkonten auf der Liste der Berechtigten einer Zugriffsrichtlinie auf Zeilenebene sichtbar sein sollen. Wir empfehlen, diese Berechtigung nur für eine Zugriffsrichtlinie auf Zeilenebene zu gewähren.
bigquery.rowAccessPolicies.list Alle Zugriffsrichtlinien auf Zeilenebene für eine Tabelle auflisten.
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions Zugriff auf Verlaufsdaten für eine Tabelle, die über Zugriffsrichtlinien auf Zeilenebene verfügt oder verfügte.
bigquery.rowAccessPolicies.getIamPolicy IAM-Berechtigungen einer Zeilenzugriffsrichtlinie abrufen.
bigquery.rowAccessPolicies.setIamPolicy IAM-Berechtigungen für die Zeilenzugriffsrichtlinie festlegen.
bigquery.rowAccessPolicies.update Zugriffsrichtlinie auf Zeilenebene neu erstellen.
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.routines.updateTag

Data Catalog-Tags für eine Routine 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.createIndex Suchindexe für Tabellen erstellen.
bigquery.tables.createSnapshot Neue Tabellen-Snapshots erstellen.
bigquery.tables.createTagBinding Ressourcen-Tag-Bindungen für eine Tabelle erstellen.
bigquery.tables.delete Tabellen löschen.
bigquery.tables.deleteIndex Suchindexe für Tabellen löschen.
bigquery.tables.deleteSnapshot Tabellen-Snapshots löschen.
bigquery.tables.deleteTagBinding Ressourcen-Tag-Bindungen für ein Dataset 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.replicateData Tabellendaten replizieren. Diese Berechtigung ist zum Erstellen von materialisierten Ansichten mit Replikat erforderlich.
bigquery.tables.restoreSnapshot Tabellen-Snapshots wiederherstellen.
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 Data Catalog-Tags für eine Tabelle aktualisieren.
bigquery.transfers.get Übertragungsmetadaten abrufen.
bigquery.transfers.update Übertragungen erstellen, aktualisieren und löschen.

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

Berechtigungen für BigQuery ML-Aufgaben

In der folgenden Tabelle werden die Berechtigungen beschrieben, die für allgemeine BigQuery ML-Aufgaben erforderlich sind.

Berechtigung Beschreibung
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Neues Modell mit der Anweisung CREATE MODEL erstellen
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
Vorhandenes Modell mit der Anweisung CREATE OR REPLACE MODEL ersetzen
bigquery.models.delete Modell mit der models.delete API löschen
bigquery.jobs.create
bigquery.models.delete
Modell mit der DROP MODEL-Anweisung löschen
bigquery.models.getMetadata Modellmetadaten mit der models.get API abrufen
bigquery.models.list Modelle und Metadaten zu Modellen mithilfe der models.list API auflisten
bigquery.models.updateMetadata Aktualisieren Sie die Modellmetadaten mit der models.delete API. Wenn Sie eine Ablaufzeit ungleich null für das Modell festlegen oder aktualisieren, ist außerdem die Berechtigung bigquery.models.delete erforderlich.
bigquery.jobs.create
bigquery.models.getData
Führen Sie mit Funktionen wie ML.EVALUATE, ML.PREDICT, ML.TRAINING_INFO und ML.WEIGHTS Bewertung, Vorhersage, Modell- und Featureinspektionen durch.
bigquery.jobs.create
bigquery.models.export
Modell exportieren
bigquery.models.updateTag Data Catalog-Tags für ein Modell aktualisieren.

Nächste Schritte