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. Mit dem Schutz vor Datenbankenlöschungen, der Wiederherstellung zu einem bestimmten Zeitpunkt und Sicherungsfunktionen können Sie Ihre Spanner-Datenbanken umfassend schützen.
Standardmäßig ist die Einstellung für den Löschschutz 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 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:
- Wenn die Datenbank gelöscht wird.
- Wenn die Datenbank aus einer Sicherung wiederhergestellt wird. Nach Abschluss der Wiederherstellung können Sie den Datenbankschutz aktivieren.
Außerdem wird die Einstellung für den Schutz vor Datenbanklöschung der Quelldatenbank nicht auf Sicherungen einer Datenbank und auf aus einer Sicherung wiederhergestellte Datenbanken angewendet. 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, verhindert der Löschschutz für Spanner-Datenbanken nicht das Löschen Ihrer Datenbank oder Instanz. Weitere Informationen dazu, was passiert, wenn Sie ein Projekt löschen, finden Sie unter Projekte beenden (löschen).
Zugriffssteuerung mit IAM
Um die Einstellung zum Löschschutz Ihrer Datenbank zu aktivieren, 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 Gewähren von IAM-Berechtigungen für Spanner 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 Schutz vor dem Löschen der Datenbank aktualisieren und aktivieren.
Sie können die Einstellung „Löschschutz für Datenbank“ für eine vorhandene Datenbank aktivieren, um das versehentliche Löschen der Datenbank zu verhindern.
Löschschutz für Datenbanken aktivieren
Sie können den Schutz vor Datenbankentfernung mit der gcloud CLI, den Clientbibliotheken und den REST- oder RPC-APIs aktivieren. Sie können den Schutz vor Datenbankentfernung 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
- 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 für eine Datenbank der Löschschutz aktiviert ist
In der Datenbankkonfiguration können Sie sehen, ob der Löschschutz für Ihre Datenbank aktiviert ist.
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 innerhalb 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 dieser Schutz für eine Datenbank nicht mehr erforderlich ist oder wenn Sie eine Datenbank löschen möchten, 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
- wird sofort zurückgegeben, ohne auf den Abschluss des Vorgangs zu warten.
Nächste Schritte
- Weitere Informationen zum Erstellen und Verwalten von Datenbanken
- Weitere Informationen zum Sichern und Wiederherstellen einer Datenbank
- Weitere Informationen zum Aktualisieren von Schemas