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
Secret erstellen, indem Sie "latest"
als Version angeben.
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie für den Zugriff auf eine Secret-Version benötigen,
bitten Sie Ihren Administrator, Ihnen
IAM-Rolle auf Secret Manager-Secrets zugreifen (roles/secretmanager.secretAccessor
) für ein Secret.
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 Sie die Google Cloud CLI oder führen Sie ein Upgrade auf Version 378.0.0 oder höher durch. 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"
Um die Rohbyte abzurufen, lassen Sie das Cloud SDK die Antwort als base64-codiert ausgeben 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
Wenn Sie in Secret Manager eine Secret-Version hinzufügen und sofort darauf zugreifen, Secret-Version nach Versionsnummer ist ein stark 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 Weitergabe von Zugriffsänderungen
Nächste Schritte
- Weitere Informationen zum Zuweisen eines Alias zu einer Secret-Version
- Weitere Informationen zum Deaktivieren einer Secret-Version
- Secret-Version löschen