Auf dieser Seite wird beschrieben, wie Sie Spanner-Datenbanken vor versehentlichem Löschen schützen.
Der Löschschutz für Spanner-Datenbanken verhindert das versehentliche Löschen vorhandener Datenbanken durch Nutzer oder Dienstkonten, die die erforderlichen IAM-Berechtigungen zum Löschen der Datenbank haben. Durch Aktivieren des Löschschutzes für Datenbanken können Sie Datenbanken schützen, die für Ihre Anwendung und Dienste wichtig sind. Verwenden Sie den Schutz vor Datenbanklöschungen zusammen mit der Wiederherstellung zu einem bestimmten Zeitpunkt und Sicherungsfeatures, um einen umfassenden Satz von Datenschutzfunktionen für Ihre Spanner-Datenbanken bereitzustellen.
Die Einstellung für den Löschschutz ist standardmäßig deaktiviert, wenn Sie eine neue Datenbank erstellen. Sie können die Einstellung für den Löschschutz aktivieren, nachdem die Datenbank erfolgreich erstellt wurde. Außerdem können Sie diese Einstellung für eine vorhandene Datenbank aktivieren. Wenn Sie mehrere Datenbanken schützen möchten, aktivieren Sie die Einstellung für jede Datenbank einzeln. Das Aktivieren oder Deaktivieren des Löschschutzes hat keine Auswirkungen auf die Leistung der Datenbank. Wenn Sie eine Datenbank löschen möchten, für die der Datenbankschutz aktiviert ist, müssen Sie den Schutz deaktivieren, bevor Sie die Datenbank löschen können.
Beschränkungen
In den folgenden Fällen können Sie den Löschschutz für Datenbanken nicht aktivieren:
- Die Datenbank wird gelöscht.
- Die Datenbank wird aus einer Sicherung wiederhergestellt. Nach Abschluss der Wiederherstellung können Sie den Datenbankschutz aktivieren.
Außerdem übernehmen Sicherungen einer Datenbank und von Datenbanken, die aus einer Sicherung wiederhergestellt wurden, nicht die Einstellung für den Datenbanklöschungsschutz der Quelldatenbank. Nachdem Sie eine Datenbank aus einer Sicherung wiederhergestellt haben, müssen Sie den Löschschutz für die Datenbank separat aktivieren.
Wenn Sie Ihr Projekt löschen, verhindert der Löschschutz für die Spanner-Datenbank das Löschen der Datenbank oder Instanz nicht. Weitere Informationen dazu, was passiert, wenn Sie Ihr Projekt löschen, finden Sie unter Projekte beenden (löschen).
Zugriffssteuerung mit IAM
Sie benötigen bestimmte IAM-Berechtigungen, um die Einstellung für den Löschschutz Ihrer Datenbank zu aktivieren.
Sie benötigen die Berechtigung spanner.databases.update
, um den Löschschutz für Datenbanken zu aktivieren oder zu deaktivieren. Wenn Sie nur den Status Ihrer Datenbankkonfiguration ansehen möchten, benötigen Sie die Berechtigung spanner.databases.list
oder spanner.databases.get
. Informationen zum Gewähren von Spanner-IAM-Berechtigungen finden Sie unter IAM-Berechtigungen anwenden.
Wenn Sie die vordefinierte Rolle Spanner Database Admin roles/spanner.databaseAdmin
für Ihre Datenbank haben, können Sie den Löschschutz für Datenbanken aktualisieren und aktivieren.
Sie können den Löschschutz für eine vorhandene Datenbank aktivieren, um ein versehentliches Löschen der Datenbank zu verhindern.
Schutz vor Datenbanklöschung aktivieren
Sie können den Löschschutz für Datenbanken mit der gcloud CLI, den Clientbibliotheken und der REST API oder der RPC API aktivieren. Sie können den Löschschutz für Datenbanken nicht über die Google Cloud Console aktivieren.
gcloud
Führen Sie den folgenden Befehl aus, um die Einstellung für den Löschschutz einer Datenbank zu aktivieren:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--enable-drop-protection [--async]
Folgende Optionen sind erforderlich:
DATABASE_ID
- ID der Datenbank.
INSTANCE_ID
- ID der Instanz für die Datenbank.
Folgende Optionen sind optional:
--async
- Sie können sofort zurückkehren, ohne auf den Abschluss des Vorgangs warten zu müssen.
Clientbibliotheken
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Prüfen, ob der Löschschutz für eine Datenbank aktiviert ist
Sie können feststellen, ob der Löschschutz für Ihre Datenbank aktiviert ist, indem Sie die Datenbankkonfiguration aufrufen.
gcloud
Wenn Sie prüfen möchten, ob für eine Datenbank der Löschschutz aktiviert ist, können Sie den Befehl gcloud spanner databases describe
ausführen, um detaillierte Informationen zu einer Datenbank abzurufen, oder gcloud spanner databases list
ausführen, um detaillierte Informationen zu Datenbanken innerhalb einer Instanz abzurufen.
gcloud spanner databases describe
projects/PROJECT_ID/instances/INSTANCE_ID/databases/DATABASE_ID
Folgende Optionen sind erforderlich:
PROJECT_ID
- ID des Projekts für die Datenbank.
INSTANCE_ID
- ID der Instanz für die Datenbank.
DATABASE_ID
- ID der Datenbank.
Wenn der Löschschutz aktiviert ist, wird in der Ausgabe der Parameter enableDropProtection: true
angezeigt.
Schutz vor Datenbanklöschung deaktivieren
Sie können den Löschschutz für Datenbanken deaktivieren, wenn eine Datenbank diesen Schutz nicht mehr benötigt oder wenn Sie eine Datenbank löschen müssen, für die diese Einstellung aktiviert ist.
Wenn Sie eine Instanz mit einer oder mehreren Datenbanken mit aktiviertem Löschschutz löschen möchten, müssen Sie zuerst den Löschschutz für alle Datenbanken in dieser Instanz deaktivieren, bevor Sie die Instanz löschen können.
gcloud
Führen Sie den folgenden Befehl aus, um die Einstellung für den Löschschutz einer Datenbank zu deaktivieren:
gcloud spanner databases update
DATABASE_ID --instance=INSTANCE_ID
--no-enable-drop-protection [--async]
Folgende Optionen sind erforderlich:
DATABASE_ID
- ID der Datenbank.
INSTANCE_ID
- ID der Instanz für die Datenbank.
Folgende Optionen sind optional:
--async
- Sie können sofort zurückkehren, ohne auf den Abschluss des Vorgangs warten zu müssen.