Controlo de acesso do Bigtable com a IAM

Esta página descreve as opções de controlo de acesso no Bigtable.

Vista geral

O Bigtable usa a gestão de identidade e de acesso (IAM) para o controlo de acesso. Define políticas IAM nos recursos para controlar quem tem que tipo de acesso a que recursos.

Os recursos do Bigtable estão organizados numa hierarquia. Um projeto é o principal de uma instância do Bigtable, que é o principal dos respetivos clusters e tabelas.Google Cloud Uma tabela é o elemento principal das respetivas vistas autorizadas, enquanto um cluster é o elemento principal das respetivas cópias de segurança. Pode configurar o controlo de acesso em cada nível.

Se tiver autorizações num determinado nível, tem automaticamente autorizações abaixo desse nível. Por exemplo, se tiver acesso ao nível do projeto, tem acesso às instâncias, aos clusters, às tabelas, às visualizações autorizadas e às visualizações materializadas contínuas nesse projeto. Se lhe for concedido acesso a uma vista autorizada ou a uma vista materializada contínua, não tem automaticamente acesso a recursos de nível superior que sejam pais da vista autorizada ou da vista materializada contínua, como a tabela e a instância. Este comportamento denomina-se herança de políticas.

Para mais informações sobre a hierarquia do IAM, consulte o artigo Herança de políticas do IAM.

Seguem-se alguns exemplos de utilização do controlo de acesso ao nível do projeto:

  • Permitir que um utilizador leia, mas não escreva, em qualquer tabela no projeto.
  • Permitir que um utilizador leia e escreva em qualquer tabela no projeto, mas não gerir instâncias.
  • Permitir que um utilizador leia e escreva em qualquer tabela no projeto e faça a gestão de instâncias.

Seguem-se alguns exemplos de utilização do controlo de acesso ao nível da instância:

  • Permitir que um utilizador leia a partir de qualquer tabela apenas numa instância num projeto que tenha várias instâncias.
  • Permitir que um utilizador faça a gestão de apenas uma instância num projeto que tenha várias instâncias.

Seguem-se alguns exemplos de utilização do controlo de acesso ao nível da tabela:

  • Permitir que um utilizador escreva numa tabela, mas não leia a tabela.
  • Permitir que um utilizador leia a partir de uma tabela, mas não escreva na tabela.

Seguem-se alguns exemplos de utilização do controlo de acesso ao nível da cópia de segurança:

  • Impedir que um utilizador elimine uma cópia de segurança.
  • Impedir que um utilizador faça o restauro a partir da cópia de segurança.

Seguem-se alguns exemplos de utilização do controlo de acesso ao nível da visualização autorizada:

  • Permitir que um utilizador leia uma vista autorizada, mas não a modifique.
  • Permitir que um utilizador veja dados apenas de uma de várias vistas autorizadas de uma tabela.

Seguem-se alguns exemplos de utilização do controlo de acesso ao nível da vista materializada contínua:

  • Permitir que um utilizador leia a partir de uma vista materializada contínua, mas não modifique a tabela subjacente.

Para uma descrição detalhada do IAM e das respetivas funcionalidades, consulte o guia do programador do IAM. Em particular, consulte o artigo Conceder, alterar e revogar o acesso.

No Bigtable, não pode conceder acesso aos seguintes tipos de diretores:

Para ver listas das autorizações e funções que o Bigtable suporta, consulte as secções seguintes.

Ativar a API Bigtable

Para ver e atribuir funções do IAM do Bigtable, tem de ativar a API Bigtable para o seu projeto. Não pode ver as funções do Bigtable na consola até ativar a API. Google Cloud

Roles required to enable APIs

To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

Enable the API

Autorizações

Esta secção resume as autorizações suportadas pelo Bigtable.

As autorizações permitem que os utilizadores realizem ações específicas em recursos do Bigtable. Por exemplo, as autorizações bigtable.instances.list permitem que os utilizadores indiquem todas as instâncias do Bigtable num projeto. Não concede autorizações aos utilizadores diretamente. Em vez disso, atribui a cada utilizador uma função predefinida ou uma função personalizada, que concede uma ou mais autorizações.

As tabelas seguintes indicam as autorizações de IAM associadas ao Bigtable:

Nome da autorização do perfil da app Descrição
bigtable.appProfiles.create Crie um perfil de app do Bigtable.
bigtable.appProfiles.delete Elimine um perfil de app do Bigtable.
bigtable.appProfiles.get Receba informações sobre um perfil de app do Bigtable.
bigtable.appProfiles.list Liste os perfis de apps do Bigtable de uma instância.
bigtable.appProfiles.update Atualize as definições de um perfil de app do Bigtable.
Nome da autorização de cópias de segurança Descrição
bigtable.backups.create Crie uma cópia de segurança do Bigtable.
bigtable.backups.delete Elimine uma cópia de segurança do Bigtable.
bigtable.backups.get Receba informações sobre uma cópia de segurança do Bigtable.
bigtable.backups.getIamPolicy Ler as listas de controlo de acesso (ACL) de uma cópia de segurança. Devolvidas como políticas IAM.
bigtable.backups.list Apresentar cópias de segurança do Bigtable.
bigtable.backups.restore Restaurar a partir de uma cópia de segurança do Bigtable.
bigtable.backups.testIamPermissions Obter as autorizações do autor da chamada numa cópia de segurança especificada.
bigtable.backups.read Ler a partir de uma cópia de segurança do Bigtable.
bigtable.backups.setIamPolicy Atualize as LCAs de cópia de segurança.
bigtable.backups.update Modifique a validade de uma cópia de segurança do Bigtable.
Nome da autorização do cluster Descrição
bigtable.clusters.create Crie um cluster do Bigtable.
bigtable.clusters.delete Elimine um cluster do Bigtable.
bigtable.clusters.get Receba informações sobre um cluster do Bigtable.
bigtable.clusters.list Liste os clusters do Bigtable de uma instância.
bigtable.clusters.update Atualize as definições de um cluster do Bigtable.
Nome da autorização de tablets quentes Descrição
bigtable.hotTablets.list Liste os tablets populares para um cluster.
Nome da autorização da instância Descrição
bigtable.instances.create Crie uma instância do Bigtable.
bigtable.instances.createTagBinding Crie uma etiqueta.
bigtable.instances.delete Elimine uma instância do Bigtable.
bigtable.instances.deleteTagBinding Elimine uma etiqueta.
bigtable.instances.get Receber informações sobre uma instância do Bigtable.
bigtable.instances.getIamPolicy Ler listas de controlo de acesso (ACLs) de instâncias. Devolvidas como políticas IAM.
bigtable.instances.list Apresentar as instâncias do Bigtable de um projeto.
bigtable.instances.listEffectiveTagBindings Apresenta todas as etiquetas em vigor para uma instância.
bigtable.instances.listTagBindings Liste as etiquetas de uma instância.
bigtable.instances.ping Envie pedidos de preparação de canais.
bigtable.instances.executeQuery Envie pedidos ExecuteQuery e PrepareQuery para uma instância.
bigtable.instances.setIamPolicy Atualizar LCAs.
bigtable.instances.update Atualize as definições de uma instância do Bigtable.
Nome da autorização do Key Visualizer Descrição
bigtable.keyvisualizer.get Obtenha informações do Key Visualizer sobre uma tabela, incluindo metadados sobre padrões de acesso e distribuições de chaves de linhas.
bigtable.keyvisualizer.list Apresenta informações do visualizador de chaves disponíveis para uma tabela.
Nome da autorização de acesso à localização Descrição
bigtable.locations.list Liste as localizações do Bigtable.
Nome da autorização da tabela Descrição
bigtable.tables.checkConsistency Verifique se uma tabela replicada está atualizada.
bigtable.tables.create Crie uma tabela.
bigtable.tables.delete Elimine uma tabela.
bigtable.tables.generateConsistencyToken Gere um token para verificar se uma tabela replicada está atualizada.
bigtable.tables.get Receber informações sobre uma tabela, incluindo famílias de colunas e as respetivas definições individuais.
bigtable.tables.getIamPolicy Ler ACLs de tabelas. Devolvidas como políticas IAM.
bigtable.tables.list Listar tabelas numa instância.
bigtable.tables.mutateRows Modificar linhas numa tabela ou truncar a tabela.
bigtable.tables.readRows Ler linhas de uma tabela. Isto inclui informações sobre a tabela, como as famílias de colunas e as respetivas definições individuais.
bigtable.tables.sampleRowKeys Obtenha um exemplo das teclas de linhas usadas numa tabela.
bigtable.tables.setIamPolicy Atualize as LCAs da tabela.
bigtable.tables.undelete Recuperar uma tabela eliminada.
bigtable.tables.update Atualize as definições de uma tabela, incluindo as famílias de colunas e as respetivas definições individuais.
Nome da autorização de acesso à localização Descrição
bigtable.locations.list Liste as localizações do Bigtable.
Nome da autorização para ver autorizada Descrição
bigtable.authorizedViews.create Crie uma vista autorizada.
bigtable.authorizedViews.delete Elimine uma vista autorizada.
bigtable.authorizedViews.get Receba informações sobre uma vista autorizada.
bigtable.authorizedViews.getIamPolicy Ver o controlo de acesso para uma vista autorizada. Devolvidas como políticas IAM.
bigtable.authorizedViews.list Indicar as vistas autorizadas numa tabela.
bigtable.authorizedViews.mutateRows Modifique linhas numa vista autorizada.
bigtable.authorizedViews.readRows Ler linhas de uma vista autorizada.
bigtable.authorizedViews.sampleRowKeys Obtenha uma amostra das chaves de linhas usadas numa visualização autorizada.
bigtable.authorizedViews.setIamPolicy Atualize as políticas de controlo de acesso para uma vista autorizada.
bigtable.authorizedViews.update Atualize as definições de uma vista autorizada.
Nome da autorização da vista materializada contínua Descrição
bigtable.materializedViews.create Crie uma vista materializada contínua.
bigtable.materializedViews.delete Elimine uma vista materializada contínua.
bigtable.materializedViews.get Obtenha informações sobre uma vista materializada contínua.
bigtable.materializedViews.getIamPolicy Veja o controlo de acesso para uma vista materializada contínua. Devolvidas como políticas IAM.
bigtable.materializedViews.list Liste as vistas materializadas contínuas numa instância.
bigtable.materializedViews.readRows Ler linhas de uma vista materializada contínua.
bigtable.materializedViews.sampleRowKeys Obtenha um exemplo das chaves de linhas usadas numa vista materializada contínua.
bigtable.materializedViews.setIamPolicy Atualize as políticas de controlo de acesso para uma vista materializada contínua.
bigtable.materializedViews.update Atualize as definições de uma vista materializada contínua.

Funções predefinidas

Cada função predefinida é um conjunto de uma ou mais autorizações. Por exemplo, roles/bigtable.reader fornece acesso só de leitura a informações sobre instâncias, clusters, tabelas e famílias de colunas do Bigtable, bem como aos dados contidos nas suas tabelas. Atribui funções a utilizadores ou grupos, o que lhes permite realizar ações nos recursos do seu projeto.

A tabela seguinte apresenta as funções predefinidas para o Bigtable, incluindo uma lista das autorizações associadas a cada função:

Role Permissions

(roles/bigtable.admin)

Administers all Bigtable instances within a project, including the data stored within tables. Can create new instances. Intended for project administrators.

Lowest-level resources where you can grant this role:

  • Table

bigtable.*

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.appProfiles.update
  • bigtable.authorizedViews.create
  • bigtable.authorizedViews.createTagBinding
  • bigtable.authorizedViews.delete
  • bigtable.authorizedViews.deleteTagBinding
  • bigtable.authorizedViews.get
  • bigtable.authorizedViews.getIamPolicy
  • bigtable.authorizedViews.list
  • bigtable.authorizedViews.listEffectiveTags
  • bigtable.authorizedViews.listTagBindings
  • bigtable.authorizedViews.mutateRows
  • bigtable.authorizedViews.readRows
  • bigtable.authorizedViews.sampleRowKeys
  • bigtable.authorizedViews.setIamPolicy
  • bigtable.authorizedViews.update
  • bigtable.backups.create
  • bigtable.backups.delete
  • bigtable.backups.get
  • bigtable.backups.getIamPolicy
  • bigtable.backups.list
  • bigtable.backups.read
  • bigtable.backups.restore
  • bigtable.backups.setIamPolicy
  • bigtable.backups.update
  • bigtable.clusters.create
  • bigtable.clusters.delete
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.clusters.update
  • bigtable.hotTablets.list
  • bigtable.instances.create
  • bigtable.instances.createTagBinding
  • bigtable.instances.delete
  • bigtable.instances.deleteTagBinding
  • bigtable.instances.executeQuery
  • bigtable.instances.get
  • bigtable.instances.getIamPolicy
  • bigtable.instances.list
  • bigtable.instances.listEffectiveTags
  • bigtable.instances.listTagBindings
  • bigtable.instances.ping
  • bigtable.instances.setIamPolicy
  • bigtable.instances.update
  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list
  • bigtable.locations.list
  • bigtable.logicalViews.create
  • bigtable.logicalViews.delete
  • bigtable.logicalViews.get
  • bigtable.logicalViews.getIamPolicy
  • bigtable.logicalViews.list
  • bigtable.logicalViews.readRows
  • bigtable.logicalViews.setIamPolicy
  • bigtable.logicalViews.update
  • bigtable.materializedViews.create
  • bigtable.materializedViews.delete
  • bigtable.materializedViews.get
  • bigtable.materializedViews.getIamPolicy
  • bigtable.materializedViews.list
  • bigtable.materializedViews.readRows
  • bigtable.materializedViews.sampleRowKeys
  • bigtable.materializedViews.setIamPolicy
  • bigtable.materializedViews.update
  • bigtable.schemaBundles.create
  • bigtable.schemaBundles.delete
  • bigtable.schemaBundles.get
  • bigtable.schemaBundles.getIamPolicy
  • bigtable.schemaBundles.list
  • bigtable.schemaBundles.setIamPolicy
  • bigtable.schemaBundles.update
  • bigtable.tables.checkConsistency
  • bigtable.tables.create
  • bigtable.tables.delete
  • bigtable.tables.generateConsistencyToken
  • bigtable.tables.get
  • bigtable.tables.getIamPolicy
  • bigtable.tables.list
  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys
  • bigtable.tables.setIamPolicy
  • bigtable.tables.undelete
  • bigtable.tables.update

cloudkms.keyHandles.*

  • cloudkms.keyHandles.create
  • cloudkms.keyHandles.get
  • cloudkms.keyHandles.list

cloudkms.operations.get

cloudkms.projects.showEffectiveAutokeyConfig

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.reader)

Provides read-only access to the data stored within Bigtable tables. Intended for data scientists, dashboard generators, and other data-analysis scenarios.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.logicalViews.readRows

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.materializedViews.readRows

bigtable.materializedViews.sampleRowKeys

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.user)

Provides read-write access to the data stored within Bigtable tables. Intended for application developers or service accounts.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.mutateRows

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.executeQuery

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.logicalViews.readRows

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.materializedViews.readRows

bigtable.materializedViews.sampleRowKeys

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.mutateRows

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.viewer)

Provides no data access. Intended as a minimal set of permissions to access the Google Cloud console for Bigtable.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.locations.list

bigtable.logicalViews.get

bigtable.logicalViews.list

bigtable.materializedViews.get

bigtable.materializedViews.list

bigtable.schemaBundles.get

bigtable.schemaBundles.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

Funções personalizadas

Se as funções predefinidas para o Bigtable não satisfizerem os seus requisitos empresariais, pode definir as suas próprias funções personalizadas com as autorizações que especificar.

Se a sua função personalizada precisar de suportar o acesso à Google Cloud consola, tem de identificar as tarefas que os utilizadores vão realizar e, em seguida, garantir que a função personalizada tem as autorizações necessárias para cada tarefa, conforme mostrado na tabela seguinte. Se uma função personalizada não tiver todas as autorizações necessárias para uma tarefa e um utilizador tentar realizar essa tarefa, a consola não funciona corretamente. Google Cloud

Google Cloud tarefa da consola Autorizações necessárias
Acesso básico à Google Cloud consola
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • bigtable.tables.get
  • bigtable.tables.list
  • resourcemanager.projects.get
Crie uma instância ou um cluster

Autorizações de acesso básicas, mais:

  • bigtable.clusters.create
  • bigtable.instances.create
Modifique uma instância ou um cluster

Autorizações de acesso básicas, mais:

  • bigtable.clusters.update
  • bigtable.instances.update
Faça a gestão da configuração da replicação

Autorizações de acesso básicas, mais:

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
Elimine uma instância ou um cluster

Autorizações de acesso básicas, mais:

  • bigtable.clusters.delete
  • bigtable.instances.delete
Monitorize uma instância através da visualização de gráficos

Autorizações de acesso básicas, mais:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list
Crie e atualize uma tabela

Autorizações de acesso básicas, mais:

  • bigtable.tables.create
  • bigtable.tables.update
Restaure uma cópia de segurança

Autorizações de acesso básicas, mais:

  • bigtable.backups.list
  • bigtable.tables.create
  • bigtable.backups.restore

Gestão de IAM

Esta secção explica como gerir funções de IAM e autorizações relacionadas ao nível do projeto, da instância, da tabela e da cópia de segurança.

Gestão de IAM ao nível do projeto

Ao nível do projeto, pode conceder, alterar e revogar funções do IAM através da Google Cloud consola, da API IAM ou da CLI Google Cloud. Consulte o artigo Conceder, alterar e revogar acesso para ver instruções detalhadas.

Depois de criar um projeto, pode conceder as funções do IAM ao nível do projeto aos utilizadores com base nos níveis de acesso específicos.

Funções necessárias

Antes de definir funções de IAM ao nível da instância, ao nível da tabela, ao nível da cópia de segurança, ao nível da visualização autorizada ou ao nível da visualização materializada contínua para um utilizador, certifique-se de que o utilizador tem, pelo menos, uma das seguintes funções de IAM ao nível do projeto:

  • Visualizador do Bigtable (recomendado)
  • Leitor do Bigtable
  • Utilizador do Bigtable
  • Administrador do Bigtable

Escolha uma função ao nível do projeto que não tenha mais autorizações do que o utilizador realmente precisa em todas as instâncias, tabelas, cópias de segurança, visualizações autorizadas ou visualizações materializadas contínuas no projeto. Por este motivo, deve conceder a função de leitor do Bigtable em quase todos os casos.

Se o utilizador não tiver, pelo menos, uma destas funções ao nível do projeto, não tem acesso ao Bigtable através da Google Cloud consola. A Google Cloud consola requer uma destas funções ao nível do projeto para poder obter informações sobre instâncias, clusters, tabelas ou cópias de segurança em nome do utilizador.

Conceder funções de IAM ao nível da instância

Ao nível da instância, pode conceder qualquer uma das funções predefinidas do Bigtable a um utilizador ou a uma conta de serviço. Também pode conceder quaisquer funções personalizadas que tenha definido.

Para conceder uma função predefinida ou personalizada a um utilizador ou a uma conta de serviço ao nível da instância:

Consola

  1. Aceda à página de instâncias do Bigtable na Google Cloud consola.

Aceda à página de instâncias

  1. Selecione as caixas junto às instâncias cujas funções quer gerir. É apresentado um painel de informações.
  2. No painel de informações, clique em Autorizações.
  3. Em Adicionar membros, comece a escrever o endereço de email do utilizador ou da conta de serviço que quer adicionar e, de seguida, clique no endereço de email do utilizador ou da conta de serviço.
  4. Clique na lista pendente Selecionar uma função e, de seguida, clique em Bigtable para selecionar uma função predefinida ou em Personalizado para selecionar uma função personalizada.
  5. Clique no nome de cada função que quer atribuir.
  6. Clique em Adicionar. São concedidas à conta de utilizador ou de serviço as funções que especificou ao nível da instância.

gcloud

  1. Se não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do seu projeto:

gcloud bigtable instances list

  1. Use o comando bigtable instances set-iam-policy:

gcloud bigtable instances set-iam-policy
INSTANCE_ID
POLICY_FILE

Forneça os seguintes dados:

+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

+   <var>POLICY_FILE</var>: Path to a local JSON or YAML file containing
    a [valid IAM policy][iam-policy].

Conceder funções de IAM ao nível da tabela

Ao nível da tabela, pode conceder qualquer uma das funções predefinidas do Bigtable a um utilizador ou a uma conta de serviço. Também pode conceder quaisquer funções personalizadas que tenha definido.

Para conceder uma função predefinida ou personalizada a um utilizador ou a uma conta de serviço ao nível da tabela:

Consola

  1. Aceda à página de instâncias do Bigtable na Google Cloud consola.

Aceda à página de instâncias

  1. Clique no nome da instância que contém a tabela cuja IAM está a definir.

  2. Selecione Tabelas no painel de navegação do lado esquerdo.

  3. Selecione as caixas junto às tabelas cujas funções quer gerir. É apresentado um painel de informações.

  4. No painel de informações, clique em Autorizações.

  5. Em Adicionar membros, comece a escrever o endereço de email do utilizador ou da conta de serviço que quer adicionar e, de seguida, clique no endereço de email do utilizador ou da conta de serviço.

  6. Clique na lista pendente Selecionar uma função e, de seguida, clique em Bigtable para selecionar uma função predefinida ou em Personalizado para selecionar uma função personalizada.

  7. Clique no nome de cada função que quer atribuir.

  8. Clique em Adicionar. A conta de utilizador ou de serviço recebe as funções que especificou ao nível da tabela.

gcloud

  1. Se não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do seu projeto:

gcloud bigtable instances list

  1. Se não souber os IDs das tabelas da instância, use o comando bigtable instances tables list para ver uma lista de tabelas na instância.

gcloud bigtable instances tables list --instances=INSTANCE_ID

Forneça os seguintes dados:

+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

  1. Use o comando bigtable instances tables set-iam-policy:

gcloud bigtable instances tables set-iam-policy \TABLE_ID
--instance=INSTANCE_ID
POLICY_FILE

Forneça os seguintes dados:

+   <var>TABLE_ID</var>: The permanent identifier for the table.
+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

+   <var>POLICY_FILE</var>: Path to a local JSON or YAML file containing
    a [valid IAM policy][iam-policy].

Conceder funções de IAM ao nível da cópia de segurança

Ao nível da cópia de segurança, pode conceder qualquer uma das funções predefinidas do Bigtable a um utilizador ou a uma conta de serviço. Também pode conceder quaisquer funções personalizadas que tenha definido.

Para conceder uma função predefinida ou personalizada a um utilizador ou a uma conta de serviço ao nível da cópia de segurança:

gcloud

  1. Se não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do seu projeto:

gcloud bigtable instances list

  1. Se não souber os IDs de cópias de segurança numa instância, use o comando bigtable instances backups list para ver uma lista de cópias de segurança na instância.

gcloud bigtable backups list --instances=INSTANCE_ID

Forneça os seguintes dados:

+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

  1. Use o comando gcloud bigtable backups set-iam-policy:

gcloud bigtable backups set-iam-policy BACKUP_ID
--instance=INSTANCE_ID
--cluster=CLUSTER_ID
POLICY_FILE

Forneça os seguintes dados:

+   <var>BACKUP_ID</var>: The permanent identifier for the backup.
+   <var>INSTANCE_ID</var>: 
The permanent identifier for the instance.

+   `TABLE_ID`: The permanent identifier for the table
+   `POLICY_FILE`: Path to a local JSON or YAML file containing a [valid
    IAM policy][iam-policy].

Conceder funções IAM autorizadas ao nível da visualização

Ao nível da visualização autorizada, pode conceder qualquer uma das funções predefinidas do Bigtable a um utilizador ou a uma conta de serviço. Também pode conceder quaisquer funções personalizadas que tenha definido.

Para conceder uma função predefinida ou personalizada a um utilizador ou a uma conta de serviço ao nível da visualização autorizada, faça o seguinte:

Consola

  1. Abra a lista de instâncias do Bigtable na Google Cloud consola.

Abra a lista de instâncias

  1. Clique na instância que contém a visualização autorizada.
  2. No painel de navegação, clique em Bigtable Studio.
  3. No explorador, expanda a tabela e Visualizações autorizadas.
  4. Junto à vista autorizada que quer modificar, clique no menu de ações more_vert e, de seguida, clique em Conceder acesso.
  5. Adicione, pelo menos, um principal e selecione a função à qual esse principal ou grupo de principais deve ser atribuído.
  6. Opcional: para conceder acesso a funções adicionais, clique em Adicionar outra função e, de seguida, introduza o principal e a função para cada função adicional.
  7. Clique em Guardar.

gcloud

  1. Se não souber o ID da instância, use o comando bigtable instances list para ver uma lista das instâncias do seu projeto:

gcloud bigtable instances list

  1. Se não souber os IDs das tabelas da instância, use o comando bigtable instances tables list para ver uma lista de tabelas na instância.

gcloud bigtable instances tables list --instances=INSTANCE_ID

  1. Se não souber o ID da vista, use o comando bigtable authorized-views list para ver uma lista de todas as vistas autorizadas da tabela.

gcloud bigtable instances tables authorized-views list
--instance=INSTANCE_ID
--table=TABLE_ID

  1. Use o comando bigtable authorized-views set-iam-policy:

gcloud bigtable authorized-views set-iam-policy TABLE_ID
AUTHORIZED_VIEW_ID --instance=INSTANCE_ID POLICY_FILE

Forneça os seguintes dados:

+   `INSTANCE_ID`: 
The permanent identifier for the instance.

+   `TABLE_ID`: The permanent identifier for the table
+   `AUTHORIZED_VIEW_ID`: The permanent identifier for the view
+   `POLICY_FILE`: Path to a local JSON or YAML file containing a [valid
    IAM policy][iam-policy].

Condições do IAM

As condições da IAM permitem-lhe definir e aplicar o controlo de acesso condicional baseado em atributos para alguns Google Cloud recursos, incluindo recursos do Bigtable.

No Bigtable, pode aplicar o acesso condicional com base nos seguintes atributos:

  • Atributos de data/hora: use para definir o acesso temporário (com data de validade), agendado ou de duração limitada aos recursos do Bigtable. Por exemplo, pode permitir que um utilizador aceda a uma tabela até uma data especificada.
  • Atributos de recursos: use para configurar o acesso condicional com base num nome de recurso, num tipo de recurso ou em atributos de serviço de recursos. No Bigtable, pode usar atributos de instâncias, clusters, tabelas, cópias de segurança e vistas autorizadas para configurar o acesso condicional. Por exemplo, pode permitir que um utilizador apenas faça a gestão de tabelas que comecem por um prefixo específico ou permitir que um utilizador aceda apenas a uma tabela específica.

Para mais informações sobre as condições do IAM, consulte a vista geral das condições.

O que se segue?

Saiba mais sobre a IAM.