Permissões e papéis do IAM do 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. O IAM permite conceder acesso granular a recursos específicos do BigQuery e ajuda a impedir o acesso a outros recursos. O IAM permite aplicar o princípio de privilégio mínimo de segurança, que indica que ninguém precisa ter mais permissões do que o realmente necessário.

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, você vai aprender a usar papéis predefinidos e personalizados do IAM que permitem que os principais acessem recursos do BigQuery.

Para se familiarizar com o gerenciamento do 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.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

Papéis do IAM personalizados para o BigQuery

Para criar um papel personalizado do IAM para o BigQuery, siga as etapas descritas para papéis personalizados do IAM usando as permissões do BigQuery.

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 incluídas em papéis predefinidos e podem ser usadas em definições de papéis personalizados.

Permissão Descrição
bigquery.bireservations.get Lê as reservas do mecanismo de BI.
bigquery.bireservations.update Atualiza as reservas do BI Engine.
bigquery.capacityCommitments.create Cria compromissos 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

Confira 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 de recursos em um conjunto de dados.
bigquery.datasets.delete Excluir um conjunto de dados.
bigquery.datasets.deleteTagBinding Exclui vinculações de tags de recurso em um conjunto de dados
bigquery.datasets.get Recebe metadados e permissões sobre um conjunto de dados. A visualização de permissões no console do Google Cloud também requer a permissão bigquery.datasets.getIamPolicy.
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 acesso às 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 de recurso 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 definição das permissões é controlada pela permissão bigquery.datasets.update.
bigquery.datasets.update Atualiza metadados e permissões para um conjunto de dados. A atribuição de permissões no console do Google Cloud também requer a permissão bigquery.datasets.setIamPolicy.
bigquery.datasets.updateTag Atualiza as tags do Data Catalog de 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 Lista todos os jobs e recupera metadados em qualquer job enviado por qualquer usuário.
bigquery.jobs.listExecutionMetadata Lista todos os metadados de execução de job (sem informações sensíveis) em qualquer job enviado por qualquer usuário. Aplicada apenas no nível da organização e usada pela interface do administrador.
bigquery.jobs.delete Exclui metadados de um job.
bigquery.jobs.update Cancela qualquer job.1
bigquery.models.create Criar novos modelos de machine learning.
bigquery.models.delete Exclua modelos de machine learning.
bigquery.models.getData Receba dados do modelo de machine learning. Para conferir os metadados do modelo, você precisa de bigquery.models.getMetadata.
bigquery.models.getMetadata Recebe metadados do modelo de machine learning. Para conferir os dados do modelo, você precisa de bigquery.models.getData.
bigquery.models.list Lista modelos de machine learning e metadados nos modelos.
bigquery.models.updateData Atualizar os dados do modelo de machine learning. Para atualizar os metadados do modelo, você precisa de bigquery.models.updateMetadata.
bigquery.models.updateMetadata Atualiza os metadados do modelo de machine learning. Para atualizar os dados do modelo, você precisa de bigquery.models.updateData.
bigquery.models.export Exporte modelos de machine learning.
bigquery.models.updateTag Atualize as tags do Data Catalog de um modelo.
bigquery.readsessions.create Cria uma nova sessão de leitura usando a API 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 Crie uma reserva de slot em um projeto de administração.
bigquery.reservations.delete Exclua uma reserva de slot.
bigquery.reservations.get Recuperar detalhes sobre uma reserva de slot.
bigquery.reservations.list Liste todas as reservas de slot em um projeto de administração.
bigquery.reservations.update Atualize as propriedades de uma reserva de slot.
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 Encontra 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 aos 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

Atualize as tags do Data Catalog para 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.createTagBinding Cria vinculações de tags de recursos em um tabela.
bigquery.tables.delete Exclui tabelas.
bigquery.tables.deleteIndex Solta índices de pesquisa em tabelas.
bigquery.tables.deleteSnapshot Exclui snapshots da tabela.
bigquery.tables.deleteTagBinding Exclui vinculações de tags de recursos em um tabela.
bigquery.tables.export Exporta dados de tabela do BigQuery.
bigquery.tables.get Recebe metadados de tabela.
Para conferir 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 conferir 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 Atualize as tags do Data Catalog 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
bigquery.models.updateTag Atualize as tags do Data Catalog de um modelo.

A seguir