Auf dieser Seite wird beschrieben, wie Sie Spanner-Datenbanken vor versehentlichem Löschen schützen.
Der Löschschutz von Spanner 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 Löschschutz für die Datenbank zusammen mit der Wiederherstellung zu einem bestimmten Zeitpunkt und den Sicherungsfeatures, um für Ihre Spanner-Datenbanken umfassende Datenschutzfunktionen bereitzustellen.
Der 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 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 mit aktiviertem Datenbankschutz löschen möchten, müssen Sie den Schutz deaktivieren, bevor Sie die Datenbank löschen können.
Beschränkungen
Sie können den Löschschutz für die Datenbank in den folgenden Szenarien nicht aktivieren:
- Gibt an, ob die Datenbank gelöscht wird.
- Die Datenbank wird aus einer Sicherung wiederhergestellt. Nach Abschluss der Wiederherstellung können Sie den Datenbankschutz aktivieren.
Außerdem übernehmen Sicherungen einer Datenbank und Datenbanken, die aus einer Sicherung wiederhergestellt wurden, nicht die Einstellung für den Löschschutz ihrer Quelldatenbank. Nachdem Sie eine Datenbank aus einer Sicherung wiederhergestellt haben, müssen Sie den Löschschutz für ihre Datenbank separat aktivieren.
Wenn Sie Ihr Projekt löschen, verhindert der Löschschutz für die Spanner-Datenbank das Löschen Ihrer Datenbank oder Instanz nicht. Weitere Informationen dazu, was beim Löschen eines Projekts geschieht, finden Sie unter Projekte beenden (löschen).
Zugriffssteuerung mit IAM
Sie benötigen bestimmte IAM-Berechtigungen, um den Löschschutz Ihrer Datenbank zu aktivieren.
Sie benötigen die Berechtigung spanner.databases.update
, um den Schutz vor Datenbanklöschungen zu aktivieren oder zu deaktivieren. Wenn Sie nur den Status der Datenbankkonfiguration aufrufen 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 die Datenbank aktualisieren und aktivieren.
Sie können den Löschschutz einer Datenbank für eine vorhandene Datenbank aktivieren, um das versehentliche Löschen der Datenbank zu verhindern.
Schutz vor Datenbanklöschungen aktivieren
Sie können den Löschschutz für die Datenbank 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 Löschschutzeinstellung 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
- Es wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Clientbibliotheken
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Prüfen, ob der Löschschutz für eine Datenbank aktiviert ist
In der Datenbankkonfiguration können Sie feststellen, ob der Löschschutz für Ihre Datenbank aktiviert ist.
gcloud
Wenn Sie prüfen möchten, ob der Löschschutz für eine Datenbank aktiviert ist, können Sie mit dem Befehl gcloud spanner databases describe
detaillierte Informationen zu einer Datenbank abrufen. Mit dem Befehl gcloud spanner databases list
können Sie detaillierte Informationen zu den Datenbanken in einer Instanz abrufen.
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 der Parameter enableDropProtection: true
in der Ausgabe 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 Löschschutzeinstellung 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
- Es wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Nächste Schritte
- Datenbanken erstellen und verwalten
- Datenbank sichern und wiederherstellen
- Weitere Informationen zum Vornehmen von Schemaaktualisierungen