Cette page explique comment gérer l'accès à un secret régional, y compris à son contenu. Pour en savoir plus sur le contrôle des accès et les autorisations, consultez Contrôle des accès avec IAM.
Rôles requis
Pour obtenir les autorisations nécessaires pour gérer l'accès aux secrets, demandez à votre administrateur de vous accorder le rôle IAM Administrateur du Gestionnaire de secrets (roles/secretmanager.admin
) sur le secret, le projet, le dossier ou l'organisation.
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.
Accorder l'accès
Pour accorder l'accès à un secret, utilisez l'une des méthodes suivantes:
Console
-
Accédez à la page Secret Manager dans la console Google Cloud.
-
Accédez à l'onglet Secrets régionaux. Pour sélectionner un secret, cochez la case située à côté de son nom.
-
S'il n'est pas déjà ouvert, cliquez sur Afficher le panneau d'informations pour ouvrir celui-ci.
-
Dans le panneau d'informations, cliquez sur Ajouter un compte principal.
-
Dans le champ Nouveaux comptes principaux, saisissez la ou les adresses e-mail des membres à ajouter.
-
Dans la liste Sélectionner un rôle, sélectionnez Gestionnaire de secrets, puis Accesseur de secrets du gestionnaire de secrets.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- SECRET_ID: ID du secret ou identifiant complet du secret
- LOCATION: emplacement Google Cloud du secret
- MEMBER: membre IAM, tel qu'un utilisateur, un groupe ou un compte de service
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
ggcloud secrets add-iam-policy-binding SECRET_ID --location=LOCATION ^ --member="MEMBER" ^ --role="roles/secretmanager.secretAccessor"
REST
Remarque : Contrairement aux autres exemples, ceci remplace l'ensemble de la stratégie IAM.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION: emplacement Google Cloud du secret
- PROJECT_ID: projet Google Cloud contenant le secret
- SECRET_ID: ID du secret ou identifiant complet du secret
- MEMBER: membre IAM, tel qu'un utilisateur, un groupe ou un compte de service
Méthode HTTP et URL :
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy
Corps JSON de la requête :
{"policy": {"bindings": [{"members": ["MEMBER"], "role": "roles/secretmanager.secretAccessor"}]}}
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "version": 1, "etag": "BwYhOrAmWFQ=", "bindings": [ { "role": "roles/secretmanager.secretAccessor", "members": [ "user:username@google.com" ] } ] }
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.
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.
Révoquer l'accès
Pour révoquer l'accès à un secret, utilisez l'une des méthodes suivantes:
Console
-
Accédez à la page Secret Manager dans la console Google Cloud.
-
Accédez à l'onglet Secrets régionaux. Pour sélectionner un secret, cochez la case située à côté de son nom.
-
S'il n'est pas déjà ouvert, cliquez sur Afficher le panneau d'informations pour ouvrir celui-ci.
-
Dans le panneau d'informations, cliquez sur la flèche d'expansion à côté du rôle utilisateur pour afficher la liste des utilisateurs ou des comptes de service ayant accès à ce rôle.
-
Pour supprimer l'utilisateur ou le compte de service, cliquez sur
Supprimer à côté du compte de service ou de l'ID utilisateur. -
Dans la boîte de dialogue de confirmation qui s'affiche, cliquez sur Supprimer.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- SECRET_ID: ID du secret ou identifiant complet du secret
- LOCATION: emplacement Google Cloud du secret
- MEMBER: membre IAM, tel qu'un utilisateur, un groupe ou un compte de service
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud secrets remove-iam-policy-binding SECRET_ID --location=LOCATION \ --member="MEMBER" \ --role="roles/secretmanager.secretAccessor"
Windows (PowerShell)
gcloud secrets remove-iam-policy-binding SECRET_ID --location=LOCATION ` --member="MEMBER" ` --role="roles/secretmanager.secretAccessor"
Windows (cmd.exe)
gcloud secrets remove-iam-policy-binding SECRET_ID --location=LOCATION ^ --member="MEMBER" ^ --role="roles/secretmanager.secretAccessor"
REST
Remarque : Contrairement aux autres exemples, ceci remplace l'ensemble de la stratégie IAM.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION: emplacement Google Cloud du secret
- PROJECT_ID : ID de projet Google Cloud
- SECRET_ID: ID du secret ou identifiant complet du secret
Méthode HTTP et URL :
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy
Corps JSON de la requête :
{"policy": {"bindings": []}}
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy"
PowerShell
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID:setIamPolicy" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "version": 1, "etag": "BwYhOtzsOBk=" }
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.
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.
Étape suivante
- Définir la date d'expiration d'un secret régional
- Créer des calendriers de rotation
- Configurer des notifications sur un secret régional