In diesem Thema wird beschrieben, wie Sie auf eine Secret-Version zugreifen. Beim Zugriff auf eine Secret-Version werden die Secret-Inhalte sowie zusätzliche Metadaten zur Secret-Version zurückgegeben. Wenn Sie auf eine Secret-Version zugreifen, geben Sie deren 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 Secret Manager Secret Accessor (roles/secretmanager.secretAccessor
) für ein Secret zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Zugriff auf eine 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.
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, installieren oder aktualisieren Sie zuerst die Google Cloud CLI auf Version 378.0.0 oder höher. 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:
Verwenden Sie das Flag „–out-file“, um Rohbytes in eine Datei zu schreiben:
$ gcloud secrets versions access version-id --secret="secret-id" --out-file="path/to/secret"
Damit Sie die Rohbyte erhalten, muss das Cloud SDK die Antwort als base64-codiert und decodieren:
$ 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
Das Hinzufügen einer Secret-Version und das sofortige Zugreifen auf diese Secret-Version anhand der Versionsnummer ist im Secret Manager ein strikt konsistenter Vorgang.
Andere Vorgänge im Secret Manager sind letztendlich konsistent. Vorgänge mit Eventual Consistency werden in der Regel innerhalb von Minuten ausgeführt, können aber ein paar 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 Zugriffsänderungsverteilung.
Nächste Schritte
- Weitere Informationen zum Zuweisen eines Alias zu einer Secret-Version
- Weitere Informationen zum Deaktivieren einer Secret-Version
- Weitere Informationen zum Löschen einer Secret-Version