Secret-Daten sind unveränderlich und die meisten Vorgänge werden auf Secret-Versionen ausgeführt. Eine Secret-Version enthält die tatsächlichen Secret-Daten sowie den state und die Metadaten zum Secret. In diesem Thema wird beschrieben, wie Sie eine Secret-Version hinzufügen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für ein Secret zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Hinzufügen einer Secret-Version benötigen:
-
Hinzufügen von Secret Manager-Secret-Versionen (
roles/secretmanager.secretVersionAdder
) -
Administrator von Secret Manager-Secret-Versionen (
roles/secretmanager.secretVersionManager
)
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.
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, 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.
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. Davon wird jedoch abgeraten, da es als Klartext in der Liste der Prozesse angezeigt wird und möglicherweise von anderen Systemnutzern erfasst wird. Der Befehl mit dem Klartext befindet sich auch im Shell-Verlauf.
$ 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
- Informationen zum Zugriff auf eine Secret-Version
- Weitere Informationen zum Zuweisen eines Alias zu einer Secret-Version
- Secret-Versionen auflisten und Versionsdetails ansehen