Introdução ao IAM no BigQuery

Nesta página, você encontra informações sobre papéis e permissões do gerenciamento de identidade e acesso (IAM, na sigla em inglês) do BigQuery.

Informações gerais

Quando um principal (um usuário, grupo ou uma conta de serviço) chama uma API do Google Cloud, ele precisa ter as permissões apropriadas do IAM para usar o recurso. Para conceder as permissões necessárias a um principal, atribua um papel do IAM a ele.

Neste documento, descrevemos como usar papéis do IAM predefinidos e personalizados que permitem aos principais acessarem recursos do BigQuery.

Para se familiarizar com o gerenciamento de acesso no Google Cloud em geral, consulte a visão geral do IAM.

Tipos de papéis do IAM

Um papel é um conjunto de permissões. É possível usar os seguintes tipos de papéis no IAM para fornecer acesso a recursos do BigQuery:

  • Papéis predefinidos são gerenciados pelo Google Cloud e permitem padrões de controle de acesso e casos de uso comuns.
  • Papéis personalizados dão acesso de acordo com uma lista de permissões especificada pelo usuário.

Para determinar se uma ou mais permissões estão incluídas em um papel, use um dos seguintes métodos:

Quando você atribui vários tipos de papel a um usuário, as permissões concedidas são uma combinação das permissões de cada papel.

Para mais informações sobre como usar o IAM para acessar recursos, consulte Como conceder, alterar e revogar acesso a recursos na documentação do IAM.

Para informações sobre como criar papéis personalizados, consulte Como criar e gerenciar papéis personalizados na documentação do IAM

Papéis do IAM no BigQuery

As permissões não são atribuídas diretamente a usuários, grupos ou contas de serviço. Em vez disso, usuários, grupos ou contas de serviço recebem acesso a um ou mais papéis predefinidos ou personalizados para conceder a eles permissões para executar ações em recursos.

É possível conceder acesso nos seguintes níveis de recursos do BigQuery:

  • Organização ou nível de projeto do Google Cloud
  • Nível do conjunto de dados
  • Nível de tabela ou visualização

Papéis aplicados no nível da organização ou do projeto do Google Cloud

Ao atribuir papéis no nível da organização e do projeto, você concede permissão para executar jobs do BigQuery ou acessar todos os recursos do BigQuery de um projeto.

Papéis aplicados no nível do conjunto de dados

É possível atribuir papéis no nível do conjunto de dados para fornecer acesso a um conjunto de dados específico, sem dar acesso total aos recursos do projeto. Na hierarquia de políticas do Cloud IAM, os conjuntos de dados do BigQuery são recursos filhos de projetos. Para mais informações sobre como atribuir papéis no nível do conjunto de dados, consulte Como controlar o acesso a conjuntos de dados.

Papéis aplicados a recursos individuais dentro de conjuntos de dados

É possível atribuir papéis individualmente a determinados tipos de recursos dentro de conjuntos de dados, sem fornecer acesso total aos recursos do conjunto de dados.

Os papéis podem ser aplicados a recursos individuais dos seguintes tipos:

  • tabelas
  • visualizações

Os papéis não podem ser aplicados a recursos individuais dos seguintes tipos:

  • rotinas
  • modelos

Para mais informações sobre como atribuir papéis no nível da tabela ou da visualização, consulte Como controlar o acesso a tabelas ou visualizações.

Papéis predefinidos do IAM do BigQuery

A tabela abaixo mostra os papéis do IAM no BigQuery com uma lista correspondente de todas as permissões que cada papel inclui. Lembre-se que cada permissão se aplica a um tipo de recurso específico.

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.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • 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.setIamPolicy
  • bigquery.tables.update
  • bigquery.tables.updateData
  • bigquery.tables.updateTag

bigquery.transfers.*

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

bigquerymigration.translation.translate

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.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • 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.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:

  • Read the dataset's metadata and list tables in the dataset.
  • Read data and metadata from the dataset's tables.

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

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)

Administer all BigQuery resources.

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)

Manage all BigQuery resources, but cannot make purchasing decisions.

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)

View all BigQuery resources but cannot make changes or purchasing decisions.

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)

Roll up Role of BigQuery Admin, Runtime Admin and Dataform 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.delete
  • bigquery.tables.deleteIndex
  • bigquery.tables.deleteSnapshot
  • 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.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.studioUser)

Roll up role of BigQuery Job User, Runtime User and Dataform Code Creator

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

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

Papéis personalizados do BigQuery

Para criar um papel personalizado do IAM para o BigQuery, siga as etapas descritas na documentação de papéis personalizados do IAM.

Papéis básicos do BigQuery

Para informações sobre os papéis básicos do BigQuery, consulte Papéis básicos e permissões do BigQuery.

Permissões do BigQuery

A tabela a seguir descreve as permissões disponíveis no BigQuery. Elas estão inclusas em papéis predefinidos e podem ser usadas na definição de papéis personalizados.

Permissão Descrição
bigquery.bireservations.get Lê as reservas do mecanismo de BI.
bigquery.bireservations.update Atualiza reservas do BI Engine.
bigquery.capacityCommitments.create Cria um compromisso de capacidade no projeto.
bigquery.capacityCommitments.delete Exclui um compromisso de capacidade.
bigquery.capacityCommitments.get Recupera detalhes sobre um compromisso de capacidade.
bigquery.capacityCommitments.list Lista todos os compromissos de capacidade em um projeto.
bigquery.capacityCommitments.update Atualiza todos os compromissos de capacidade em um projeto.
bigquery.config.update Criar uma configuração.
bigquery.config.get Conseguir detalhes sobre uma configuração.
bigquery.connections.create Cria novas conexões em um projeto.
bigquery.connections.delete Exclui uma conexão.
bigquery.connections.get Recebe metadados de conexão. As credenciais são excluídas.
bigquery.connections.list Lista conexões em um projeto.
bigquery.connections.update Atualiza uma conexão e as credenciais dela.
bigquery.connections.updateTag

Atualiza tags para uma conexão.

bigquery.connections.use Usa uma configuração de conexão para se conectar a uma fonte de dados remota.
bigquery.connections.delegate Delega conexão para criar tabelas externas autorizadas e funções remotas.
bigquery.dataPolicies.create

Crie novas políticas de dados.

bigquery.dataPolicies.delete

Exclua políticas de dados.

bigquery.dataPolicies.get

Receba metadados sobre políticas de dados.

bigquery.dataPolicies.getIamPolicy

Leia as permissões do IAM de uma política de dados.

bigquery.dataPolicies.list

Liste as políticas de dados em um projeto.

bigquery.dataPolicies.maskedGet

Veja os dados mascarados de uma coluna com uma tag de política associada a uma política de dados.

bigquery.dataPolicies.setIamPolicy

Defina as permissões do IAM de uma política de dados.

bigquery.dataPolicies.update

Atualizar metadados para uma política de dados.

bigquery.datasets.create Cria novos conjuntos de dados vazios.
bigquery.datasets.createTagBinding Cria vinculações de tags em um conjunto de dados.
bigquery.datasets.delete Excluir um conjunto de dados.
bigquery.datasets.deleteTagBinding Exclui vinculações de tags em um conjunto de dados
bigquery.datasets.get Recebe metadados sobre um conjunto de dados.
bigquery.datasets.getIamPolicy Necessário no console do Google Cloud para dar ao usuário a opção de receber as permissões do IAM de um conjunto de dados. Falha ao abrir. A capacidade de realizar a operação de conseguir as permissões é controlada pela permissão bigquery.datasets.get.
bigquery.datasets.link Criar um conjunto de dados vinculado.
bigquery.datasets.listTagBindings Lista as vinculações de tags em um conjunto de dados.
bigquery.datasets.setIamPolicy Necessário no console do Google Cloud para dar ao usuário a opção de definir as permissões do IAM de um conjunto de dados. Falha ao abrir. A capacidade de realizar a operação de definir as permissões é controlada pela permissão bigquery.datasets.update.
bigquery.datasets.update Atualiza metadados de um conjunto de dados.
bigquery.datasets.updateTag (Beta) Atualizar tags para um conjunto de dados.
bigquery.jobs.create Executa jobs (incluindo consultas) no projeto.
bigquery.jobs.get Recebe dados e metadados em qualquer job.1
bigquery.jobs.list Listar todos os jobs e recuperar metadados em qualquer job enviado por qualquer usuário. Em jobs enviados por outros usuários, detalhes e metadados são editados.
bigquery.jobs.listAll Listar todos os jobs e recuperar metadados em qualquer job enviado por qualquer usuário.
bigquery.jobs.listExecutionMetadata (Beta) Lista todos os metadados de execução de job (sem informações confidenciais) em qualquer job enviado por qualquer usuário. Aplicada apenas no nível da organização e usada pela IU do administrador.
bigquery.jobs.delete Exclui metadados de um job.
bigquery.jobs.update Cancela qualquer job.1
bigquery.models.create Cria novos modelos.
bigquery.models.delete Exclui modelos.
bigquery.models.getData Recebe dados do modelo. Para ver os metadados do modelo, você precisa de bigquery.models.getMetadata.
bigquery.models.getMetadata Recebe metadados do modelo. Para ver os dados do modelo, você precisa de bigquery.models.getData.
bigquery.models.list Lista modelos e metadados em modelos.
bigquery.models.updateData Atualiza os dados do modelo. Para atualizar os metadados do modelo, você precisa de bigquery.models.updateMetadata.
bigquery.models.updateMetadata Atualiza os metadados do modelo. Para atualizar os dados do modelo, você precisa de bigquery.models.updateData.
bigquery.models.export Exportar um modelo.
bigquery.readsessions.create Cria uma nova sessão de leitura usando a API BigQuery Storage Read.
bigquery.readsessions.getData Lê dados de uma sessão de leitura usando a API Storage Read.
bigquery.readsessions.update Atualiza uma sessão de leitura usando a API Storage Read.
bigquery.reservations.create Cria uma reserva em um projeto.
bigquery.reservations.delete Exclui uma reserva.
bigquery.reservations.get Recupera detalhes sobre uma reserva.
bigquery.reservations.list Lista todas as reservas em um projeto.
bigquery.reservations.update Atualiza as propriedades de uma reserva.
bigquery.reservationAssignments.create

Cria uma atribuição de reserva. Essa permissão é obrigatória no projeto do proprietário e no recurso de transferência.
Para mover uma atribuição de reserva, é necessário bigquery.reservationAssignments.create no projeto do novo proprietário e no recurso de transferência.

bigquery.reservationAssignments.delete

Exclui uma atribuição de reserva. Essa permissão é necessária no projeto proprietário e no recurso atribuído.
Para mover uma atribuição de reserva, é preciso ter bigquery.reservationAssignments.delete no projeto proprietário e recurso atribuído que já existem.

bigquery.reservationAssignments.list Lista todas as atribuições de reserva em um projeto.
bigquery.reservationAssignments.search Pesquisa uma atribuição de reserva para um determinado projeto, pasta ou organização.
bigquery.rowAccessPolicies.create Cria uma nova política de acesso no nível da linha em uma tabela.
bigquery.rowAccessPolicies.delete Exclui uma política de acesso no nível da linha de uma tabela.
bigquery.rowAccessPolicies.getFilteredData Recebe dados em uma tabela que você quer que fiquem visíveis apenas para os principais da lista de beneficiários de uma política de acesso no nível da linha. Recomendamos que essa permissão seja concedida apenas em um recurso de política de acesso no nível da linha.
bigquery.rowAccessPolicies.list Lista todas as políticas de acesso no nível da linha em uma tabela.
bigquery.rowAccessPolicies.overrideTimeTravelRestrictions Acesse dados históricos em uma tabela que tenha, ou já tenha sido, políticas de acesso no nível da linha.
bigquery.rowAccessPolicies.getIamPolicy Recebe as permissões do IAM de uma política de acesso da linha.
bigquery.rowAccessPolicies.setIamPolicy Define as permissões de IAM da política de acesso da linha.
bigquery.rowAccessPolicies.update Recria uma política de acesso no nível da linha.
bigquery.routines.create Cria novas rotinas (funções e procedimentos armazenados).
bigquery.routines.delete Exclui rotinas.
bigquery.routines.get Recebe definições e metadados de rotina.
bigquery.routines.list Lista rotinas e metadados em rotinas.
bigquery.routines.update

Atualiza definições e metadados de rotina.

bigquery.routines.updateTag

Atualiza as tags de uma rotina.

bigquery.savedqueries.create Cria consultas salvas.
bigquery.savedqueries.delete Exclui consultas salvas.
bigquery.savedqueries.get Recebe metadados em consultas salvas.
bigquery.savedqueries.list Listar de consultas salvas.
bigquery.savedqueries.update Atualiza consultas salvas.
bigquery.tables.create Cria novas tabelas.
bigquery.tables.createIndex Cria índices de pesquisa em tabelas.
bigquery.tables.createSnapshot Cria novos snapshots da tabela.
bigquery.tables.delete Exclui tabelas.
bigquery.tables.deleteIndex Solta índices de pesquisa em tabelas.
bigquery.tables.deleteSnapshot Exclui snapshots da tabela.
bigquery.tables.export Exporta dados de tabela do BigQuery.
bigquery.tables.get Recebe metadados de tabela.
Para ver os dados da tabela, você precisa de bigquery.tables.getData.
bigquery.tables.getData Recebe dados da tabela. Essa permissão é obrigatória para consultar dados da tabela.
Para ver os metadados da tabela, você precisa bigquery.tables.get.
bigquery.tables.getIamPolicy Faz a leitura da política do Cloud IAM de uma tabela.
bigquery.tables.list Lista tabelas e metadados em tabelas.
bigquery.tables.replicateData Replicar os dados da tabela. Essa permissão é necessária para criar visualizações materializadas de réplicas.
bigquery.tables.restoreSnapshot Restaura snapshots da tabela.
bigquery.tables.setCategory Define as tags de política no esquema da tabela.
bigquery.tables.setIamPolicy Altera a política do Cloud IAM de uma tabela.
bigquery.tables.update

Atualiza os metadados da tabela.
Para fazer isso, você precisa de bigquery.tables.updateData.

bigquery.tables.updateData

Atualiza os dados da tabela.
Para atualizar os metadados da tabela, você precisa bigquery.tables.update.

bigquery.tables.updateTag (Beta) Atualize as tags de uma tabela.
bigquery.transfers.get Recebe metadados de transferência.
bigquery.transfers.update Cria, atualiza e exclui transferências.

1Para qualquer job criado, você tem automaticamente o equivalente às permissões bigquery.jobs.get e bigquery.jobs.update.

Permissões para tarefas do BigQuery ML

A tabela a seguir descreve as permissões necessárias para tarefas comuns do BigQuery ML.

Permissão Descrição
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
Criar um novo modelo usando a instrução CREATE MODEL
bigquery.jobs.create
bigquery.models.create
bigquery.models.getData
bigquery.models.updateData
bigquery.models.updateMetadata
Substituir um modelo atual usando a instrução CREATE OR REPLACE MODEL
bigquery.models.delete Excluir modelo usando a API models.delete
bigquery.jobs.create
bigquery.models.delete
Excluir modelo usando a instrução DROP MODEL
bigquery.models.getMetadata Receber metadados do modelo usando a API models.get
bigquery.models.list Listar modelos e metadados em modelos usando a API models.list
bigquery.models.updateMetadata Atualize os metadados do modelo usando a API models.delete. Se você definir ou atualizar um prazo de validade diferente de zero para o modelo, a permissão bigquery.models.delete também será necessária.
bigquery.jobs.create
bigquery.models.getData
Execute avaliação, previsão e inspeções de modelos e recursos usando funções como ML.EVALUATE, ML.PREDICT, ML.TRAINING_INFO e ML.WEIGHTS.
bigquery.jobs.create
bigquery.models.export
Exportar um modelo

A seguir