Visão geral do IAM

O Identity and Access Management (IAM) permite controlar o acesso dos usuários aos recursos do Spanner Omni. Por exemplo, um usuário pode ter controle total de um banco de dados específico, mas não pode criar ou modificar outros bancos de dados na sua implantação. Com o IAM, é possível conceder uma permissão a um usuário sem precisar modificar cada permissão de banco de dados do Spanner Omni individualmente.

Este documento se concentra nas permissões do IAM relevantes ao Spanner Omni e nos papéis do IAM que concedem essas permissões. Para uma descrição detalhada do IAM e dos recursos dele, consulte o guia do desenvolvedor do Identity and Access Management.

Permissões

Com as permissões, os usuários podem realizar ações específicas nos recursos do Spanner Omni. Por exemplo, com a permissão spanner.databases.read, um usuário pode ler um banco de dados usando a API de leitura do Spanner Omni. Já spanner.databases.export permite que um usuário exporte um banco de dados do Spanner Omni. Você não concede permissões diretamente aos usuários. Em vez disso, você atribui a eles papéis predefinidos, que têm uma ou mais permissões agrupadas.

As tabelas a seguir listam as permissões do IAM associadas ao Spanner Omni. Algumas permissões são compartilhadas com o Spanner, e outras são usadas apenas pelo Spanner Omni.

Bancos de dados

As permissões a seguir se aplicam aos bancos de dados do Spanner Omni.

Nome da permissão do banco de dados Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.databases.create Cria um banco de dados
spanner.databases.createBackup Cria um backup a partir do banco de dados. Também requer spanner.backups.create para criar o recurso de backup.
spanner.databases.get Recebe os metadados de um banco de dados.
spanner.databases.getIamPolicy Recebe a política do IAM de um banco de dados.
spanner.databases.list Lista bancos de dados
spanner.databases.read Lê de um banco de dados usando a API de leitura.
spanner.databases.setIamPolicy Defina a política do IAM de um banco de dados.
spanner.databases.update Atualiza os metadados de um banco de dados.
spanner.databases.updateDdl Atualiza o esquema de um banco de dados.
spanner.databases.write Grava em um banco de dados.
spanner.databases.compact Compacta tabelas em um banco de dados.
spanner.databases.export Exporta um banco de dados do Spanner Omni.
spanner.databases.import Importa um banco de dados do Spanner Omni.
spanner.databases.addSplitPoints Adiciona pontos de divisão a um banco de dados.

Operações de banco de dados

As permissões a seguir se aplicam às operações do banco de dados do Spanner Omni.

Nome da permissão de operação do banco de dados Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.databaseOperations.cancel Cancela uma operação do banco de dados.
spanner.databaseOperations.delete Exclui uma operação do banco de dados.
spanner.databaseOperations.get Recebe uma operação de banco de dados específica.
spanner.databaseOperations.list Lista banco de dados e restaura operações de banco de dados.

Backups

As seguintes permissões se aplicam aos backups do Spanner Omni.

Nome da permissão de backup Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.backups.copy Copiar um backup.
spanner.backups.create Criar um backup. Também requer spanner.databases.createBackup no banco de dados de origem.
spanner.backups.createDatabaseFromBackup Crie um banco de dados com base em um backup.
spanner.backups.delete Exclui um backup
spanner.backups.get Recebe um backup.
spanner.backups.getIamPolicy Recebe a política do IAM de backup.
spanner.backups.list Lista backups
spanner.backups.restoreDatabase Restaura um banco de dados a partir de um backup. Também requer spanner.databases.create para criar o banco de dados restaurado.
spanner.backups.setIamPolicy Define a política do IAM de backup.
spanner.backups.update Atualiza um backup.
spanner.backups.import Importa um backup do armazenamento externo.

Operações de backup

As seguintes permissões se aplicam às operações de backup do Spanner Omni.

Nome da permissão da operação de backup Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.backupOperations.cancel Cancela uma operação de backup.
spanner.backupOperations.get Recebe uma operação de backup específica.
spanner.backupOperations.list Lista operações de backup.

Programações de backup

As seguintes permissões se aplicam às programações de backup do Spanner Omni.

Nome da permissão da programação de backup Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.backupSchedules.create Criar uma programação de backup. Também requer spanner.databases.createBackup no banco de dados de origem.
spanner.backupSchedules.delete Excluir uma programação de backup.
spanner.backupSchedules.get Recebe uma programação de backup.
spanner.backupSchedules.list Listar programações de backup.
spanner.backupSchedules.update Atualizar uma programação de backup.
spanner.backupSchedules.getIamPolicy Recebe a política do IAM de uma programação de backup.
spanner.backupSchedules.setIamPolicy Define a política do IAM de uma programação de backup.

Descritores de backup

As seguintes permissões se aplicam aos descritores de backup do Spanner Omni.

Nome da permissão do descritor de backup Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.backupDescriptors.import Importa um backup de um descritor de backup.
spanner.backupDescriptors.list Listar descritores de backup.

Sessões

As seguintes permissões se aplicam às sessões do Spanner Omni.

Nome da permissão da sessão Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.sessions.create Criar uma sessão.
spanner.sessions.delete Exclui uma sessão.
spanner.sessions.get Recebe uma sessão.
spanner.sessions.list Lista sessões.

Local e zonas

As permissões a seguir se aplicam a locais e zonas do Spanner Omni.

Nome da permissão Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.locations.create Criar um local do Spanner Omni
spanner.locations.delete Excluir um local do Spanner Omni
spanner.locations.get Acessar um local do Spanner Omni
spanner.locations.list Listar locais do Spanner Omni
spanner.locationDistances.create Criar uma distância de local do Spanner Omni
spanner.locationDistances.delete Excluir uma distância de local do Spanner Omni
spanner.locationDistances.get Receber uma distância de local do Spanner Omni
spanner.locationDistances.list Listar distâncias de locais do Spanner Omni
spanner.locationDistances.update Atualizar a distância de um local do Spanner Omni
spanner.zones.create Criar uma zona do Spanner Omni
spanner.zones.delete Excluir uma zona do Spanner Omni
spanner.zones.get Acessar uma zona do Spanner Omni
spanner.zones.list Listar zonas do Spanner Omni

Servidores

As permissões a seguir se aplicam aos servidores do Spanner Omni.

Nome da permissão do servidor Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.servers.create Cria um servidor do Spanner Omni.
spanner.servers.delete Exclui um servidor do Spanner Omni.
spanner.servers.get Recebe um servidor do Spanner Omni.
spanner.servers.list Lista servidores do Spanner Omni.

Usuários e funções

As permissões a seguir se aplicam a usuários e papéis do Spanner Omni.

Nome da permissão Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.users.create Cria um usuário do Spanner Omni.
spanner.users.delete Exclui um usuário do Spanner Omni.
spanner.users.get Recebe um usuário do Spanner Omni
spanner.users.list Lista os usuários do Spanner Omni.
spanner.users.update Atualiza um usuário do Spanner Omni.
spanner.roles.get Recebe uma função do Spanner Omni
spanner.roles.list Lista as funções do Spanner Omni.

Armazenamento externo

As seguintes permissões se aplicam ao armazenamento externo do Spanner Omni.

Nome da permissão de armazenamento externo Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.externalStorages.create Cria armazenamento externo.
spanner.externalStorages.delete Exclui um armazenamento externo.
spanner.externalStorages.get Recebe o armazenamento externo
spanner.externalStorages.getIamPolicy Recebe a política do IAM de um armazenamento externo.
spanner.externalStorages.list Lista os armazenamentos externos.
spanner.externalStorages.setIamPolicy Define a política do IAM de um armazenamento externo.

Sistema de arquivos e descritores

As seguintes permissões se aplicam ao sistema de arquivos do Spanner Omni.

Nome da permissão Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.filesystem.cat Imprime arquivos no sistema de arquivos do Spanner Omni.
spanner.filesystem.ls Lista arquivos no sistema de arquivos do Spanner Omni.
spanner.descriptors.print Imprime descritores no sistema de arquivos do Spanner Omni.

Outras permissões de administrador

As seguintes permissões se aplicam a outras tarefas de administrador do Spanner Omni.

Nome da permissão Descrição Spanner e Spanner Omni Somente Spanner Omni
spanner.chubby.list Lista células gordinhas
spanner.chubby.print Imprime o conteúdo da célula do Chubby.
spanner.deployment.get Receber implantação do Spanner Omni
spanner.diagnostics.create Coleta artefatos de servidores do Spanner Omni para depuração.
spanner.internal-tables.sql Executa consultas SQL em tabelas internas.
spanner.logs.copy Copia registros de um servidor do Spanner Omni.
spanner.tablet.move Move um tablet de um servidor do Spanner Omni para outro.
spanner.workflows.delete Exclui um fluxo de trabalho em um banco de dados.
spanner.groups.compact Compacta tablets em um grupo
spanner.directories.compact Compacta tablets em um diretório

Papéis predefinidos

Papel predefinido é um pacote de uma ou mais permissões. O Spanner Omni é compatível com as seguintes funções predefinidas:

Papel Descrição
roles/spanner.admin Tem acesso completo a todos os recursos do Spanner Omni. Inclui todas as permissões.
roles/spanner.backupAdmin Tem acesso completo a backups e operações de backup do Spanner Omni.
roles/spanner.backupWriter Pode criar backups, mas não pode atualizá-los ou excluí-los.
roles/spanner.databaseAdmin Tem acesso completo a todos os bancos de dados do Spanner Omni em um projeto.
roles/spanner.databaseReader Pode ler do banco de dados do Spanner Omni e visualizar o esquema.
roles/spanner.databaseUser Pode ler e gravar no banco de dados do Spanner Omni.
roles/spanner.editor Papel de editor para o Spanner Omni.
roles/spanner.restoreAdmin Pode restaurar um banco de dados de um backup.
roles/spanner.viewer Pode ver todos os recursos do Spanner Omni, mas não pode modificá-los. Inclui permissões somente leitura.

O Spanner Omni tem algumas outras limitações importantes:

  • Não há papéis personalizados.
  • Não há controle de acesso refinado.
  • Sem condições do IAM.

A seguir