Esta página descreve como proteger bancos de dados do Spanner contra exclusão acidental.
A proteção contra exclusão de bancos de dados do Spanner impede a exclusão acidental de bancos de dados por usuários ou contas de serviço que têm as permissões do IAM necessárias para excluir o banco de dados. Ao ativar a proteção contra exclusão de bancos de dados, você pode proteger bancos de dados importantes para seu aplicativo e serviços. Use a proteção contra exclusão de bancos de dados com os recursos de recuperação pontual e backup para fornecer um conjunto abrangente de recursos de proteção de dados para seus bancos de dados do Spanner.
Por padrão, a configuração de proteção contra exclusão é desativada quando você cria um novo banco de dados. É possível ativar a configuração de proteção contra exclusão após a criação do banco de dados. Além disso, é possível ativar essa configuração em um banco de dados atual. Se você quiser proteger vários bancos de dados, ative a configuração em cada banco de dados individualmente. Ativar ou desativar a proteção contra exclusão não tem impacto no desempenho do banco de dados. Se você precisar excluir um banco de dados que tenha a proteção ativada, desative a proteção antes de excluir o banco de dados.
Limitações
Não é possível ativar a proteção contra exclusão de bancos de dados nestes casos:
- Se o banco de dados estiver sendo excluído.
- Se o banco de dados estiver sendo restaurado de um backup. Depois que a operação de restauração for concluída, você poderá ativar a proteção do banco de dados.
Além disso, os backups de um banco de dados e os bancos de dados restaurados de um backup não herdam a configuração de proteção contra exclusão do banco de dados de origem. Depois de restaurar um banco de dados de um backup, é necessário ativar a proteção contra exclusão do banco de dados separadamente.
Se você excluir seu projeto, a proteção contra exclusão de bancos de dados do Spanner não impedirá a exclusão do banco de dados ou da instância. Para mais informações sobre o que acontece quando você exclui seu projeto, consulte Como encerrar (excluir) projetos.
Controle de acesso com o IAM
Para ativar a configuração de proteção contra exclusão do banco de dados, você precisa ter determinadas permissões do IAM.
Você precisa ter a permissão spanner.databases.update para ativar ou desativar a proteção contra exclusão de bancos de dados. Se você só precisar conferir o status da configuração do banco de dados, será necessário ter a permissão spanner.databases.list ou spanner.databases.get. Para informações sobre como conceder
permissões do IAM do Spanner, consulte
Aplicar permissões do IAM.
Se você tiver o papel predefinido de administrador de banco de dados do Spanner
roles/spanner.databaseAdmin para
seu banco de dados, poderá atualizar e ativar a proteção contra exclusão de bancos de dados.
É possível ativar a configuração de proteção contra exclusão de bancos de dados em um banco de dados atual para evitar a exclusão acidental do banco de dados.
Ativar a proteção contra exclusão do banco de dados
É possível ativar a proteção contra exclusão de bancos de dados usando a CLI gcloud, as bibliotecas de cliente e as APIs REST ou RPC. Não é possível ativar a proteção contra exclusão de bancos de dados usando o Google Cloud console.
gcloud
Para ativar a configuração de proteção contra exclusão de um banco de dados, execute o seguinte comando:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--enable-drop-protection [--async]
As seguintes opções são obrigatórias:
DATABASE_ID- ID do banco de dados.
INSTANCE_ID- ID da instância do banco de dados.
As seguintes opções são opcionais:
--async- Retorna imediatamente, sem aguardar a conclusão da operação em andamento.
Bibliotecas de cliente
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Verificar se um banco de dados tem a proteção contra exclusão ativada
É possível determinar se o banco de dados tem a proteção contra exclusão ativada visualizando a configuração do banco de dados.
gcloud
Para verificar se um banco de dados tem a proteção contra exclusão ativada, execute o comando gcloud spanner databases describe para receber informações detalhadas sobre um banco de dados ou execute o comando gcloud spanner databases list para receber informações detalhadas sobre bancos de dados em uma instância.
gcloud spanner databases describe
projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID
As seguintes opções são obrigatórias:
PROJECT_ID- ID do projeto do banco de dados.
INSTANCE_ID- ID da instância do banco de dados.
DATABASE_ID- ID do banco de dados.
Se a proteção contra exclusão estiver ativada, você verá um parâmetro enableDropProtection: true na saída.
Desativar a proteção contra exclusão do banco de dados
É possível desativar a proteção contra exclusão de bancos de dados se um banco de dados não precisar mais dessa proteção ou se você precisar excluir um banco de dados que tenha essa configuração ativada.
Se você quiser excluir uma instância que tenha um ou mais bancos de dados com a proteção contra exclusão ativada, primeiro desative a proteção contra exclusão em todos os bancos de dados dessa instância antes de excluir a instância.
gcloud
Para desativar a configuração de proteção contra exclusão de um banco de dados, execute o seguinte comando:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--no-enable-drop-protection [--async]
As seguintes opções são obrigatórias:
DATABASE_ID- ID do banco de dados.
INSTANCE_ID- ID da instância do banco de dados.
As seguintes opções são opcionais:
--async- Retorna imediatamente, sem aguardar a conclusão da operação em andamento.
A seguir
- Saiba como criar e gerenciar bancos de dados.
- Saiba mais sobre como fazer backup e restaurar um banco de dados.
- Saiba como fazer atualizações de esquema.