In diesem Thema wird beschrieben, wie Sie auf eine Secret-Version zugreifen. Beim Zugriff auf eine Secret-Version werden der Secret-Inhalt und zusätzliche Metadaten zur Secret-Version zurückgegeben. Wenn Sie auf eine Secret-Version zugreifen, geben Sie die version-id oder alias an, falls zugewiesen. Sie können auch auf die neueste Version eines Secrets zugreifen, indem Sie "latest"
als Version angeben.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Zugriffsfunktion für Secret Manager-Secret (roles/secretmanager.secretAccessor
) für ein Secret zu gewähren, um die Berechtigungen zu erhalten, die Sie für den Zugriff auf eine Secret-Version benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.
Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Auf eine Secret-Version zugreifen
Console
-
Rufen Sie in der Google Cloud Console die Seite Secret Manager auf.
-
Klicken Sie auf der Seite Secret Manager auf den Namen eines Secrets.
-
Suchen Sie auf der Seite Secret-Details in der Tabelle Versionen nach einer Secret-Version, auf die zugegriffen werden kann.
-
Klicken Sie in der Spalte Aktionen auf Mehr anzeigen
. -
Klicken Sie im Menü auf Secret-Wert anzeigen.
-
Sie sehen ein Dialogfeld mit dem Wert der Secret-Version. Klicken Sie abschließend auf Fertig.
gcloud
Wenn Sie Secret Manager in der Befehlszeile verwenden möchten, müssen Sie zuerst die Google Cloud CLI installieren oder ein Upgrade auf Version 378.0.0 oder höher ausführen. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.
Rufen Sie eine Secret-Version auf:
$ gcloud secrets versions access version-id --secret="secret-id"
So greifen Sie auf eine Secret-Secret-Version zu:
Um Rohbyte in eine Datei zu schreiben, verwenden Sie das Flag „--out-file“:
$ gcloud secrets versions access version-id --secret="secret-id" --out-file="path/to/secret"
Um die Rohbyte zu erhalten, muss das Cloud SDK die Antwort als base64-codiert und decodieren lassen:
$ gcloud secrets versions access version-id --secret="secret-id" --format='get(payload.data)' | tr '_-' '/+' | base64 -d
C#
Um diesen Code auszuführen, müssen Sie eine C#-Entwicklungsumgebung einrichten und das Secret Manager C# SDK installieren. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.
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.
PHP
Um diesen Code auszuführen, müssen Sie zuerst die Informationen zur Verwendung von PHP in Google Cloud und zum Installieren des Secret Manager PHP SDK lesen. 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.
Ruby
Um diesen Code auszuführen, müssen Sie zuerst eine Ruby-Entwicklungsumgebung einrichten und das Secret Manager Ruby SDK installieren. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.
API
In diesen Beispielen wird curl verwendet, um die Verwendung mit der API zu demonstrieren. Sie können Zugriffstokens mit gcloud auth print-access-token generieren. In Compute Engine oder GKE müssen Sie sich mit dem Bereich cloud-platform authentifizieren.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json"
Die Antwort payload.data
ist der base64-codierte Inhalt der Secret-Version. Hier sehen Sie ein Beispiel für das Extrahieren des Secrets mit dem jq
-Tool:
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id/versions/version-id:access" \
--request "GET" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
| jq -r ".payload.data" | base64 --decode
Ressourcenkonsistenz
In Secret Manager ist das Hinzufügen einer Secret-Version und der sofortige Zugriff auf diese Secret-Version über die Versionsnummer ein strikt konsistenter Vorgang.
Andere Vorgänge innerhalb von Secret Manager sind letztendlich konsistent. Irgendwann konsistente Vorgänge konvergieren normalerweise innerhalb von Minuten, können aber einige Stunden dauern.
Die Propagierung von IAM-Berechtigungen ist letztendlich konsistent. Das bedeutet, dass die Gewährung oder Aufhebung des Zugriffs auf Secrets möglicherweise nicht sofort wirksam wird. Weitere Informationen finden Sie unter Weitergabe von Zugriffsänderungen.
Nächste Schritte
- Weitere Informationen zum Zuweisen eines Alias zu einer Secret-Version
- Secret-Version deaktivieren
- Secret-Version löschen