Controle de acesso

Nesta página, descrevemos as opções de controle de acesso disponíveis no Cloud Bigtable.

Visão geral

O Cloud Bigtable usa o Google Cloud Identity and Access Management (IAM) para controle de acesso.

No Cloud Bigtable, você pode configurar o controle de acesso no nível do projeto e da instância. Veja a seguir alguns exemplos de como usar o controle de acesso no nível do projeto:

  • Permitir que um usuário leia qualquer tabela do projeto, sem poder alterá-la.
  • Permitir que um usuário leia e edite qualquer tabela do projeto, sem poder gerenciar instâncias.
  • Permitir que um usuário leia e edite qualquer tabela do projeto e gerencie instâncias.

Aqui estão alguns exemplos de como usar o controle de acesso no nível da instância:

  • Permitir que um usuário leia qualquer tabela de uma instância de desenvolvimento, sem ter acesso a uma instância de produção.
  • Permitir que um usuário leia e edite qualquer tabela de uma instância de desenvolvimento, além de ler qualquer tabela de uma instância de produção.
  • Permitir que um usuário gerencie uma instância de desenvolvimento, mas não uma instância de produção.

Para ver uma descrição detalhada do IAM e seus recursos, consulte o guia do desenvolvedor do Google Cloud Identity and Access Management. Em particular, consulte Como conceder, alterar e revogar acesso aos membros do projeto.

Para ver listas das permissões e dos papéis com os quais o Cloud Bigtable é compatível, consulte as seções a seguir.

Como ativar a API Cloud Bigtable

Para visualizar e atribuir papéis do Cloud Bigtable IAM, é necessário ativar a API Cloud Bigtable para o projeto em questão. Você não conseguirá ver os papéis do Cloud Bigtable no Console do GCP até ativar a API.

Ativar a API

Permissões

Esta seção resume as permissões com as quais o Cloud Bigtable é compatível.

As permissões permitem que os usuários executem ações específicas nos recursos do Cloud Bigtable. Por exemplo, as permissões de bigtable.instances.list permitem que os usuários listem todas as instâncias do Cloud Bigtable em um projeto. Não é possível conceder permissões aos usuários diretamente. Em vez disso, é preciso atribuir a cada um deles um papel predefinido ou um personalizado, que concederá uma ou mais permissões.

As tabelas a seguir listam as permissões do IAM associadas ao Cloud Bigtable:

Nome da permissão do local Descrição
bigtable.locations.list Lista locais do Cloud Bigtable.
Nome da permissão de instância Descrição
bigtable.instances.create Criar uma instância do Cloud Bigtable.
bigtable.instances.delete Excluir uma instância do Cloud Bigtable.
bigtable.instances.get Conseguir informações sobre uma instância do Cloud Bigtable.
bigtable.instances.list Listar as instâncias do Cloud Bigtable de um projeto.
bigtable.instances.update Atualizar as configurações de uma instância do Cloud Bigtable.
Nome da permissão do perfil de aplicativo Descrição
bigtable.appProfiles.create Criar um perfil de aplicativo do Cloud Bigtable.
bigtable.appProfiles.delete Excluir um perfil de aplicativo do Cloud Bigtable.
bigtable.appProfiles.get Conseguir informações sobre um perfil de aplicativo do Cloud Bigtable.
bigtable.appProfiles.list Listar os perfis de aplicativos do Cloud Bigtable de uma instância.
bigtable.appProfiles.update Atualizar as configurações de um perfil de aplicativo do Cloud Bigtable.
Nome da permissão de cluster Descrição
bigtable.clusters.create Criar um cluster do Cloud Bigtable.
bigtable.clusters.delete Excluir um cluster do Cloud Bigtable.
bigtable.clusters.get Conseguir informações sobre um cluster do Cloud Bigtable.
bigtable.clusters.list Listar os clusters do Cloud Bigtable de uma instância.
bigtable.clusters.update Atualizar as configurações de um cluster do Cloud Bigtable.
Nome da permissão de tabela Descrição
bigtable.tables.checkConsistency Verificar se uma tabela replicada está atualizada.
bigtable.tables.create Criar uma tabela.
bigtable.tables.delete Excluir uma tabela.
bigtable.tables.generateConsistencyToken Gerar o token para verificar se uma tabela replicada está atualizada.
bigtable.tables.get Conseguir informações sobre uma tabela, incluindo grupos de colunas e configurações individuais.
bigtable.tables.list Listar tabelas em uma instância.
bigtable.tables.mutateRows Modificar linhas em uma tabela ou truncar a tabela.
bigtable.tables.readRows Ler linhas de uma tabela.
bigtable.tables.sampleRowKeys Conseguir uma amostra das chaves de linha usadas em uma tabela.
bigtable.tables.update Atualizar as configurações de uma tabela, incluindo grupos de colunas e configurações individuais.

Papéis predefinidos

Cada papel predefinido é um grupo de uma ou mais permissões. Por exemplo, roles/bigtable.reader fornece acesso somente leitura às informações sobre instâncias, clusters, tabelas e grupos de colunas do Cloud Bigtable, bem como aos dados contidos nas tabelas. Você atribui papéis a usuários ou grupos, o que permite que eles realizem ações nos recursos do seu projeto.

A tabela a seguir lista os papéis predefinidos do Cloud Bigtable, incluindo uma lista de permissões associadas a cada um:

Papel Permissões Descrição
roles/bigtable.admin

Acesso a todos os recursos do Cloud Bigtable:

bigtable.*.*

Acesso de visualização dos gráficos de monitoramento no Console do GCP:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Acesso a metadados no nível do projeto:

resourcemanager.projects.get

Administra todas as instâncias de um projeto, incluindo os dados armazenados nas tabelas. Pode criar novas instâncias. Destinado a administradores de projeto.
roles/bigtable.user

Acesso somente leitura aos metadados para instâncias, clusters, tabelas e grupos de colunas:

  • bigtable.*.get
  • bigtable.*.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken

Acesso de leitura e gravação a tabelas:

  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys

Acesso de visualização dos gráficos de monitoramento no Console do GCP:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Acesso a metadados no nível do projeto:

resourcemanager.projects.get

Dá acesso de leitura e gravação aos dados armazenados nas tabelas. Destinado a desenvolvedores de aplicativos ou contas de serviço.
roles/bigtable.reader

Acesso somente leitura aos metadados para instâncias, clusters, tabelas e grupos de colunas:

  • bigtable.*.get
  • bigtable.*.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken

Acesso somente leitura a tabelas:

  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys

Acesso de visualização dos gráficos de monitoramento no Console do GCP:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Acesso a metadados no nível do projeto:

resourcemanager.projects.get

Dá acesso somente leitura aos dados armazenados nas tabelas. Destinado a cientistas de dados, geradores de painéis e outros cenários de análise de dados.
roles/bigtable.viewer

Acesso somente leitura aos metadados para instâncias, clusters, tabelas e grupos de colunas:

  • bigtable.*.get
  • bigtable.*.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken

Acesso de visualização dos gráficos de monitoramento no Console do GCP:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Acesso a metadados no nível do projeto:

resourcemanager.projects.get

Não fornece acesso a dados. Serve como um conjunto mínimo de permissões para acessar o Console do GCP para Cloud Bigtable.

Papéis personalizados

Se os papéis predefinidos do Cloud Bigtable não atenderem aos requisitos da empresa, defina seus próprios papéis personalizados com as permissões que especificar.

Se for necessário que o papel personalizado seja compatível com o acesso ao Console do GCP, identifique as tarefas que os usuários realizarão e garanta que a função personalizada tenha as permissões obrigatórias para cada tarefa, conforme mostrado na tabela abaixo. Se um papel personalizado não tiver todas as permissões obrigatórias para uma tarefa e um usuário tentar realizar essa tarefa, o Console do GCP não funcionará corretamente.

Tarefa do Console do GCP Permissões exigidas
Acesso básico ao Console do GCP
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • resourcemanager.projects.get
Criação de uma instância ou cluster

Permissões de acesso básico mais:

  • bigtable.clusters.create
  • bigtable.instances.create
Modificação de uma instância ou cluster

Permissões de acesso básico mais:

  • bigtable.clusters.update
  • bigtable.instances.update
Gerenciamento da configuração de replicação

Permissões de acesso básico mais:

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
Exclusão de uma instância ou cluster

Permissões de acesso básico mais:

  • bigtable.clusters.delete
  • bigtable.instances.delete
Monitoramento de uma instância ou cluster

Permissões de acesso básico mais:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

Gerenciamento do IAM no nível do projeto

Você pode conceder, alterar e revogar papéis do IAM no nível do projeto usando o Console do Google Cloud Platform, a API IAM ou a ferramenta de linha de comando gcloud. Para mais informações, consulte Como conceder, alterar e revogar acesso aos membros do projeto.

Gerenciamento do IAM no nível da instância

Veja nesta seção como gerenciar os papéis do IAM no Cloud Bigtable no nível da instância.

Antes de começar

Antes de definir os papéis de IAM no nível da instância, verifique se o usuário tem pelo menos um dos seguintes papéis no projeto:

  • Visualizador do Bigtable (recomendado)
  • Leitor do Bigtable
  • Usuário do Bigtable
  • Administrador do Bigtable

Selecione um papel no nível do projeto de modo que ele não tenha mais permissões do que as necessárias em todas as instâncias do projeto. Por isso, conceda o papel de visualizador do Bigtable em quase todos os casos.

Caso o usuário não tenha pelo menos um desses papéis no projeto, ele não terá acesso ao Cloud Bigtable usando o Console do GCP. O Console do GCP exige um desses papéis no nível do projeto para recuperar informações sobre instâncias e clusters em nome do usuário.

Como conceder papéis de IAM no nível da instância

Você pode conceder qualquer um dos papéis predefinidos do Cloud Bigtable às contas de serviço ou usuários no nível da instância. Você também pode conceder qualquer papel personalizado que tenha definido.

Para conceder um papel predefinido ou personalizado para uma conta de serviço ou usuário no nível da instância, faça o seguinte:

  1. Acesse a página "Instâncias" do Cloud Bigtable no Console do GCP.

    Acessar a página "Instâncias"

  2. Marque as caixas ao lado das instâncias dos papéis que você quer gerenciar. Será exibido um painel de informações.

  3. No painel de informações, clique em Permissões.

  4. Em Adicionar membros, digite o endereço de e-mail do usuário ou da conta de serviço que você quer adicionar e clique no endereço de e-mail do usuário ou da conta de serviço.

  5. Clique na lista suspensa Selecionar um papel e clique em Cloud Bigtable para selecionar um papel predefinido ou em Personalizado para selecionar um papel personalizado.

  6. Clique no nome de cada papel que você quer atribuir.

  7. Clique em Adicionar. O usuário ou conta de serviço receberá os papéis que você especificou no nível da instância.

A seguir

Saiba mais sobre o Google Cloud Identity and Access Management.

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

Enviar comentários sobre…

Documentação do Cloud Bigtable