Les données des secrets sont immuables et la plupart des opérations ont lieu sur des versions de secrets. A contient les données réelles du secret, ainsi que l'état et des métadonnées sur le secret. Cette rubrique explique comment ajouter une version de secret.
Rôles requis
Pour obtenir les autorisations nécessaires pour ajouter une version de secret, demandez à votre administrateur de vous accorder le les rôles IAM suivants sur un secret:
-
Outil d'ajout de versions de secret Secret Manager (
roles/secretmanager.secretVersionAdder
) -
Outil de gestion des versions de secrets du gestionnaire de secrets (
roles/secretmanager.secretVersionManager
)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Ajouter une version de secret
Console
-
Accédez à la page Secret Manager dans la console Google Cloud.
-
Sur la page Secret Manager, cliquez sur Afficher plus
, puis sélectionnez Ajouter une nouvelle version. -
Dans la boîte de dialogue Ajouter une nouvelle version, saisissez une valeur pour le secret dans le champ Valeur du secret (par exemple,
abcd1234
). -
Cliquez sur le bouton Ajouter une nouvelle version.
gcloud
Pour utiliser Secret Manager avec la ligne de commande, commencez par installer ou mettre à niveau Google Cloud CLI vers la version 378.0.0 ou une version ultérieure. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Ajoutez une version de secret à partir du contenu d'un fichier sur disque :
$ gcloud secrets versions add secret-id --data-file="/path/to/file.txt"
Vous pouvez également ajouter une version de secret directement en ligne de commande, mais cette approche est déconseillée, car elle apparaît en texte brut dans la liste des processus et peut être capturée par d'autres utilisateurs du système. Notez que la commande avec le texte brut figurera également dans l'historique de votre shell.
$ echo -n "this is my super secret data" | \
gcloud secrets versions add secret-id --data-file=-
Vous pouvez éventuellement ajouter la version du contenu d'un fichier lors de la création initiale d'un secret :
$ gcloud secrets create secret-id --data-file="/path/to/file.txt"
C#
Pour exécuter ce code, commencez par configurer un environnement de développement C# et installez le SDK Secret Manager pour C#. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Go
Pour exécuter ce code, commencez par configurer un environnement de développement Go et installez le SDK Secret Manager pour Go. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Java
Pour exécuter ce code, commencez par configurer un environnement de développement Java et installez le SDK Secret Manager pour Java. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Node.js
Pour exécuter ce code, commencez par configurer un environnement de développement Node.js, puis installez le SDK Secret Manager pour Node.js. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
PHP
Pour exécuter ce code, commencez par apprendre à utiliser PHP sur Google Cloud et à installer le SDK Secret Manager pour PHP. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Python
Pour exécuter ce code, commencez par configurer un environnement de développement Python et installez le SDK Secret Manager pour Python. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Ruby
Pour exécuter ce code, commencez par configurer un environnement de développement Ruby et installez le SDK Secret Manager pour Ruby. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
API
Ces exemples utilisent curl pour illustrer l'utilisation de l'API. Vous pouvez générer des jetons d'accès avec gcloud auth print-access-token. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Encodez en base64 les données du secret et enregistrez-les comme variable d'interface système.
$ SECRET_DATA=$(echo "seCr3t" | base64)
Appelez l'API à l'aide de curl.
$ 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}\"}}"
États des versions des secrets
Une version de secret peut se trouver dans l'un des états suivants à tout moment :
Activé : dans cet état, la version du secret est accessible et descriptible. Il s'agit de l'état par défaut d'une nouvelle version de secret.
Désactivé : dans cet état, la version du secret n'est pas accessible, mais le contenu du secret existe toujours. Vous pouvez réactiver la version du secret afin de restaurer l'accès.
Détruit : dans cet état, le contenu de la version du secret est supprimé. L'état de la version du secret ne peut être modifié.
Étape suivante
- Découvrez comment accéder à la version d'un secret.
- Découvrez comment attribuer un alias à une version de secret.
- Découvrez comment lister les versions de secret et afficher les détails de la version.