Rôles et autorisations IAM BigQuery

Ce document fournit des informations sur les rôles et les autorisations Identity and Access Management (IAM) pour BigQuery. IAM vous permet d'accorder un accès précis à des ressources BigQuery spécifiques et d'empêcher l'accès à d'autres ressources. IAM vous permet d'appliquer le principe de sécurité du moindre privilège, qui stipule que personne ne devrait avoir plus d'autorisations que le strict nécessaire.

Si un compte principal (un utilisateur, un groupe ou un compte de service) appelle une API Google Cloud, il doit disposer des autorisations IAM appropriées pour utiliser la ressource. Pour accorder à un compte principal les autorisations requises, vous lui attribuez un rôle IAM.

Ce document explique comment utiliser des rôles IAM prédéfinis et personnalisés pour permettre aux comptes principaux d'accéder aux ressources BigQuery.

Pour vous familiariser avec la gestion des accès dans Google Cloud en général, consultez la page Présentation d'IAM.

Types de rôles IAM

Un rôle est un ensemble d'autorisations. Vous pouvez utiliser les types de rôles suivants dans IAM pour fournir l'accès aux ressources BigQuery :

  • Les rôles prédéfinis sont gérés par Google Cloud et sont compatibles avec des cas d'utilisation courants et des modèles de contrôle des accès.
  • Les rôles personnalisés fournissent un accès en fonction d'une liste d'autorisations spécifiée par l'utilisateur.

Pour déterminer si une ou plusieurs autorisations sont incluses dans un rôle, vous pouvez appliquer l'une des méthodes suivantes :

Lorsque vous attribuez plusieurs types de rôles à un utilisateur, les autorisations accordées correspondent à une combinaison des autorisations de chaque rôle.

Pour en savoir plus sur l'utilisation d'IAM pour accéder aux ressources, consultez la page Accorder, modifier et révoquer les accès à des ressources dans la documentation spécifique à IAM.

Pour en savoir plus sur la création de rôles personnalisés, consultez la page Créer et gérer les rôles personnalisés dans la documentation spécifique à IAM.

Rôles IAM dans BigQuery

Les autorisations ne sont pas attribuées directement aux utilisateurs, aux groupes ou aux comptes de service. À la place, des utilisateurs, des groupes ou des comptes de service ont accès à un ou plusieurs rôles prédéfinis ou personnalisés qui leur permettent d'effectuer des actions sur les ressources.

Vous pouvez accorder l'accès aux niveaux de ressources BigQuery suivants :

  • Organisation ou projet Google Cloud
  • Niveau de l'ensemble de données
  • Niveau de la table ou de la vue

Rôles appliqués au niveau de l'organisation ou du projet Google Cloud

Lorsque vous attribuez des rôles au niveau de l'organisation et du projet, vous fournissez des autorisations pour exécuter des tâches BigQuery ou pour accéder à toutes les ressources BigQuery d'un projet.

Rôles appliqués au niveau de l'ensemble de données

Vous pouvez également attribuer des rôles au niveau de l'ensemble de données pour ne fournir l'accès qu'à un ensemble de données spécifique, sans fournir un accès complet aux ressources du projet. Dans la hiérarchie des stratégies IAM, les ensembles de données BigQuery sont des ressources enfants de projets. Pour en savoir plus sur l'attribution de rôles au niveau de l'ensemble de données, consultez la page Contrôler l'accès aux ensembles de données.

Rôles appliqués à des ressources individuelles au sein des ensembles de données

Vous pouvez attribuer des rôles individuellement à certains types de ressources dans des ensembles de données, sans fournir un accès complet aux ressources de l'ensemble de données.

Les rôles peuvent être appliqués à des ressources individuelles des types suivants :

  • Tables
  • Vues

Les rôles ne peuvent pas être appliqués à des ressources individuelles des types suivants :

  • Routines
  • modèles

Pour en savoir plus sur l'attribution de rôles au niveau de la table ou de la vue, consultez la page Contrôler l'accès aux tables ou aux vues.

Rôles IAM prédéfinis dans BigQuery

Le tableau suivant répertorie les rôles IAM prédéfinis dans BigQuery, ainsi que la liste de toutes les autorisations incluses dans chaque rôle. Notez que chaque autorisation est applicable à un type de ressource particulier.

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

Rôles IAM personnalisés pour BigQuery

Pour créer un rôle IAM personnalisé pour BigQuery, suivez les étapes décrites pour les rôles personnalisés IAM à l'aide des autorisations BigQuery.

Rôles de base BigQuery

Pour en savoir plus sur les rôles de base pour BigQuery, consultez la page Rôles de base et autorisations BigQuery.

Autorisations BigQuery

Le tableau suivant décrit les autorisations disponibles dans BigQuery. Ils sont inclus dans les rôles prédéfinis et peuvent être utilisés dans les définitions de rôles personnalisés.

Autorisation Description
bigquery.bireservations.get Consulter les réservations BI Engine.
bigquery.bireservations.update Mettre à jour les réservations BI Engine.
bigquery.capacityCommitments.create Créer des engagements de capacité dans le projet.
bigquery.capacityCommitments.delete Supprimer un engagement de capacité.
bigquery.capacityCommitments.get Récupérer les informations sur un engagement de capacité
bigquery.capacityCommitments.list Répertorier tous les engagements de capacité dans un projet
bigquery.capacityCommitments.update Mettre à jour tous les engagements de capacité dans un projet.
bigquery.config.update Créer une configuration.
bigquery.config.get Obtenir des détails sur une configuration.
bigquery.connections.create Créer des connexions dans un projet
bigquery.connections.delete Supprimer une connexion
bigquery.connections.get Obtenir des métadonnées de connexion. Les identifiants sont exclus.
bigquery.connections.list Répertorier les connexions d'un projet
bigquery.connections.update Mettre à jour une connexion et ses identifiants
bigquery.connections.updateTag

Mettre à jour les tags d'une connexion

bigquery.connections.use Utiliser une configuration de connexion pour se connecter à une source de données distante
bigquery.connections.delegate Déléguer la connexion pour créer des tables externes autorisées et des fonctions distantes
bigquery.dataPolicies.create

Créer des règles de données

bigquery.dataPolicies.delete

Supprimer les stratégies de données

bigquery.dataPolicies.get

Obtenir les métadonnées des stratégies de données

bigquery.dataPolicies.getIamPolicy

Lire les autorisations IAM d'une stratégie de données

bigquery.dataPolicies.list

Répertorier les stratégies de données dans un projet

bigquery.dataPolicies.maskedGet

Afficher les données masquées d'une colonne à laquelle un tag avec stratégie est associé.

bigquery.dataPolicies.setIamPolicy

Définir les autorisations IAM d'une stratégie de données

bigquery.dataPolicies.update

Mettre à jour les métadonnées d'une stratégie de données

bigquery.datasets.create Créer des ensembles de données vides
bigquery.datasets.createTagBinding Créer des liaisons de tags de ressource sur un ensemble de données
bigquery.datasets.delete Supprimer un ensemble de données
bigquery.datasets.deleteTagBinding Supprimer des liaisons de tags de ressource sur un ensemble de données
bigquery.datasets.get Obtenir des métadonnées et des autorisations sur un ensemble de données L'affichage des autorisations dans la console Google Cloud nécessite également l'autorisation bigquery.datasets.getIamPolicy.
bigquery.datasets.getIamPolicy Requis par la console Google Cloud pour permettre à l'utilisateur d'obtenir les autorisations IAM d'un ensemble de données. Ne s'ouvre pas. La capacité à effectuer l'opération d'obtention des autorisations est régulée par l'autorisation bigquery.datasets.get.
bigquery.datasets.link Créer un ensemble de données associé.
bigquery.datasets.listTagBindings Répertorier les liaisons de tags de ressource sur un ensemble de données.
bigquery.datasets.setIamPolicy Requis par la console Google Cloud pour permettre à l'utilisateur de définir les autorisations IAM d'un ensemble de données. Ne s'ouvre pas. La capacité à effectuer l'opération de définition des autorisations est régulée par l'autorisation bigquery.datasets.update.
bigquery.datasets.update Mettre à jour les métadonnées et les autorisations d'un ensemble de données L'octroi d'autorisations dans la console Google Cloud nécessite également l'autorisation bigquery.datasets.setIamPolicy.
bigquery.datasets.updateTag Mettre à jour les tags Data Catalog pour un ensemble de données.
bigquery.jobs.create Exécuter des tâches, y compris des requêtes, dans le projet
bigquery.jobs.get Obtenir les données et les métadonnées de n'importe quelle tâche.1
bigquery.jobs.list Répertorier toutes les tâches et récupérer les métadonnées de n'importe quelle tâche envoyée par un utilisateur Les informations et les métadonnées des tâches envoyées par d'autres utilisateurs sont masquées.
bigquery.jobs.listAll Répertorier toutes les tâches et récupérer les métadonnées de n'importe quelle tâche envoyée par un utilisateur
bigquery.jobs.listExecutionMetadata Répertorier toutes les métadonnées d'exécution de la tâche (sans informations sensibles) sur les tâches envoyées par un utilisateur Elle ne peut être appliquée qu'au niveau de l'organisation et est utilisée par l'interface administrateur.
bigquery.jobs.delete Supprimez les métadonnées d'une tâche.
bigquery.jobs.update Annuler n'importe quelle tâche.1
bigquery.models.create Créer des modèles de machine learning
bigquery.models.delete Supprimer des modèles de machine learning.
bigquery.models.getData Obtenir des données de modèle de machine learning. Pour obtenir des métadonnées de modèle, vous avez besoin de bigquery.models.getMetadata.
bigquery.models.getMetadata Obtenir des métadonnées de modèles de machine learning. Pour obtenir des données de modèle, vous avez besoin de bigquery.models.getData.
bigquery.models.list Répertorier les modèles de machine learning et les métadonnées des modèles.
bigquery.models.updateData Mettre à jour les données de modèle de machine learning. Pour mettre à jour les métadonnées de modèle, vous avez besoin de bigquery.models.updateMetadata.
bigquery.models.updateMetadata Mettre à jour les métadonnées du modèle de machine learning. Pour mettre à jour les données de modèle, vous avez besoin de bigquery.models.updateData.
bigquery.models.export Exporter des modèles de machine learning.
bigquery.models.updateTag Mettre à jour les tags Data Catalog d'un modèle.
bigquery.readsessions.create Créer une session de lecture via l'API Storage Read.
bigquery.readsessions.getData Lire des données d'une session de lecture via l'API Storage Read.
bigquery.readsessions.update Mettre à jour une session de lecture via l'API Storage Read.
bigquery.reservations.create Créer une réservation d'emplacement dans un projet d'administration.
bigquery.reservations.delete Supprimer une réservation d'emplacement.
bigquery.reservations.get Récupérer les informations sur une réservation d'emplacement.
bigquery.reservations.list Répertorier toutes les réservations d'emplacements dans un projet d'administration.
bigquery.reservations.update Mettre à jour les propriétés d'une réservation d'emplacement.
bigquery.reservationAssignments.create

Créer une attribution de réservation. Cette autorisation est requise pour le projet propriétaire et la ressource affectée.
Pour transférer une attribution de réservation, vous avez besoin de bigquery.reservationAssignments.create pour le nouveau projet propriétaire et la ressource affectée.

bigquery.reservationAssignments.delete

Supprimer une attribution de réservation. Cette autorisation est requise pour le projet propriétaire et la ressource affectée.
Pour transférer une attribution de réservation, vous avez besoin de bigquery.reservationAssignments.delete pour le projet propriétaire existant et la ressource affectée.

bigquery.reservationAssignments.list Répertorier toutes les attributions de réservation dans un projet.
bigquery.reservationAssignments.search Rechercher une attribution de réservation pour un projet, un dossier ou une organisation donnée.
bigquery.rowAccessPolicies.create Créer une règle d'accès au niveau des lignes dans une table.
bigquery.rowAccessPolicies.delete Supprimer une règle d'accès au niveau des lignes d'une table.
bigquery.rowAccessPolicies.getFilteredData Récupère les données d'une table que vous souhaitez afficher uniquement aux comptes principaux de la liste des bénéficiaires d'une règle d'accès au niveau des lignes. Nous vous recommandons d'accorder cette autorisation uniquement sur une ressource de stratégie d'accès au niveau des lignes.
bigquery.rowAccessPolicies.list Répertorier toutes les règles d'accès au niveau des lignes d'une table.
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions Accéder aux données de l'historique d'une table qui dispose ou a déjà eu des règles d'accès au niveau des lignes.
bigquery.rowAccessPolicies.getIamPolicy Obtenir les autorisations IAM d'une règle d'accès aux lignes.
bigquery.rowAccessPolicies.setIamPolicy Définir les autorisations IAM de la règle d'accès aux lignes.
bigquery.rowAccessPolicies.update Recréer une règle d'accès au niveau des lignes.
bigquery.routines.create Créer des routines (fonctions et procédures stockées)
bigquery.routines.delete Supprimer des routines
bigquery.routines.get Obtenir des définitions et des métadonnées de routine
bigquery.routines.list Répertorier des routines et leurs métadonnées
bigquery.routines.update

Mettre à jour des définitions et des métadonnées de routine

bigquery.routines.updateTag

Mettre à jour les tags Data Catalog pour une routine.

bigquery.savedqueries.create Créer des requêtes enregistrées
bigquery.savedqueries.delete Supprimer les requêtes enregistrées.
bigquery.savedqueries.get Obtenir les métadonnées des requêtes enregistrées.
bigquery.savedqueries.list Répertorier les requêtes enregistrées.
bigquery.savedqueries.update Mettre à jour les requêtes enregistrées.
bigquery.tables.create Créer des tables
bigquery.tables.createIndex Créer des index de recherche sur des tables.
bigquery.tables.createSnapshot Créer des instantanés de table.
bigquery.tables.createTagBinding Créer des liaisons de tags de ressource sur une table
bigquery.tables.delete Supprimer des tables
bigquery.tables.deleteIndex Supprimer des index de recherche sur des tables.
bigquery.tables.deleteSnapshot Supprimer des instantanés de table.
bigquery.tables.deleteTagBinding Supprimer des liaisons de tags de ressource sur une table.
bigquery.tables.export Exporter les données d'une table de BigQuery
bigquery.tables.get Obtenir les métadonnées d'une table.
Pour obtenir des données d'une table, vous avez besoin de bigquery.tables.getData.
bigquery.tables.getData Obtenir les données d'une table. Cette autorisation est requise pour interroger les données d'une table.
Pour obtenir les métadonnées d'une table, vous avez besoin de bigquery.tables.get.
bigquery.tables.getIamPolicy Lire la stratégie IAM d'une table
bigquery.tables.list Répertorier des tables et leurs métadonnées
bigquery.tables.replicateData Répliquer les données d'une table Cette autorisation est requise pour créer des réplications de vues matérialisées.
bigquery.tables.restoreSnapshot Restaurer des instantanés de table.
bigquery.tables.setCategory Définir des tags avec stratégie dans le schéma de table
bigquery.tables.setIamPolicy Modifier la stratégie IAM d'une table
bigquery.tables.update

Mettre à jour les métadonnées d'une table.
Pour mettre à jour les données d'une table, vous avez besoin de bigquery.tables.updateData.

bigquery.tables.updateData

Mettre à jour les données d'une table.
Pour mettre à jour les métadonnées d'une table, vous avez besoin de bigquery.tables.update.

bigquery.tables.updateTag Mettre à jour les tags Data Catalog d'une table.
bigquery.transfers.get Obtenir des métadonnées de transfert
bigquery.transfers.update Créer, mettre à jour et supprimer des transferts

1 Pour chaque tâche que vous créez, vous disposez automatiquement de l'équivalent des autorisations bigquery.jobs.get et bigquery.jobs.update pour cette tâche.

Autorisations pour les tâches BigQuery ML

Le tableau suivant décrit les autorisations nécessaires pour les tâches BigQuery ML courantes.

Permission Description
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Créez un modèle à l'aide de l'instruction CREATE MODEL
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
Remplacez un modèle existant à l'aide de l'instruction CREATE OR REPLACE MODEL
bigquery.models.delete Supprimez le modèle à l'aide de l'API models.delete
bigquery.jobs.create
bigquery.models.delete
Supprimez le modèle à l'aide de l'instruction DROP MODEL
bigquery.models.getMetadata Obtenez les métadonnées d'un modèle à l'aide de l'API models.get
bigquery.models.list Répertoriez les modèles et les métadonnées sur les modèles à l'aide de l'API models.list
bigquery.models.updateMetadata Mettre à jour les métadonnées de modèle à l'aide de l'API models.delete Si vous définissez ou mettez à jour un délai d'expiration différent de zéro pour le modèle, l'autorisation bigquery.models.delete est également nécessaire.
bigquery.jobs.create
bigquery.models.getData
Effectuez des évaluations, des prédictions, des modèles et des inspections de caractéristiques à l'aide de fonctions telles que ML.EVALUATE, ML.PREDICT, ML.TRAINING_INFO et ML.WEIGHTS.
bigquery.jobs.create
bigquery.models.export
Exporter un modèle
bigquery.models.updateTag Mettre à jour les tags Data Catalog d'un modèle.

Étapes suivantes