Auf dieser Seite wird beschrieben, wie Sie Spanner-Datenbanken vor versehentlichem Löschen schützen.
Der Schutz vor dem Löschen von Spanner-Datenbanken verhindert das versehentliche Löschen vorhandener Datenbanken durch Nutzer oder Dienstkonten, die die erforderlichen IAM-Berechtigungen zum Löschen der Datenbank haben. Wenn Sie den Löschschutz für Datenbanken aktivieren, können Sie Datenbanken schützen, die für Ihre Anwendungen und Dienste wichtig sind. Verwenden Sie den Schutz vor dem Löschen von Datenbanken zusammen mit der Wiederherstellung zu einem bestimmten Zeitpunkt und Sicherungsfunktionen, um umfassende Datenschutzfunktionen für Ihre Spanner-Datenbanken bereitzustellen.
Standardmäßig ist die Einstellung für den Löschschutz deaktiviert, wenn Sie Ihre 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 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 Szenarien können Sie den Löschschutz für Datenbanken nicht aktivieren:
- Wenn die Datenbank gelöscht wird.
- Wenn die Datenbank aus einer Sicherung wiederhergestellt wird. Nach Abschluss des Wiederherstellungsvorgangs können Sie den Datenbankschutz aktivieren.
Außerdem wird die Einstellung für den Schutz vor dem Löschen von Datenbanken nicht von der Quelldatenbank auf Sicherungen einer Datenbank und aus einer Sicherung wiederhergestellte Datenbanken übertragen. Nachdem Sie eine Datenbank aus einer Sicherung wiederhergestellt haben, müssen Sie den Schutz vor dem Löschen der Datenbank separat aktivieren.
Wenn Sie Ihr Projekt löschen, wird das Löschen Ihrer Datenbank oder Instanz nicht durch den Spanner-Datenbanklöschschutz verhindert. Weitere Informationen dazu, was passiert, wenn Sie Ihr Projekt löschen, finden Sie unter Projekte beenden (löschen).
Zugriffssteuerung mit IAM
Zum Aktivieren der Einstellung zum Schutz vor Löschen für Ihre Datenbank benötigen Sie bestimmte IAM-Berechtigungen.
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 aufrufen möchten, benötigen Sie die Berechtigung spanner.databases.list
oder spanner.databases.get
. Informationen zum Erteilen von Spanner-IAM-Berechtigungen finden Sie unter IAM-Berechtigungen anwenden.
Wenn Sie die vordefinierte Rolle Spanner Database Adminroles/spanner.databaseAdmin
für Ihre Datenbank haben, können Sie den Löschschutz für Datenbanken aktualisieren und aktivieren.
Sie können die Einstellung zum Löschschutz für Datenbanken für eine vorhandene Datenbank aktivieren, um ein versehentliches Löschen der Datenbank zu verhindern.
Löschschutz für Datenbank aktivieren
Sie können den Schutz vor dem Löschen von Datenbanken mit der gcloud CLI, den Clientbibliotheken und den REST- oder RPC-APIs 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 zum Schutz vor dem Löschen 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
- Gibt die Steuerung sofort zurück, ohne auf den Abschluss des Vorgangs zu warten.
Clientbibliotheken
C++
C#
Go
Java
Node.js
PHP
Python
Ruby
Prüfen, ob für eine Datenbank der Löschschutz aktiviert ist
Sie können feststellen, ob für Ihre Datenbank der Löschschutz 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 zu erhalten, oder den Befehl gcloud spanner databases list
, um detaillierte Informationen zu Datenbanken in einer Instanz zu erhalten.
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.
Löschschutz für Datenbank 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 löschen möchten, die mindestens eine Datenbank mit aktiviertem Löschschutz enthält, 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 zum Schutz vor dem Löschen 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
- Gibt die Steuerung sofort zurück, ohne auf den Abschluss des Vorgangs zu warten.
Nächste Schritte
- Informationen zum Erstellen und Verwalten von Datenbanken
- Weitere Informationen zum Sichern und Wiederherstellen einer Datenbank
- Schema aktualisieren