Auf dieser Seite wird beschrieben, wie Sie eine geheime Version löschen. Im Status „Gelöscht“ wird der Inhalt der Secret-Version verworfen. Das Löschen einer Secret-Version kann nicht rückgängig gemacht werden. Nachdem eine Version gelöscht wurde, können Sie nicht mehr auf die geheimen Daten zugreifen oder die Version in einen anderen Status wiederherstellen.
Bevor Sie eine Secret-Version löschen, sollten Sie sie deaktivieren und das Verhalten der Anwendung beobachten. Sie können die Secret-Version dann wieder aktivieren, wenn unerwartete Probleme auftreten.
Wenn Sie ein Secret oder eine Secret-Version deaktivieren oder löschen, dauert es länger, bis das System durch das System läuft. Bei Bedarf können Sie den Zugriff auf das Secret widerrufen. Änderungen an IAM-Berechtigungen werden innerhalb von Sekunden wirksam.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Secret Manager Secret Version Manager (roles/secretmanager.secretVersionManager
) für ein Secret zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Löschen einer Secret-Version benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Secret-Version löschen
Sie haben folgende Möglichkeiten, eine geheime Version zu löschen:
Console
-
Rufen Sie in der Google Cloud Console die Seite Secret Manager auf.
-
Klicken Sie auf der Seite Secret Manager auf den Tab Regionale Secrets und dann auf ein Secret, um auf seine Versionen zuzugreifen.
-
Wählen Sie auf der Seite mit den Secret-Details auf dem Tab Versionen die Secret-Version aus, die Sie löschen möchten.
-
Klicken Sie auf
Aktionen und dann auf Vernichten. -
Geben Sie im angezeigten Bestätigungsdialogfeld die Secret-ID ein und klicken Sie dann auf Ausgewählte Versionen löschen.
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- VERSION_ID: der Ressourcenname der Secret-Version
- SECRET_ID: die ID des Secrets oder die voll qualifizierte Kennzeichnung für das Secret
- LOCATION: den Speicherort des Geheimnisses in Google Cloud
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: den Speicherort des Geheimnisses in Google Cloud
- PROJECT_ID: die Google Cloud-Projekt-ID
- SECRET_ID: die ID des Secrets oder die voll qualifizierte Kennzeichnung für das Secret
- VERSION_ID: die ID der Secret-Version
HTTP-Methode und URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy
JSON-Text der Anfrage:
{}
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "createTime": "2024-09-02T07:16:34.566706Z", "destroyTime": "2024-09-04T06:29:01.893743728Z", "state": "DESTROYED", "etag": "\"1621454a37ce7f\"" }
Go
Um diesen Code auszuführen, müssen Sie zuerst eine Go-Entwicklungsumgebung einrichten und das Secret Manager Go SDK installieren. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.
Java
Um diesen Code auszuführen, müssen Sie zuerst eine Java-Entwicklungsumgebung einrichten und das Secret Manager Java SDK installieren. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.
Node.js
Um diesen Code auszuführen, müssen Sie zuerst eine Node.js-Entwicklungsumgebung einrichten und das Cloud KMS Node.js SDK installieren. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.
Python
Um diesen Code auszuführen, müssen Sie zuerst eine Python-Entwicklungsumgebung einrichten und das Secret Manager Python SDK installieren. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.
Verzögertes Löschen von Secret-Versionen
Nutzer mit der Rolle „Secret Manager Admin“ können die verzögerte Vernichtung von Secret-Versionen einrichten, indem sie die Funktion Löschen der Secret-Version verzögern für das Secret konfigurieren. Wenn diese Funktion aktiviert ist, wird die Secret-Version auf Anfrage nicht sofort gelöscht. Stattdessen wird die Secret-Version deaktiviert und zu einem späteren Zeitpunkt zum Löschen vorgemerkt. Während dieser Zeit kann der Secret Manager-Administrator die Secret-Version wiederherstellen.