Permissões e papéis predefinidos

Nesta página, fornecemos informações sobre papéis e permissões do Cloud Identity and Access Management do BigQuery.

Aqui você encontra os papéis e permissões relevantes para cada um dos produtos complementares do BigQuery:

  • BigQuery ML
  • Serviço de transferência de dados do BigQuery
  • BigQuery BI Engine

Para informações sobre controles de acesso no BigQuery ML, consulte Controle de acesso na documentação do BigQuery ML.

Visão geral

Quando uma identidade chama uma API do Google Cloud Platform, o BigQuery exige que a identidade tenha as permissões apropriadas para usar o recurso. É possível conceder permissões ao atribuir papéis a um usuário, grupo ou conta de serviço.

Nesta página, descrevemos os papéis do Cloud IAM do BigQuery que podem ser concedidos a identidades para acessar recursos do BigQuery.

Tipos de papéis do Cloud IAM

Há três tipos de papéis no Cloud Identity and Access Management:

  • Papéis primários incluem os papéis de proprietário, editor e visualizador que existiam antes da introdução do Cloud Identity and Access Management.
  • Papéis predefinidos fornecem acesso granular a um serviço específico e são gerenciados pelo GCP. Eles destinam-se a oferecer suporte a casos de uso comuns e padrões de controle de acesso.
  • Papéis personalizados dão acesso granular 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 primário, predefinido ou personalizado, use um dos métodos a seguir:

Quando você atribui papéis predefinidos e primários a um usuário, as permissões concedidas são uma união das permissões de cada papel.

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

Para informações sobre como criar papéis personalizadas, consulte Como criar e gerenciar papéis personalizados na documentação do Cloud Identity and Access Management.

Permissões do BigQuery e papéis predefinidos do Cloud IAM

Para conceder acesso a um recurso do BigQuery, atribua um ou mais papéis a um usuário, grupo ou conta de serviço. Ao atribuir papéis no nível da organização e do projeto, você fornece permissão para executar jobs do BigQuery ou gerenciar todos os recursos do BigQuery de um projeto.

Também é possível atribuir papéis no nível do conjunto de dados para fornecer acesso a somente um ou mais conjuntos de dados. Na hierarquia de políticas do Cloud IAM, os conjuntos de dados do BigQuery são recursos filhos de projetos. Tabelas e visualizações são recursos filhos de conjuntos de dados. Eles herdam permissões do respectivo conjunto de dados pai.

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.

Permissões do BigQuery

A tabela a seguir descreve as permissões disponíveis no BigQuery.

Permissão Descrição
bigquery.jobs.create Criar novos jobs.
bigquery.jobs.listAll Listar todos os jobs e recuperar metadados em qualquer job enviado por qualquer usuário.*
bigquery.jobs.list Listar todos os jobs e recuperar metadados em qualquer job enviado por qualquer usuário.* Para jobs enviados por outros usuários, os detalhes e metadados são editados.
bigquery.jobs.get Conseguir dados e metadados em qualquer job.*
bigquery.jobs.update Cancelar qualquer job.*
bigquery.datasets.create Criar novos conjuntos de dados vazios.
bigquery.datasets.delete Excluir um conjunto de dados.
bigquery.datasets.get Receber metadados sobre um conjunto de dados.
bigquery.datasets.update Atualizar metadados para um conjunto de dados.
bigquery.tables.create Criar novas tabelas.
bigquery.tables.list Listar tabelas e metadados em tabelas.
bigquery.tables.delete Excluir tabelas.
bigquery.tables.get Receber metadados de tabela.
Para receber dados de tabela, você precisa de bigquery.tables.getData.
bigquery.tables.getData Receber dados da tabela. Essa permissão é obrigatória para consultar dados da tabela.
Para receber metadados de tabela, você precisa de bigquery.tables.get.
bigquery.tables.export Exportar dados de tabela para fora do BigQuery.
bigquery.tables.update

Atualizar metadados de tabela.
Para atualizar dados de tabela, você precisa de bigquery.tables.updateData.

bigquery.tables.updateData

Atualizar dados de tabela.
Para atualizar metadados de tabela, você precisa de bigquery.tables.update.

bigquery.routines.create (Beta) Criar novas rotinas (funções e procedimentos armazenados).
bigquery.routines.list (Beta) Listar rotinas e metadados em rotinas.
bigquery.routines.delete (Beta) Excluir rotinas.
bigquery.routines.get (Beta) Receber definições e metadados de rotina.
bigquery.routines.update (Beta)

Atualizar definições e metadados de rotina.

bigquery.transfers.get Receber metadados de transferência.
bigquery.transfers.update Criar, atualizar e excluir as transferências.
bigquery.savedqueries.create Criar consultas salvas.
bigquery.savedqueries.get Receber metadados em consultas salvas.
bigquery.savedqueries.list Listar de consultas salvas.
bigquery.savedqueries.update Atualizar consultas salvas.
bigquery.savedqueries.delete Excluir consultas salvas.
bigquery.readsessions.create (Beta) Criar nova sessão de leitura por meio da API BigQuery Storage do BigQuery.
bigquery.connections.create (Beta) Criar novas conexões em um projeto.
bigquery.connections.get (Beta) Receber metadados de conexão. As credenciais são excluídas.
bigquery.connections.list (Beta) Listar conexões em um projeto.
bigquery.connections.use (Beta) Usar uma configuração de conexão para se conectar a uma fonte de dados remota.
bigquery.connections.update (Beta) Atualizar uma conexão e respectivas credenciais.
bigquery.connections.delete (Beta) Excluir uma conexão.

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

Papéis predefinidos do Cloud IAM do BigQuery

Na tabela abaixo, veja os papéis predefinidos do Cloud IAM do BigQuery com uma lista correspondente de todas as permissões incluídas em cada um. Cada permissão se aplica a um tipo específico de recurso.

Papéis do BigQuery

roles/
bigquery.admin
Administrador do BigQuery Concede permissões para gerenciar todos os recursos dentro do projeto. É possível gerenciar todos os dados no projeto e cancelar jobs de outros usuários que estejam sendo executados. bigquery.*
resourcemanager.projects.get
resourcemanager.projects.list
Projeto roles/
bigquery.connectionAdmin
BigQuery Connection Admin Beta bigquery.connections.*
roles/
bigquery.connectionUser
BigQuery Connection User Beta bigquery.connections.get
bigquery.connections.getIamPolicy
bigquery.connections.list
bigquery.connections.use
roles/
bigquery.dataEditor
Editor de dados do BigQuery

Quando aplicado a um conjunto de dados, o dataEditor concede permissões para:

  • ler os metadados do conjunto de dados e listar tabelas nele;
  • criar, atualizar, receber e excluir as tabelas do conjunto de dados.

Quando aplicado no nível do projeto ou da organização, esse papel também cria novos conjuntos de dados.

bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.datasets.updateTag
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
Conjunto de dados roles/
bigquery.dataOwner
Proprietário de dados do BigQuery

Quando aplicado a um conjunto de dados, o dataOwner concede permissões para:

  • ler, atualizar e excluir o conjunto de dados;
  • criar, atualizar, receber e excluir as tabelas do conjunto de dados.

Quando aplicado no nível do projeto ou da organização, esse papel também cria novos conjuntos de dados.

bigquery.datasets.*
bigquery.models.*
bigquery.routines.*
bigquery.tables.*
resourcemanager.projects.get
resourcemanager.projects.list
Conjunto de dados roles/
bigquery.dataViewer
Visualizador de dados do BigQuery

Quando aplicado a um conjunto de dados, o dataViewer concede permissões para:

  • ler os metadados do conjunto de dados e listar tabelas nele;
  • ler dados e metadados das tabelas do conjunto de dados.

Quando aplicado no nível do projeto ou da organização, esse papel também enumera todos os conjuntos de dados no projeto. No entanto, são necessários papéis extras para permitir a execução de jobs.

bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.models.getData
bigquery.models.getMetadata
bigquery.models.list
bigquery.routines.get
bigquery.routines.list
bigquery.tables.export
bigquery.tables.get
bigquery.tables.getData
bigquery.tables.list
resourcemanager.projects.get
resourcemanager.projects.list
Conjunto de dados roles/
bigquery.jobUser
BigQuery Job User Provides permissions to run jobs, including queries, within the project. The jobUser role can enumerate their own jobs and cancel their own jobs. bigquery.jobs.create
resourcemanager.projects.get
resourcemanager.projects.list
Project roles/
bigquery.metadataViewer
Leitor de metadados do BigQuery

Quando aplicado no nível do projeto ou da organização, o papel metadataViewer fornece permissões para:

  • listar todos os conjuntos de dados e ler metadados para todos os conjuntos de dados no projeto;
  • listar todas as tabelas e visualizações e ler metadados para todas as tabelas e visualizações no projeto.

São necessários papéis extras para permitir a execução de jobs.

bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.models.getMetadata
bigquery.models.list
bigquery.routines.get
bigquery.routines.list
bigquery.tables.get
bigquery.tables.list
resourcemanager.projects.get
resourcemanager.projects.list
Projeto roles/
bigquery.readSessionUser
BigQuery Read Session User Beta Access to create and use read sessions bigquery.readsessions.*
resourcemanager.projects.get
resourcemanager.projects.list
roles/
bigquery.user
Usuário do BigQuery Concede permissões para executar jobs, incluindo consultas, no projeto. Esse papel do usuário enumera e cancela os próprios jobs e enumera conjuntos de dados dentro de um projeto, além de permitir a criação de novos conjuntos de dados no projeto. O criador recebe o papel bigquery.dataOwner para esses conjuntos. bigquery.config.get
bigquery.datasets.create
bigquery.datasets.get
bigquery.datasets.getIamPolicy
bigquery.jobs.create
bigquery.jobs.list
bigquery.models.list
bigquery.readsessions.*
bigquery.routines.list
bigquery.savedqueries.get
bigquery.savedqueries.list
bigquery.tables.list
bigquery.transfers.get
resourcemanager.projects.get
resourcemanager.projects.list
Projeto
Papel Nome Descrição Permissões Menor recurso

Papéis primários do BigQuery

Para informações sobre papéis primários do BigQuery, consulte Papéis primários e permissões do BigQuery.

Papéis personalizados do BigQuery

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

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Precisa de ajuda? Acesse nossa página de suporte.