Cette page explique comment protéger les bases de données Spanner contre toute suppression accidentelle.
La protection contre la suppression de bases de données Spanner empêche la suppression accidentelle de bases de données existantes par des utilisateurs ou des comptes de service disposant des autorisations IAM nécessaires pour supprimer la base de données. En activant la protection contre la suppression de bases de données, vous pouvez protéger les bases de données importantes pour votre application et vos services. Utilisez la protection contre la suppression de base de données, ainsi que la récupération à un moment précis et les fonctionnalités de sauvegarde pour fournir un ensemble complet de fonctionnalités de protection des données pour vos bases de données Spanner.
Par défaut, le paramètre de protection contre la suppression est désactivé lorsque vous créez votre base de données. Vous pouvez activer le paramètre de protection contre la suppression une fois la création de la base de données terminée. Vous pouvez également activer ce paramètre sur une base de données existante. Si vous souhaitez protéger plusieurs bases de données, activez le paramètre pour chaque base de données individuellement. L'activation ou la désactivation de la protection contre la suppression n'a aucun impact sur les performances de la base de données. Si vous devez supprimer une base de données pour laquelle la protection est activée, vous devez désactiver la protection avant de pouvoir supprimer la base de données.
Limites
Vous ne pouvez pas activer la protection contre la suppression de la base de données dans les cas suivants:
- Si la base de données est en cours de suppression.
- Si la base de données est restaurée à partir d'une sauvegarde. (Une fois l'opération de restauration terminée, vous pouvez activer la protection de la base de données).
De plus, les sauvegardes d'une base de données et les bases de données restaurées à partir d'une sauvegarde n'héritent pas du paramètre de protection contre la suppression de leur base de données source. Après avoir restauré une base de données à partir d'une sauvegarde, vous devez activer séparément sa protection contre la suppression de la base de données.
Si vous supprimez votre projet, la protection contre la suppression de la base de données Spanner n'empêche pas la suppression de votre base de données ou de votre instance. Pour en savoir plus sur ce qui se passe lorsque vous supprimez votre projet, consultez la section Arrêter (supprimer) des projets.
Contrôle des accès avec IAM
Pour activer le paramètre de protection contre la suppression de votre base de données, vous devez disposer de certaines autorisations IAM.
Vous devez disposer de l'autorisation spanner.databases.update
pour activer ou désactiver la protection contre la suppression de la base de données. Si vous ne devez afficher que l'état de la configuration de votre base de données, vous devez disposer de l'autorisation spanner.databases.list
ou spanner.databases.get
. Pour savoir comment accorder des autorisations IAM Spanner, consultez la section Appliquer des autorisations IAM.
Si vous disposez du rôle prédéfini roles/spanner.databaseAdmin
administrateur de base de données Spanner pour votre base de données, vous pouvez mettre à jour et activer la protection contre la suppression de la base de données.
Vous pouvez activer le paramètre de protection contre la suppression de base de données sur une base de données existante pour éviter sa suppression accidentelle.
Activer la protection contre la suppression de la base de données
Vous pouvez activer la protection contre la suppression de la base de données à l'aide de la CLI gcloud, des bibliothèques clientes et des API REST ou RPC. Vous ne pouvez pas activer la protection contre la suppression de la base de données à l'aide de la console Google Cloud.
gcloud
Pour activer le paramètre de protection contre la suppression d'une base de données, exécutez la commande suivante:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--enable-drop-protection [--async]
Les options suivantes sont requises :
DATABASE_ID
- ID de la base de données.
INSTANCE_ID
- ID de l'instance de la base de données.
Les options suivantes sont facultatives :
--async
- renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.
Bibliothèques clientes
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Vérifier si la protection contre la suppression est activée pour une base de données
Vous pouvez déterminer si la protection contre la suppression est activée pour votre base de données en consultant sa configuration.
gcloud
Pour vérifier si la protection contre la suppression est activée pour une base de données, vous pouvez exécuter la commande gcloud spanner databases describe
pour obtenir des informations détaillées sur une base de données ou la commande gcloud spanner databases list
pour obtenir des informations détaillées sur les bases de données d'une instance.
gcloud spanner databases describe
projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID
Les options suivantes sont requises :
PROJECT_ID
- ID du projet pour la base de données.
INSTANCE_ID
- ID de l'instance de la base de données.
DATABASE_ID
- ID de la base de données.
Si la protection contre la suppression est activée, un paramètre enableDropProtection: true
s'affiche dans la sortie.
Désactiver la protection contre la suppression de la base de données
Vous pouvez désactiver la protection contre la suppression d'une base de données si elle n'en a plus besoin ou si vous devez supprimer une base de données pour laquelle ce paramètre est activé.
Si vous souhaitez supprimer une instance contenant une ou plusieurs bases de données pour lesquelles la protection contre la suppression est activée, vous devez d'abord désactiver la protection contre la suppression pour toutes les bases de données de cette instance.
gcloud
Pour désactiver le paramètre de protection contre la suppression d'une base de données, exécutez la commande suivante:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--no-enable-drop-protection [--async]
Les options suivantes sont requises :
DATABASE_ID
- ID de la base de données.
INSTANCE_ID
- ID de l'instance de la base de données.
Les options suivantes sont facultatives :
--async
- renvoie immédiatement une réponse, sans attendre la fin de l'opération en cours.
Étape suivante
- Découvrez comment créer et gérer des bases de données.
- Découvrez comment sauvegarder et restaurer une base de données.
- Découvrez comment mettre à jour un schéma.