Auf dieser Seite wird beschrieben, wie Sie ein Ablaufdatum für ein neues oder vorhandenes Secret festlegen, das Ablaufdatum eines vorhandenen Secrets ändern und ein zuvor festgelegtes Ablaufdatum aus einem Secret entfernen.
Übersicht
Standardmäßig sind in Secret Manager gespeicherte Secrets vorhanden, bis sie von einem Nutzer gelöscht werden. Wenn ein Secret nur für eine bekannte, begrenzte Zeit gespeichert werden soll, können Sie eine Ablaufzeit anhängen. Nach der konfigurierten Ablaufzeit eines Secrets wird es automatisch gelöscht.
Wenn keine Notwendigkeit zum Löschen des Secrets besteht, können Sie IAM-Bedingungen oder den Versionsstatus Deaktiviert verwenden, um den Zugriff auf sichere Weise zu widerrufen.
Sie können eine Ablaufzeit entweder als Zeitstempel oder als Dauer eingeben. Beim Abrufen von Secret-Metadaten wird die Ablaufzeit immer als Zeitstempel zurückgegeben, unabhängig davon, wie sie angegeben wurde.
Ein Ablauf kann jederzeit einem Secret hinzugefügt, aktualisiert oder entfernt werden.
Beschränkungen
-
Der Ablaufzeitpunkt eines Secrets darf nicht weniger als 60 Sekunden oder nicht mehr als 100 Jahre entfernt sein.
Ablaufende Secrets sicher verwenden
Wenn ein Secret in Secret Manager abläuft, wird es unwiderruflich gelöscht. Die beste Möglichkeit zum Erkennen von Secrets, die bald ablaufen, ist die Verwendung von IAM-Bedingungen, um vor dem Ablauf Berechtigungen aus den Konten zu entfernen, die das Secret verwenden.
Legen Sie eine zeitbasierte Bedingung für die gewährten Berechtigungen fest, um den Zugriff auf Secrets effektiv zu verwalten.
-
Ablaufdatum festlegen: Berechtigungen sollten kurz vor dem Ablauf des Secrets ablaufen. So können Sie alle Workflows oder Prozesse identifizieren, in denen das Secret möglicherweise noch unerwartet verwendet wird.
-
Störungen im Blick behalten: Wenn Workflows nach dem Widerruf von Berechtigungen nicht mehr funktionieren, können Sie den Zugriff schnell wiederherstellen, um Auswirkungen zu minimieren.
-
Nach Bedarf anpassen: Wenn Sie feststellen, dass Sie mehr Zeit benötigen, können Sie das Ablaufdatum des Secrets verlängern oder es sogar ganz entfernen, wenn es nicht mehr benötigt wird.
Darüber hinaus ist es möglich, Benachrichtigungen basierend auf Logwarnungen zu Secrets zu erstellen, die bald ablaufen. Weitere Informationen finden Sie im Abschnitt Ablaufprotokollierung dieses Dokuments.
Zeitstempel und Dauer angeben
-
Zeitstempelwerte müssen als RFC 3339 formatiert sein, z. B.
2100-01-01T09:00:00-05:00
. -
Werte für die Dauer müssen als Anzahl von Sekunden mit dem Suffix s formatiert werden, z. B.
86400s
.
Ablaufdatum für ein Secret festlegen
Sie können ein Ablaufdatum und eine Ablaufzeit für ein Secret mit der Google Cloud Console, der Google Cloud CLI oder der Secret Manager API festlegen.
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 Regionales Secret erstellen.
-
Geben Sie auf der Seite Regionales Secret erstellen im Feld Name einen Namen für das Secret ein.
-
Geben Sie einen Wert für das Secret ein (z. B.
abcd1234
). Sie können auch eine Textdatei mit dem Secret-Wert über die Option Datei hochladen hochladen. Dadurch wird die Secret-Version automatisch erstellt. -
Wählen Sie in der Liste Region den Speicherort für das regionale Secret aus.
-
Klicken Sie auf Ablauf und setzen Sie ein Häkchen in das Kästchen Ablaufdatum festlegen.
-
Geben Sie das Ablaufdatum und die Ablaufzeit im Format Monat/Tag/Jahr, Stunde:Minute (AM/PM) ein, z. B.
7/31/20, 1:00 AM
. Sie können auch die Datums- und Uhrzeitauswahl verwenden, um das Ablaufdatum und die Ablaufzeit einzugeben. -
Klicken Sie auf Secret erstellen.
gcloud
Ablaufendes Secret mit einem Zeitstempel erstellen
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- SECRET_ID: die ID des Secrets oder die voll qualifizierte Kennzeichnung für das Secret
- LOCATION: den Speicherort des Geheimnisses in Google Cloud
- TIMESTAMP: das Ablaufdatum im RFC 3339-Format, z. B.
2100-01-01T09:00:00-05:00
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud secrets create SECRET_ID --location=LOCATION \ --expire-time "TIMESTAMP"
Windows (PowerShell)
gcloud secrets create SECRET_ID --location=LOCATION ` --expire-time "TIMESTAMP"
Windows (cmd.exe)
gcloud secrets create SECRET_ID --location=LOCATION ^ --expire-time "TIMESTAMP"
Ablaufendes Secret mit einer Dauer erstellen
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- SECRET_ID: die ID des Secrets oder die voll qualifizierte Kennzeichnung für das Secret
- LOCATION: den Speicherort des Geheimnisses in Google Cloud
- DURATION: die Ablaufdauer in Sekunden, z. B.
86400s
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud secrets create SECRET_ID --location=LOCATION \ --ttl "DURATION"
Windows (PowerShell)
gcloud secrets create SECRET_ID --location=LOCATION ` --ttl "DURATION"
Windows (cmd.exe)
gcloud secrets create SECRET_ID --location=LOCATION ^ --ttl "DURATION"
REST
Ablaufendes Secret mit einem Zeitstempel erstellen
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION: den Google Cloud-Speicherort des Geheimnisses
- PROJECT_ID: die Google Cloud-Projekt-ID
- SECRET_ID: die ID des Secrets oder die voll qualifizierte Kennzeichnung für das Secret
- TIMESTAMP: das Ablaufdatum im RFC 3339-Format, z. B.
2100-01-01T09:00:00-05:00
HTTP-Methode und URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/$PROJECT_ID/locations/LOCATION/secrets?secretId=$SECRET_ID
JSON-Text der Anfrage:
{"expire_time": "TIMESTAMP"}
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?secretId=$SECRET_ID"
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?secretId=$SECRET_ID" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "expireTime": "2024-09-04T09:25:39Z", "etag": "\"162143305d282d\"" }
Ablaufendes Secret mit einer Dauer erstellen
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
- DURATION: die Ablaufdauer in Sekunden, z. B.
86400s
HTTP-Methode und URL:
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets?secretId=SECRET_ID
JSON-Text der Anfrage:
{"ttl": "DURATION"}
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?secretId=SECRET_ID"
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?secretId=SECRET_ID" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "expireTime": "2024-09-04T09:25:39Z", "etag": "\"162143305d282d\"" }
Ablaufdatum eines Secrets aktualisieren
So aktualisieren Sie das Ablaufdatum und -uhrzeit des Secrets:
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.
-
Wenn Sie ein Secret bearbeiten möchten, suchen Sie es in der Liste und klicken Sie dann auf das zugehörige Menü
Aktionen. Klicken Sie im Menü Aktionen auf Bearbeiten. -
Gehen Sie zum Abschnitt Ablauf. Aktualisieren Sie das Ablaufdatum und die Uhrzeit und klicken Sie auf Secret aktualisieren.
gcloud
Ablauf eines Secrets mithilfe eines Zeitstempels aktualisieren
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- SECRET_ID: die ID des Secrets oder die voll qualifizierte Kennzeichnung für das Secret
- LOCATION: die Google Cloud-Region, in der Sie die geheimen Daten gespeichert haben
- TIMESTAMP: das Ablaufdatum im RFC 3339-Format, z. B.
2100-01-01T09:00:00-05:00
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION \ --expire-time "TIMESTAMP"
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --expire-time "TIMESTAMP"
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --expire-time "TIMESTAMP"
Ablauf eines Secrets mithilfe einer Dauer aktualisieren
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- SECRET_ID: die ID des Secrets oder die voll qualifizierte Kennzeichnung für das Secret
- LOCATION: den Google Cloud-Speicherort des Geheimnisses
- DURATION: die Ablaufdauer in Sekunden, z. B.
86400s
Führen Sie folgenden Befehl aus:
Linux, macOS oder Cloud Shell
gcloud secrets update SECRET_ID --location=LOCATION \ --ttl "DURATION"
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --ttl "DURATION"
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --ttl "DURATION"
REST
Ablauf eines Secrets mithilfe eines Zeitstempels aktualisieren
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
- TOKEN: Ihr eigenes OAuth2.0-Zugriffstoken
- TIMESTAMP: das Ablaufdatum im RFC 3339-Format, z. B.
2100-01-01T09:00:00-05:00
HTTP-Methode und URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=expire_time
JSON-Text der Anfrage:
{"expire_time": "TIMESTAMP"}
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 PATCH \
-H "Authorization: Bearer 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?updateMask=expire_time"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method PATCH `
-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?updateMask=expire_time" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "expireTime": "2024-09-04T09:25:39Z", "etag": "\"162143305d282d\"" }
Ablauf eines Secrets mithilfe einer Dauer aktualisieren
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
- DURATION: die Ablaufdauer in Sekunden, z. B.
86400s
HTTP-Methode und URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=ttl
JSON-Text der Anfrage:
{"ttl": "DURATION"}
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 PATCH \
-H "Authorization: Bearer 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?updateMask=ttl"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method PATCH `
-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?updateMask=ttl" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "expireTime": "2024-09-04T09:25:39Z", "etag": "\"162143305d282d\"" }
Ablaufdatum eines Secrets entfernen
Sie haben folgende Möglichkeiten, das Ablaufdatum und -uhrzeit des Secrets zu entfernen:
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.
-
Wenn Sie ein Secret bearbeiten möchten, suchen Sie es in der Liste und klicken Sie dann auf das zugehörige Menü
Aktionen. Klicken Sie im Menü Aktionen auf Bearbeiten. -
Gehen Sie zum Abschnitt Ablauf. Entfernen Sie das Häkchen neben Ablaufdatum festlegen und klicken Sie dann auf Secret aktualisieren.
gcloud
Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:
- 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 update SECRET_ID --location=LOCATION \ --remove-expiration
Windows (PowerShell)
gcloud secrets update SECRET_ID --location=LOCATION ` --remove-expiration
Windows (cmd.exe)
gcloud secrets update SECRET_ID --location=LOCATION ^ --remove-expiration
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
- TOKEN: Ihr eigenes OAuth2.0-Zugriffstoken
HTTP-Methode und URL:
PATCH https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID?updateMask=ttl
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 PATCH \
-H "Authorization: Bearer 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?updateMask=ttl"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$headers = @{ "Authorization" = "Bearer TOKEN" }
Invoke-WebRequest `
-Method PATCH `
-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?updateMask=ttl" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID", "createTime": "2024-09-04T03:58:38.200877Z", "etag": "\"162143305d282d\"" }
Ablauf-Logging
Cloud-Audit-Logs werden nicht erzeugt, wenn ein Secret automatisch abläuft. Stattdessen schreibt Secret Manager Logs in bestimmten Intervallen bis zum Ablauf eines Secrets in die Secret Manager-Secret-Ressource.
Logzeit | Secret-Ereignistyp |
---|---|
30 Tage vor Ablauf | EXPIRES_IN_30_DAYS |
7 Tage vor Ablauf | EXPIRES_IN_7_DAYS |
1 Tag vor Ablauf | EXPIRES_IN_1_DAY |
6 Stunden vor Ablauf | EXPIRES_IN_6_HOURS |
1 Stunde vor Ablauf | EXPIRES_IN_1_HOUR |
Beim Ablauf | EXPIRED |
Informationen zum Aufrufen dieser Logs finden Sie in der Kurzanleitung zum Logging. Sie können logbasierte Messwerte erstellen und damit Benachrichtigungen für bevorstehende Ablaufzeiten erstellen.