Secret-Daten sind nicht veränderbar und die meisten Vorgänge werden auf Secret-Versionen ausgeführt. Eine Secret-Version enthält die eigentlichen Secret-Daten sowie state und Metadaten zum Secret. In diesem Thema wird beschrieben, wie Sie eine Secret-Version hinzufügen.
Erforderliche Rollen
Um die Berechtigungen zu erhalten, die Sie zum Hinzufügen einer Secret-Version benötigen, bitten Sie Ihren Administrator, Ihnen folgende IAM-Rollen für ein Secret:
-
Ergänzer für Secret Manager-Secret-Versionen (
roles/secretmanager.secretVersionAdder
) -
Verwalter von Secret Manager-Secret-Versionen (
roles/secretmanager.secretVersionManager
)
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 hinzufügen
Console
-
Rufen Sie in der Google Cloud Console die Seite Secret Manager auf.
-
Klicken Sie imSecret Manager Seite, klicken Sie Mehr anzeigen
und wählen Sie Neue Version hinzufügen, um die Option zu aktivieren. -
Geben Sie im Dialogfeld Neue Version hinzufügen im Feld Secret-Wert einen Wert für das Secret ein (z. B.
abcd1234
). -
Klicken Sie auf die Schaltfläche Neue Version hinzufügen.
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.
Fügen Sie eine Secret-Version aus dem Inhalt einer Datei auf der Festplatte hinzu:
$ gcloud secrets versions add secret-id --data-file="/path/to/file.txt"
Sie können eine Secret-Version auch direkt in der Befehlszeile hinzufügen. Dies wird jedoch nicht empfohlen, da sie in der Liste der Prozesse als Klartext erscheint und von anderen Systemnutzern abgefangen werden kann. Beachten Sie, dass sich der Befehl mit dem Klartext auch im Shell-Verlauf befindet.
$ echo -n "this is my super secret data" | \
gcloud secrets versions add secret-id --data-file=-
Sie können optional eine Version aus dem Dateiinhalt hinzufügen, wenn Sie ein Secret erstellen:
$ gcloud secrets create secret-id --data-file="/path/to/file.txt"
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.
Codieren Sie die Secret-Daten und speichern Sie sie als Shell-Variable.
$ SECRET_DATA=$(echo "seCr3t" | base64)
Rufen Sie die API mit "curl" auf.
$ curl "https://secretmanager.googleapis.com/v1/projects/project-id/secrets/secret-id:addVersion" \
--request "POST" \
--header "authorization: Bearer $(gcloud auth print-access-token)" \
--header "content-type: application/json" \
--data "{\"payload\": {\"data\": \"${SECRET_DATA}\"}}"
Secret-Versionsstatus
Eine Secret-Version kann jederzeit einen der folgenden Status haben:
Aktiviert: In diesem Status kann auf die Secret-Version zugegriffen und sie beschrieben werden. Dies ist der Standardstatus für eine neue Secret-Version.
Deaktiviert – In diesem Status kann nicht auf die Secret-Version zugegriffen werden, der Inhalt des Secrets ist jedoch noch vorhanden. Die Secret-Version kann wieder aktiviert werden, um den Zugriff wiederherzustellen.
Gelöscht: In diesem Status wird der Inhalt der Secret-Version verworfen. Die Secret-Version kann nicht auf einen anderen Status geändert werden.
Nächste Schritte
- Weitere Informationen zum Zugriff auf eine Secret-Version
- Weitere Informationen zum Zuweisen eines Alias zu einer Secret-Version
- Weitere Informationen zum Auflisten von Secret-Versionen und zum Aufrufen von Versionsdetails