Nesta página, descrevemos como proteger os bancos de dados do Spanner contra exclusão acidental.
A proteção contra exclusão de banco de dados do Spanner impede a exclusão acidental de bancos de dados atuais por usuários ou contas de serviço com as permissões de IAM necessárias para excluir o banco de dados. Ao ativar a proteção contra exclusão de banco de dados, você protege os bancos de dados importantes para seus aplicativos e serviços. Use a proteção contra exclusão de banco de dados com recuperação pontual e recursos de 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 o 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. Para 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 afeta o desempenho no banco de dados. Se você precisar excluir um banco de dados com a proteção ativada, será necessário desativar a proteção antes de excluí-lo.
Limitações
Não é possível ativar a proteção contra exclusão de bancos de dados nos seguintes cenários:
- Se o banco de dados está sendo excluído.
- Se o banco de dados está sendo restaurado a partir de um backup. Após a conclusão da operação de restauração, ative a proteção do banco de dados.
Além disso, os backups de um banco de dados e de 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 separadamente a proteção contra exclusão do banco de dados.
Se você excluir o projeto, a proteção contra exclusão do banco de dados do Spanner não impedirá a exclusão do banco de dados ou da instância. Para saber mais sobre o que acontece quando você exclui o projeto, consulte Como encerrar (excluir) projetos.
Controle de acesso com o IAM
Para ativar a configuração de proteção contra exclusão do seu banco de dados, é necessário 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 do banco de dados. Se você só precisa ver o status da
configuração do banco de dados, precisa ter a permissão spanner.databases.list
ou
spanner.databases.get
. Para mais informações sobre como conceder permissões do IAM do Spanner, consulte Aplicar permissões do IAM.
Se você tiver o papel predefinido Administrador do banco de dados do Spannerroles/spanner.databaseAdmin
no banco de dados, poderá atualizar e ativar a proteção contra exclusão dele.
É possível ativar a configuração de proteção contra exclusão de banco de dados em um banco de dados atual para evitar a exclusão acidental.
Ativar a proteção contra exclusão do banco de dados
É possível ativar a proteção contra exclusão do banco 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 console do Google Cloud.
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 para o 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 a proteção contra exclusão está ativada em um banco de dados
É possível determinar se a proteção contra exclusão do banco de dados está ativada visualizando a configuração dele.
gcloud
Para verificar se um banco de dados está com 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 gcloud spanner databases list
para
ver informações detalhadas sobre os 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 no banco de dados.
INSTANCE_ID
- ID da instância para o banco de dados.
DATABASE_ID
- ID do banco de dados.
Se a proteção contra exclusão estiver ativada, um
parâmetro enableDropProtection: true
vai aparecer 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 essa proteção em todos os bancos de dados dessa instância antes de excluí-la.
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 para o 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
- Aprenda a 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.