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.
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:
Acesso de visualização dos gráficos de monitoramento no Console do GCP:
Acesso a metadados no nível do projeto:
|
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:
Acesso de leitura e gravação a tabelas:
Acesso de visualização dos gráficos de monitoramento no Console do GCP:
Acesso a metadados no nível do projeto:
|
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:
Acesso somente leitura a tabelas:
Acesso de visualização dos gráficos de monitoramento no Console do GCP:
Acesso a metadados no nível do projeto:
|
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:
Acesso de visualização dos gráficos de monitoramento no Console do GCP:
Acesso a metadados no nível do projeto:
|
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 |
|
Criação de uma instância ou cluster |
Permissões de acesso básico mais:
|
Modificação de uma instância ou cluster |
Permissões de acesso básico mais:
|
Gerenciamento da configuração de replicação |
Permissões de acesso básico mais:
|
Exclusão de uma instância ou cluster |
Permissões de acesso básico mais:
|
Monitoramento de uma instância ou cluster |
Permissões de acesso básico mais:
|
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:
Acesse a página "Instâncias" do Cloud Bigtable no Console do GCP.
Marque as caixas ao lado das instâncias dos papéis que você quer gerenciar. Será exibido um painel de informações.
No painel de informações, clique em Permissões.
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.
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.
Clique no nome de cada papel que você quer atribuir.
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.