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
- Aprenda mais sobre o IAM.
- Saiba mais sobre autenticação e autorização no Spanner Omni.