Ce guide explique comment créer et gérer des tags sur les secrets Secret Manager. Vous pouvez utiliser des tags pour regrouper des secrets Secret Manager apparentés et stocker les métadonnées relatives à ces ressources en fonction de leurs tags.
À propos des tags
Un tag est une paire clé-valeur qui peut être associée à une ressource dansGoogle Cloud. Vous pouvez utiliser des tags pour autoriser ou refuser de manière conditionnelle les règles selon qu'une ressource dispose ou non d'un tag spécifique. Par exemple, vous pouvez attribuer des rôles IAM (Identity and Access Management) de manière conditionnelle selon qu'une ressource est associée à un tag spécifique. Pour en savoir plus, consultez Présentation des tags.
Les tags sont associés à des ressources en créant une ressource de liaison de tag qui associe la valeur à la ressource Google Cloud .
Autorisations requises
Pour obtenir les autorisations nécessaires pour gérer les tags, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Lecteur de tags (
roles/resourcemanager.tagViewer) sur les ressources auxquelles les tags sont associés -
Afficher et gérer les tags au niveau de l'organisation :
Lecteur de l'organisation (
roles/resourcemanager.organizationViewer) sur l'organisation -
Créer, mettre à jour et supprimer des définitions de tags :
Administrateur de tags (
roles/resourcemanager.tagAdmin) sur la ressource pour laquelle vous créez, mettez à jour ou supprimez des tags -
Associer et supprimer des tags de ressources :
Utilisateur de tags (
roles/resourcemanager.tagUser) sur la valeur de tag et les ressources auxquelles vous associez ou supprimez la valeur de tag
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.
Pour associer des tags à des secrets Secret Manager, vous devez disposer du rôle Administrateur Secret Manager (roles/secretmanager.admin).
Créer des clés et des valeurs de tags
Avant de pouvoir associer un tag, vous devez d'abord créer un tag et configurer sa valeur. Pour en savoir plus, consultez Créer un tag et Ajouter une valeur de tag.
Ajouter des tags lors de la création d'une ressource
Vous pouvez ajouter des tags lorsque vous créez des secrets. Cela vous permet de fournir des métadonnées essentielles pour vos ressources, et de mieux les organiser, de suivre les coûts et d'appliquer des règles de manière automatisée.
Console
- Accédez à la page Secret Manager dans la console Google Cloud .
- Sélectionnez l'option permettant de créer un secret.
- Cliquez sur Gérer les tags.
- Si votre organisation n'apparaît pas dans le panneau Gérer les tags, cliquez sur Sélectionner un niveau d'accès pour les tags, puis sélectionnez votre organisation ou votre projet.
- Cliquez sur Ajouter un tag.
- Sélectionnez la clé et la valeur du tag dans la liste. Vous pouvez filtrer la liste à l'aide de mots clés.
- Cliquez sur Enregistrer. La section Tags est mise à jour avec les informations sur les tags.
- Créez votre secret. Le nouveau secret est créé avec les tags fournis.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- SECRET_ID : identifiant unique du secret.
- TAG_KEY : ID permanent ou nom d'espace de noms de la clé de tag associée. Par exemple,
tagKeys/567890123456. - TAG_VALUE : ID permanent ou nom d'espace de noms de la valeur de tag associée. Par exemple,
tagValues/567890123456.
Spécifiez plusieurs tags en les séparant par une virgule, par exemple, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud secrets create SECRET_ID --tags=TAG_KEY=TAG_VALUE
Windows (PowerShell)
gcloud secrets create SECRET_ID --tags=TAG_KEY=TAG_VALUE
Windows (cmd.exe)
gcloud secrets create SECRET_ID --tags=TAG_KEY=TAG_VALUE
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants :
- PROJECT_ID : ID du projet
- SECRET_ID : identifiant unique du secret.
- TAGKEY_NAME : ID permanent ou nom d'espace de noms de la clé de tag associée. Par exemple,
tagKeys/567890123456. - TAGVALUE_NAME : ID permanent ou nom d'espace de noms de la valeur de tag associée. Par exemple,
tagValues/567890123456.
Méthode HTTP et URL :
POST https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID
Corps JSON de la requête :
{
"replication": {
"automatic": {}
},
"tags": {
"TAGKEY_NAME": "TAGVALUE_NAME"
}
}
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.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID"
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.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID" | Select-Object -Expand Content
Vous devriez recevoir un code d'état indiquant le succès de l'opération (2xx), ainsi qu'une réponse vide.
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.
Ajouter des tags à des ressources existantes
Pour ajouter un tag à des secrets existants, procédez comme suit :
Console
- Accédez à la page Secret Manager dans la console Google Cloud .
- Sélectionnez le secret auquel vous souhaitez associer un tag.
- Cliquez sur Tags.
- Si votre organisation n'apparaît pas dans le panneau Tags, cliquez sur Sélectionner un niveau d'accès. Sélectionnez votre organisation, puis cliquez sur Ouvrir.
- Cliquez sur Ajouter un tag.
- Sélectionnez la clé et la valeur du tag dans la liste. Vous pouvez filtrer la liste à l'aide de mots clés.
- Cliquez sur Enregistrer.
- Dans la boîte de dialogue Confirmer, cliquez sur Confirmer pour associer le tag.
Une notification confirme que vos tags ont été mis à jour.
gcloud
Pour associer un tag à un secret, vous devez créer une ressource de liaison de tag à l'aide de la commande gcloud resource-manager tags bindings create :
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
TAGVALUE_NAME: ID permanent ou nom d'espace de noms de la valeur de tag associée. Par exemple,tagValues/567890123456.RESOURCE_IDest l'ID complet de la ressource, avec le nom de domaine de l'API permettant de déterminer le type de ressource (//secretmanager.googleapis.com/). Par exemple, pour associer un tag à/projects/PROJECT_ID/secrets/SECRET_ID, l'ID complet est//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud resource-manager tags bindings create \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID
Windows (PowerShell)
gcloud resource-manager tags bindings create ` --tag-value=TAGVALUE_NAME ` --parent=RESOURCE_ID
Windows (cmd.exe)
gcloud resource-manager tags bindings create ^ --tag-value=TAGVALUE_NAME ^ --parent=RESOURCE_ID
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.
Répertorier les tags associés aux ressources
Vous pouvez afficher une liste de liaisons de tags directement associées au secret ou dont celui-ci a hérité.
Console
- Accédez à la page Secret Manager dans la console Google Cloud .
- Les tags sont affichés dans la colonne Tags du secret.
gcloud
Pour obtenir la liste des liaisons de tags associées à une ressource, exécutez la commande gcloud resource-manager tags bindings list :
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
RESOURCE_IDest l'ID complet de la ressource, avec le nom de domaine de l'API permettant de déterminer le type de ressource (//secretmanager.googleapis.com/). Par exemple, pour associer un tag à/projects/PROJECT_ID/secrets/SECRET_ID, l'ID complet est//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud resource-manager tags bindings list \ --parent=RESOURCE_ID
Windows (PowerShell)
gcloud resource-manager tags bindings list ` --parent=RESOURCE_ID
Windows (cmd.exe)
gcloud resource-manager tags bindings list ^ --parent=RESOURCE_ID
Vous devriez obtenir un résultat semblable à celui-ci :
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //secretmanager.googleapis.com/projects/project-abc/secrets/secret-xyz
Dissocier les tags des ressources
Vous pouvez dissocier les tags qui ont été directement associés à un secret. Les tags hérités peuvent être remplacés en associant un tag ayant la même clé et une valeur différente, mais ils ne peuvent pas être dissociés.
Console
- Accédez à la page Secret Manager dans la console Google Cloud .
- Sélectionnez le secret dont vous souhaitez supprimer un tag.
- Cliquez sur Tags.
- Dans le panneau Tags, à côté du tag que vous souhaitez dissocier, cliquez sur Supprimer l'élément.
- Cliquez sur Enregistrer.
- Dans la boîte de dialogue Confirmer, cliquez sur Confirmer pour dissocier le tag.
Une notification confirme que vos tags ont été mis à jour.
gcloud
Pour supprimer une liaison de tag, exécutez la commande gcloud resource-manager tags bindings delete :
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
TAGVALUE_NAME: ID permanent ou nom d'espace de noms de la valeur de tag associée. Par exemple,tagValues/567890123456.RESOURCE_IDest l'ID complet de la ressource, avec le nom de domaine de l'API permettant de déterminer le type de ressource (//secretmanager.googleapis.com/). Par exemple, pour associer un tag à/projects/PROJECT_ID/secrets/SECRET_ID, l'ID complet est//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud resource-manager tags bindings delete \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID
Windows (PowerShell)
gcloud resource-manager tags bindings delete ` --tag-value=TAGVALUE_NAME ` --parent=RESOURCE_ID
Windows (cmd.exe)
gcloud resource-manager tags bindings delete ^ --tag-value=TAGVALUE_NAME ^ --parent=RESOURCE_ID
Supprimer des clés et des valeurs de tags
Lorsque vous supprimez une clé ou une définition de valeur de tag, assurez-vous que le tag est dissocié du secret. Vous devez supprimer les rattachements de tag existants, appelés liaisons de tags, avant de supprimer la définition de tag elle-même. Pour en savoir plus, consultez Supprimer des tags.
Conditions et tags Identity and Access Management
Vous pouvez utiliser des tags et des conditions IAM pour attribuer des liaisons de rôles de manière conditionnelle aux utilisateurs dans votre hiérarchie. La modification ou la suppression du tag associé à une ressource peut supprimer l'accès des utilisateurs à cette ressource, si une stratégie IAM avec des liaisons de rôle conditionnelles a été appliquée. Pour en savoir plus, consultez la section Conditions et tags Identity and Access Management.
Étapes suivantes
- Consultez les autres services compatibles avec les tags.
- Consultez la section Tags et contrôle des accès pour apprendre à utiliser les tags avec IAM.