Esta página descreve como proteger as bases de dados do Spanner contra a eliminação acidental.
A proteção contra eliminação da base de dados do Spanner impede a eliminação acidental de bases de dados existentes por parte de utilizadores ou contas de serviço que tenham as autorizações do IAM necessárias para eliminar a base de dados. Ao ativar a proteção contra eliminação de bases de dados, pode proteger as bases de dados importantes para a sua aplicação e serviços. Use a proteção contra eliminação de bases de dados juntamente com a recuperação num determinado momento e as funcionalidades de cópia de segurança para oferecer um conjunto abrangente de capacidades de proteção de dados para as suas bases de dados do Spanner.
Por predefinição, a definição de proteção contra eliminação está desativada quando cria a nova base de dados. Pode ativar a definição de proteção contra eliminação depois de a criação da base de dados ser bem-sucedida. Além disso, pode ativar esta definição numa base de dados existente. Se quiser proteger várias bases de dados, ative a definição em cada base de dados individualmente. A ativação ou a desativação da proteção contra eliminação não tem qualquer impacto no desempenho da base de dados. Se precisar de eliminar uma base de dados com a proteção de base de dados ativada, tem de desativar a proteção antes de poder eliminar a base de dados.
Limitações
Não pode ativar a proteção contra eliminação de bases de dados nos seguintes cenários:
- Se a base de dados estiver a ser eliminada.
- Se a base de dados estiver a ser restaurada a partir de uma cópia de segurança. (Depois de a operação de restauro estar concluída, pode ativar a proteção da base de dados).
Além disso, as cópias de segurança de uma base de dados e as bases de dados restauradas a partir de uma cópia de segurança não herdam a definição de proteção contra eliminação de bases de dados da respetiva base de dados de origem. Depois de restaurar uma base de dados a partir de uma cópia de segurança, tem de ativar a respetiva proteção contra eliminação de bases de dados separadamente.
Se eliminar o seu projeto, a proteção contra eliminação da base de dados do Spanner não impede a eliminação da base de dados nem da instância. Para mais informações sobre o que acontece quando elimina o seu projeto, consulte o artigo Encerrar (eliminar) projetos.
Controlo de acesso com a IAM
Para ativar a definição de proteção contra eliminação da sua base de dados, tem de ter determinadas autorizações de IAM.
Tem de ter a autorização spanner.databases.update
para ativar ou desativar a proteção contra eliminação da base de dados. Se só precisar de ver o estado da configuração da base de dados, tem de ter a autorização spanner.databases.list
ou spanner.databases.get
. Para obter informações sobre como conceder autorizações de IAM do Spanner, consulte o artigo Aplique autorizações de IAM.
Se tiver a função predefinida Spanner Database Admin
roles/spanner.databaseAdmin
para a sua base de dados, pode atualizar e ativar a proteção contra eliminação de bases de dados.
Pode ativar a definição de proteção contra a eliminação da base de dados numa base de dados existente para evitar a eliminação acidental da base de dados.
Ative a proteção de eliminação da base de dados
Pode ativar a proteção contra eliminação de bases de dados através da CLI gcloud, das bibliotecas cliente e das APIs REST ou RPC. Não pode ativar a proteção contra eliminação da base de dados através da Google Cloud consola.
gcloud
Para ativar a definição de proteção contra eliminação de uma base 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 da base de dados.
INSTANCE_ID
- ID da instância da base de dados.
As seguintes opções são opcionais:
--async
- Retorne imediatamente, sem aguardar a conclusão da operação em curso.
Bibliotecas cliente
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Verifique se uma base de dados tem a proteção contra eliminação ativada
Pode determinar se a sua base de dados tem a proteção contra eliminação ativada consultando a configuração da base de dados.
gcloud
Para verificar se uma base de dados tem a proteção contra eliminação ativada, pode executar o comando gcloud spanner databases describe
para obter informações detalhadas sobre uma base de dados ou pode executar o comando gcloud spanner databases list
para obter informações detalhadas sobre bases de dados numa 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 da base de dados.
INSTANCE_ID
- ID da instância da base de dados.
DATABASE_ID
- ID da base de dados.
Se a proteção contra eliminação estiver ativada, é apresentado um parâmetro enableDropProtection: true
no resultado.
Desative a proteção de eliminação da base de dados
Pode desativar a proteção contra eliminação de bases de dados se uma base de dados já não precisar desta proteção ou se precisar de eliminar uma base de dados que tenha esta definição ativada.
Se quiser eliminar uma instância que tenha uma ou mais bases de dados com a proteção contra eliminação ativada, primeiro tem de desativar a proteção contra eliminação em todas as bases de dados nessa instância antes de poder eliminar a instância.
gcloud
Para desativar a definição de proteção contra eliminação de uma base 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 da base de dados.
INSTANCE_ID
- ID da instância da base de dados.
As seguintes opções são opcionais:
--async
- Retorne imediatamente, sem aguardar a conclusão da operação em curso.
O que se segue?
- Saiba como criar e gerir bases de dados.
- Saiba como fazer uma cópia de segurança e restaurar uma base de dados.
- Saiba como fazer atualizações de esquemas.