Cette page explique comment détruire une version de secret. Dans l'état détruit, le contenu de la version du secret est supprimé. La destruction d'une version de secret est une action irréversible. Une fois une version détruite, vous ne pouvez plus accéder aux données secrètes ni restaurer la version dans un autre état.
Avant de détruire une version de secret, essayez de la désactiver et d'observer le comportement de votre application. Vous pouvez réactiver la version du secret si vous rencontrez des problèmes inattendus.
Lorsque vous désactivez ou détruisez une version de secret ou un secret, la modification prend du temps à se propager dans le système. Si nécessaire, vous pouvez révoquer l'accès au secret. Les modifications apportées aux autorisations IAM sont cohérentes en quelques secondes.
Rôles requis
Pour obtenir les autorisations nécessaires pour détruire une version de secret, demandez à votre administrateur de vous accorder le rôle IAM Gestionnaire de versions de secret Secret Manager (roles/secretmanager.secretVersionManager
) 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.
Détruire la version d'un secret
Pour détruire une version de secret, utilisez l'une des méthodes suivantes:
Console
-
Accédez à la page Secret Manager dans la console Google Cloud.
-
Sur la page Secret Manager, cliquez sur l'onglet Secrets régionaux, puis sur un secret pour accéder à ses versions.
-
Sur la page d'informations détaillées sur le secret, dans l'onglet Versions, sélectionnez la version du secret que vous souhaitez détruire.
-
Cliquez sur
Actions, puis sur Supprimer. -
Dans la boîte de dialogue de confirmation qui s'affiche, saisissez l'ID du secret pour confirmer, puis cliquez sur Détruire les versions sélectionnées.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- VERSION_ID: nom de la ressource de la version du secret
- SECRET_ID: ID du secret ou identifiant complet du secret
- LOCATION: emplacement Google Cloud du secret
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (PowerShell)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
Windows (cmd.exe)
gcloud secrets versions destroy VERSION_ID --secret=SECRET_ID --location=LOCATION
REST
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
- VERSION_ID: ID de la version du secret
Méthode HTTP et URL :
POST https://secretmanager.LOCATION.rep.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID:destroy
Corps JSON de la requête :
{}
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/versions/VERSION_ID:destroy"
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/versions/VERSION_ID:destroy" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID/locations/LOCATION/secrets/SECRET_ID/versions/VERSION_ID", "createTime": "2024-09-02T07:16:34.566706Z", "destroyTime": "2024-09-04T06:29:01.893743728Z", "state": "DESTROYED", "etag": "\"1621454a37ce7f\"" }
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.
Destruction différée des versions de secret
Les utilisateurs disposant du rôle Administrateur Secret Manager peuvent configurer la destruction différée des versions de secret en configurant la fonctionnalité Delay secret version destruction (Retarder la destruction des versions de secret) sur le secret. Si cette fonctionnalité est activée, la version du secret n'est pas immédiatement détruite sur demande. La version du secret est désactivée et programmée pour destruction à une date ultérieure. Pendant ce délai, l'administrateur Secret Manager peut restaurer la version du secret.
Étape suivante
- Retarder la destruction des versions de secret régionales
- Attribuer un alias à une version de secret régionale