Cet article explique comment accéder à la version d'un secret. L'accès à une version de secret renvoie le contenu du secret et des métadonnées supplémentaires sur cette version du secret. Lorsque vous accédez à une version de secret, vous spécifiez son version-id ou son alias, le cas échéant. Vous pouvez également accéder à la dernière version d'un secret en spécifiant "latest"
en guise de version.
Rôles requis
Pour obtenir les autorisations dont vous avez besoin
pour accéder à une version de secret,
demandez à votre administrateur de vous accorder le
Rôle IAM Accesseur de secrets Secret Manager (roles/secretmanager.secretAccessor
) sur un secret.
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.
Accéder à une version de secret
Console
-
Accédez à la page Secret Manager dans la console Google Cloud.
-
Sur la page Secret Manager, cliquez sur le nom d'un secret.
-
Sur la page Informations détaillées sur le secret de la table Versions, repérez la version du secret à laquelle vous souhaitez accéder.
-
Dans la colonne Actions, cliquez sur Afficher plus
. -
Cliquez sur Afficher la valeur du secret dans le menu.
-
Une boîte de dialogue indiquant la valeur de la version du secret s'affiche. Cliquez sur Terminé pour valider.
gcloud
Pour utiliser Secret Manager avec la ligne de commande, commencez par Installez la Google Cloud CLI ou passez à la version 378.0.0 ou ultérieure. Sur Compute Engine ou GKE, vous devez vous authentifier avec le champ d'application cloud-platform.
Accéder à la version d'un secret :
$ gcloud secrets versions access version-id --secret="secret-id"
Accéder à la version d'un secret binaire :
Pour écrire des octets bruts dans un fichier, utilisez l'option --out-file:
$ gcloud secrets versions access version-id --secret="secret-id" --out-file="path/to/secret"
Pour obtenir des octets bruts, indiquez au SDK Cloud d'afficher la réponse en base64 et de la décoder :
$ gcloud secrets versions access version-id --secret="secret-id" --format='get(payload.data)' | tr '_-' '/+' | base64 -d
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.
$ 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"
La réponse payload.data
est le contenu encodé en base64 de la version du secret. Voici un exemple d'extraction du secret à l'aide de l'outil jq
:
$ 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
Cohérence des ressources
Dans Secret Manager, ajouter une version de secret et y accéder immédiatement la version de secret par numéro de version est une opération fortement cohérente.
Les autres opérations dans Secret Manager sont cohérentes à terme. Les opérations cohérentes à terme convergent généralement en quelques minutes, mais peuvent demander quelques heures.
La propagation des autorisations IAM est cohérente à terme. Cela signifie que l'octroi ou la révocation de l'accès aux secrets peut ne pas prendre effet immédiatement. Pour plus pour en savoir plus, consultez Propagation des modifications des accès.
Étape suivante
- Découvrez comment attribuer un alias à la version d'un secret.
- Découvrez comment désactiver une version de secret.
- Découvrez comment détruire une version de secret.