Cette section explique comment accéder à une version de 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 nécessaires pour accéder à une version de secret, demandez à votre administrateur de vous accorder le rôle IAM Accès aux secrets du Gestionnaire de secrets (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 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.
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 à Cloud SDK 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, puis accéder immédiatement à cette version par numéro de version est une opération à cohérence forte.
Les autres opérations effectuées 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 en savoir plus, consultez la page Propagation des modifications d'accès.
Étape suivante
- Découvrez comment attribuer un alias à une version de secret.
- Découvrez comment désactiver une version de secret.
- Découvrez comment détruire une version de secret.