Cette page explique comment protéger les bases de données Spanner contre les attaques de suppression.
La protection contre la suppression des bases de données Spanner empêche les suppressions accidentelles des bases de données existantes par les utilisateurs ou les comptes de service Autorisations IAM permettant de supprimer la base de données. En activant la protection contre la suppression des bases de données, vous pouvez sauvegarder les bases de données importantes pour votre application et vos services. Utilisez la protection contre la suppression de la 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 des fonctionnalités de protection des données de vos bases de données Spanner.
Par défaut, le paramètre de protection contre la suppression est désactivé lorsque vous créez un base de données. Vous pouvez activer le paramètre de protection contre la suppression après le création de la base de données réussit. Vous pouvez également activer ce paramètre la base de données existante. Si vous souhaitez protéger plusieurs bases de données, activez le paramètre sur chaque base de données. L'activation ou la désactivation de la protection contre la suppression n'ont aucune incidence sur les performances de la base de données. Si vous devez supprimer une base de données pour laquelle la protection des bases de données est activée, vous devez la désactiver avant de vous pouvez supprimer la base de données.
Limites
Vous ne pouvez pas activer la protection contre la suppression de bases de données dans les cas suivants:
- Indique si la base de données est en cours de suppression.
- Si la base de données est en cours de restauration à partir d'une sauvegarde. (Après l'opération de restauration vous pouvez activer la protection de la base de données).
De plus, les sauvegardes d'une base de données et celles restaurées à partir d'une sauvegarde ne héritent du paramètre de protection contre la suppression de la base de données source. Après vous restaurez une base de données à partir d'une sauvegarde, vous devez activer la suppression de sa base de données séparément.
Si vous supprimez votre projet, la protection contre la suppression de bases 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êt (suppression) 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 certaines autorisations IAM.
Vous devez disposer de l'autorisation spanner.databases.update
pour activer ou
désactiver la protection contre la suppression des bases de données. Si vous avez uniquement besoin de consulter l'état
la configuration de votre base de données, vous devez disposer du rôle spanner.databases.list
ou
Autorisation spanner.databases.get
. Pour savoir comment accorder
les autorisations IAM Spanner, consultez
Appliquer des autorisations IAM
Si vous disposez du rôle prédéfini Administrateur de bases de données Spanner
Rôle roles/spanner.databaseAdmin
pour
votre base de données, vous pouvez mettre à jour et activer la protection contre la suppression de bases de données.
Vous pouvez activer le paramètre de protection contre la suppression de bases de données pour une base de données existante pour éviter toute suppression accidentelle de la base de données.
Activer la protection contre la suppression des bases de données
Vous pouvez activer la protection contre la suppression de bases de données à l'aide de gcloud CLI, la les bibliothèques clientes et le REST ou RPC API. Vous ne pouvez pas activer la protection contre la suppression de bases 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
- Retour immédiat, sans attendre l'opération en cours pour terminer.
Bibliothèques clientes
C++
C#
Go
Java
<ph type="x-smartling-placeholder">
Node.js
<ph type="x-smartling-placeholder">
PHP
<ph type="x-smartling-placeholder">
Python
<ph type="x-smartling-placeholder">
Ruby
Vérifier si la protection contre la suppression est activée pour une base de données
Vous pouvez vérifier si la protection contre la suppression est activée pour votre base de données : d'afficher la configuration de la base de données.
gcloud
Pour vérifier si la protection contre la suppression est activée dans 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 vous pouvez exécuter la commande gcloud spanner databases list
pour
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 de 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, une notification
paramètre enableDropProtection: true
dans la sortie.
Désactiver la protection contre la suppression des bases de données
Vous pouvez désactiver la protection contre la suppression des bases de données si une base de données 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 comportant une ou plusieurs bases de données avec suppression est activée, vous devez d'abord la désactiver sur toutes les les bases de données de cette instance avant de pouvoir la supprimer.
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
- Retour immédiat, sans attendre l'opération en cours pour terminer.
É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 effectuer des mises à jour de schéma.