Questa pagina descrive come proteggere i database Spanner da incidenti l'eliminazione dei dati.
La protezione da eliminazione del database di Spanner impedisce l'eliminazione accidentale di database esistenti da utenti o account di servizio che hanno Autorizzazioni IAM per eliminare il database. Abilitando la protezione da eliminazione dei database, puoi salvaguardare i database importanti per la tua applicazione e i tuoi servizi. Utilizza la protezione da eliminazione del database insieme al recupero point-in-time e funzionalità di backup per offrire un insieme completo di protezione dei dati per i database Spanner.
Per impostazione predefinita, l'impostazione di protezione da eliminazione è disattivata quando crei il nuovo database. Puoi abilitare l'impostazione della protezione da eliminazione dopo il creazione del database riuscita. Inoltre, puoi attivare questa impostazione su una un database esistente. Se vuoi proteggere più database, abilita l'impostazione su ciascun database. L'attivazione o la disattivazione della protezione da eliminazione non non avranno un impatto sulle prestazioni del database. Se devi eliminare un database per il quale è abilitata la protezione, devi disattivare la protezione prima di poter eliminare il database.
Limitazioni
Non puoi abilitare la protezione da eliminazione dei database nei seguenti scenari:
- Se il database è in fase di eliminazione.
- Se il database è in fase di ripristino da un backup. Dopo l'operazione di ripristino, viene completata, puoi abilitare la protezione del database).
Inoltre, i backup di un database e dei database ripristinati da un backup non vengono ereditare l'impostazione di protezione da eliminazione del database del database di origine. Dopo il giorno se ripristini un database da un backup, devi abilitarne l'eliminazione la protezione separatamente.
Se elimini il progetto, la protezione da eliminazione del database Spanner non impedisce l'eliminazione del database o dell'istanza. Per saperne di più su cosa succede quando elimini un progetto, consulta l'articolo relativo all'arresto (eliminazione) dei progetti.
Controllo dell'accesso con IAM
Per abilitare l'impostazione di protezione dall'eliminazione del database, devi avere alcune autorizzazioni IAM.
Devi disporre dell'autorizzazione spanner.databases.update
per attivare o
Disabilita la protezione da eliminazione del database. Se devi solo visualizzare lo stato
della configurazione del database, devi disporre dell'elemento spanner.databases.list
Autorizzazione spanner.databases.get
. Per informazioni su come concedere
Autorizzazioni IAM di Spanner, consulta
Applica le autorizzazioni IAM.
Se hai il ruolo Amministratore database Spanner
Ruolo roles/spanner.databaseAdmin
per
del database, puoi aggiornare e abilitare la protezione da eliminazione del database.
Puoi attivare l'impostazione di protezione dall'eliminazione del database su un database esistente per impedirne l'eliminazione accidentale.
Abilita la protezione da eliminazione dei database
Puoi abilitare la protezione da eliminazione dei database utilizzando gcloud CLI, librerie client e il comando REST o RPC su quelle di livello inferiore. Non puoi attivare la protezione dall'eliminazione dei database utilizzando la console Google Cloud.
gcloud
Per abilitare l'impostazione di protezione dall'eliminazione di un database, esegui questo comando:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--enable-drop-protection [--async]
Sono necessarie le seguenti opzioni:
DATABASE_ID
- ID del database.
INSTANCE_ID
- ID dell'istanza per il database.
Le seguenti opzioni sono facoltative:
--async
- Restituisci subito, senza attendere l'operazione in corso per completare l'operazione.
Librerie client
C++
C#
Vai
Java
Node.js
PHP
Python
Ruby
Verificare se in un database è abilitata la protezione da eliminazione
Puoi determinare se la protezione da eliminazione è abilitata per il tuo database che visualizza la configurazione del database.
gcloud
Per verificare se in un database è abilitata la protezione da eliminazione, puoi eseguire il
Comando gcloud spanner databases describe
per ottenere informazioni dettagliate
informazioni su un database, oppure puoi eseguire gcloud spanner databases list
ottenere informazioni dettagliate sui database all'interno di un'istanza.
gcloud spanner databases describe
projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID
Sono necessarie le seguenti opzioni:
PROJECT_ID
- ID del progetto per il database.
INSTANCE_ID
- ID dell'istanza per il database.
DATABASE_ID
- ID del database.
Se la protezione dall'eliminazione è attiva, vedrai un
enableDropProtection: true
nell'output.
Disattivare la protezione dall'eliminazione del database
Puoi disabilitare la protezione dall'eliminazione dei database se non è più necessaria per un database o se devi eliminare un database in cui è abilitata questa impostazione.
Se vuoi eliminare un'istanza con uno o più database con la protezione dall'eliminazione abilitata, devi prima disattivare la protezione dall'eliminazione su tutti i database dell'istanza prima di poter eliminare l'istanza.
gcloud
Per disattivare l'impostazione di protezione dall'eliminazione di un database, esegui il seguente comando:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--no-enable-drop-protection [--async]
Sono necessarie le seguenti opzioni:
DATABASE_ID
- ID del database.
INSTANCE_ID
- ID dell'istanza per il database.
Le seguenti opzioni sono facoltative:
--async
- Restituisci subito, senza attendere l'operazione in corso per completare l'operazione.
Passaggi successivi
- Scopri come creare e gestire i database.
- Scopri di più su come eseguire il backup e il ripristino di un database.
- Scopri come eseguire aggiornamenti dello schema.