Utilisez des tags pour regrouper des dépôts et d'autres ressources sur Google Cloud pour la création de rapports, l'audit et le contrôle des accès au sein de votre organisation Google Cloud.
Pour regrouper des dépôts dans Artifact Registry à des fins d'automatisation et de facturation, utilisez des libellés. Les tags et les libellés fonctionnent indépendamment les uns des autres, et vous pouvez les appliquer au même dépôt. Pour en savoir plus sur les différences entre les tags et les étiquettes, consultez la section Tags et étiquettes.
Qu'est-ce qu'un tag ?
Les tags sont des paires clé/valeur que vous pouvez appliquer à vos ressources pour un contrôle d'accès précis.
Les administrateurs de projet créent des tags pour les ressources Google Cloud au niveau de l'organisation et les gèrent dans Resource Manager. Lorsque vous associez un tag à un dépôt Artifact Registry, vous pouvez l'utiliser avec des conditions IAM pour accorder un accès conditionnel au dépôt. Vous ne pouvez pas associer de tags à des artefacts individuels.
Gardez ces restrictions à l'esprit :
Les règles d'administration peuvent faire référence à des tags qui sont hérités du projet parent ou à un niveau supérieur de manière conditionnelle, mais elles ne sont pas compatibles avec les tags que vous associez directement aux dépôts.
Les journaux d'audit Cloud ne sont pas générés pour associer des tags et afficher les liaisons de tags sur les dépôts.
Pour en savoir plus sur les tags et le contrôle d'accès conditionnel avec les tags, consultez Tags et contrôle des accès.
Autorisations requises
Les autorisations dont vous avez besoin dépendent de l'action que vous devez effectuer.
Pour obtenir ces autorisations, demandez à votre administrateur d'attribuer le rôle suggéré au niveau approprié de la hiérarchie des ressources.
Afficher les tags
Pour afficher les définitions de tag et les tags associés aux ressources, vous devez disposer du rôle Lecteur de tags (roles/resourcemanager.tagViewer
) ou d'un autre rôle comprenant les autorisations suivantes :
Autorisations requises
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.tagValues.list
resourcemanager.tagValues.get
listTagBindings
pour le type de ressource approprié. Par exemple,compute.instances.listTagBindings
pour afficher les tags associés aux instances Compute Engine.listEffectiveTags
pour le type de ressource approprié.
Par exemple,
compute.instances.listEffectiveTags
pour afficher tous les tags associés aux instances Compute Engine ou dont celles-ci ont hérité.
Pour afficher les tags au niveau de l'organisation, vous devez disposer du rôle Lecteur d'organisation (roles/resourcemanager.organizationViewer
) sur la ressource Organisation.
Administrer les tags
Pour créer, mettre à jour et supprimer des définitions de tag, vous devez disposer du rôle Administrateur de tags (roles/resourcemanager.tagAdmin
) ou d'un autre rôle comprenant les autorisations suivantes :
Autorisations requises
resourcemanager.tagKeys.create
resourcemanager.tagKeys.update
resourcemanager.tagKeys.delete
resourcemanager.tagKeys.list
resourcemanager.tagKeys.get
resourcemanager.tagKeys.getIamPolicy
resourcemanager.tagKeys.setIamPolicy
resourcemanager.tagValues.create
resourcemanager.tagValues.update
resourcemanager.tagValues.delete
resourcemanager.tagValues.list
resourcemanager.tagValues.get
resourcemanager.tagValues.getIamPolicy
resourcemanager.tagValues.setIamPolicy
Pour administrer les tags au niveau de l'organisation, vous devez disposer du rôle Lecteur d'organisation (roles/resourcemanager.organizationViewer
) sur la ressource Organisation.
Gérer les tags sur les ressources
Pour ajouter et supprimer des tags associés à des ressources, vous devez disposer du rôle Utilisateur de tags (roles/resourcemanager.tagUser
) ou d'un autre rôle doté d'autorisations équivalentes sur la valeur de tag et sur la ressource à laquelle vous associez la valeur de tag. Le rôle Utilisateur de tags inclut les autorisations suivantes :
Autorisations requises
- Autorisations requises pour la ressource à laquelle vous associez la valeur de tag
- Autorisation
createTagBinding
spécifique à la ressource, telle quecompute.instances.createTagBinding
pour les instances Compute Engine - Autorisation
deleteTagBinding
spécifique à la ressource, telle quecompute.instances.deleteTagBinding
pour les instances Compute Engine - Autorisations requises pour la valeur du tag :
resourcemanager.tagValueBindings.create
resourcemanager.tagValueBindings.delete
- Autorisations vous permettant d'afficher les projets et les définitions de tags :
resourcemanager.tagValues.get
resourcemanager.tagValues.list
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.projects.get
Associer des tags aux dépôts
Une fois qu'un administrateur de projet a créé des tags, vous pouvez les associer à un dépôt. Chaque tag est associé à une clé et à une valeur. Pour ajouter des tags à un dépôt, vous devez l'associer à une valeur.
Pour associer un tag à un dépôt:
Console
Procurez-vous la valeur de tag à associer à votre administrateur.
Vous pouvez associer une valeur de balise à l'un de ces types d'identifiants:
- Un nom d'espace de noms, tel que
123456789012/env/dev
- Un ID permanent (
tagValues/567890123456
, par exemple)
- Un nom d'espace de noms, tel que
Ouvrez la page Dépôts de la console Google Cloud.
Sélectionnez le dépôt auquel vous souhaitez ajouter des tags.
Dans la section Détails du dépôt, cliquez sur Afficher plus.
Les tags existants du dépôt, y compris les tags hérités, s'affichent.
Cliquez sur l'icône Modifier les tags .
Dans la section Tags directs, cliquez sur Sélectionner un champ d'application.
Sélectionnez votre projet de dépôt.
Dans le champ key (clé), saisissez pour filtrer la liste des tags, puis sélectionnez la clé de tag.
Dans le champ Value (Valeur), saisissez pour filtrer la liste des tags, puis sélectionnez la valeur de la balise.
Cliquez sur Enregistrer.
Cliquez sur Confirm (Confirmer).
Le tag est associé à votre dépôt.
gcloud CLI
Procurez-vous la valeur de tag à associer à votre administrateur.
Vous pouvez associer une valeur de balise à l'un de ces types d'identifiants:
- Un nom d'espace de noms, tel que
123456789012/env/dev
- Un ID permanent (
tagValues/567890123456
, par exemple)
- Un nom d'espace de noms, tel que
Associez la valeur de tag à l'aide de la commande suivante:
gcloud alpha resource-manager tags bindings create \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Remplacez les valeurs suivantes :
TAG_VALUE
est l'ID permanent ou le nom d'espace de noms de la valeur de balise à associer.REPOSITORY_ID
est l'ID complet du dépôt, y compris le nom de domaine de l'API permettant d'identifier le type de ressource (//artifactregistry.googleapis.com/
). Par exemple ://artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo
LOCATION
est l'emplacement du dépôt.
Prenons l'exemple suivant :
- Valeur du tag:
815471563813/env/dev
- Projet :
my-project
- Dépôt:
my-repo
- Emplacement du dépôt :
us-east1
La commande gcloud CLI suivante associe le tag au dépôt:
gcloud alpha resource-manager tags bindings create \ --tag-value=815471563813/env/dev \ --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \ --location=us-east1
Lister les tags associés aux dépôts
Vous pouvez répertorier les tags associés à une ressource à laquelle vous êtes autorisé à accéder.
Console
Ouvrez la page Dépôts de la console Google Cloud.
Sélectionnez le dépôt que vous souhaitez afficher.
Dans la section Détails du dépôt, cliquez sur Afficher plus.
La liste Tags affiche tous les tags du dépôt, y compris les tags directs, et les tags hérités des niveaux supérieurs de la hiérarchie des ressources.
gcloud CLI
Pour répertorier les tags associés à un dépôt, exécutez la commande suivante:
gcloud alpha resource-manager tags bindings list \
--parent=REPOSITORY_ID \
--location=LOCATION
La commande ne répertorie que les tags directement associés à la ressource spécifiée. Elle ne renvoie donc pas les tags hérités du projet parent ou d'un projet supérieur. Vous pouvez répertorier les tags hérités du projet parent en spécifiant un projet au lieu d'un dépôt à l'aide de l'option --parent
.
Par exemple, cette commande répertorie les tags associés au dépôt my-repo
dans le projet my-project
et à l'emplacement us-east1
:
gcloud alpha resource-manager tags bindings list \
--parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \
--location=us-east1
Cette commande liste les tags associés au projet numéro 7890123456
:
gcloud alpha resource-manager tags bindings list \
--parent=//cloudresourcemanager.googleapis.com/projects/7890123456 \
Dissocier des tags des dépôts
Vous pouvez dissocier un tag directement associé à un dépôt. Si vous devez supprimer un tag hérité du projet parent ou d'une autre partie de la hiérarchie des ressources, un administrateur du projet doit le dissocier de la ressource à laquelle le tag est associé.
Pour supprimer un tag associé à un dépôt:
Console
Obtenez la valeur de balise que vous souhaitez supprimer. Si vous ne connaissez pas la valeur du tag, répertoriez les tags associés au dépôt.
Ouvrez la page Dépôts de la console Google Cloud.
Sélectionnez le dépôt.
Dans la section Détails du dépôt, cliquez sur Afficher plus.
Les tags existants du dépôt, y compris les tags hérités, s'affichent.
Cliquez sur l'icône Modifier les tags .
Dans la section Tags directs, recherchez le tag que vous souhaitez supprimer.
Cliquez sur l'icône Supprimer
à côté de la balise que vous souhaitez supprimer.Cliquez sur Enregistrer.
Cliquez sur Confirm (Confirmer).
Le tag est supprimé de votre dépôt.
gcloud CLI
Obtenez la valeur de balise que vous souhaitez supprimer. Si vous ne connaissez pas la valeur du tag, répertoriez les tags associés au dépôt.
Dissociez la valeur du tag à l'aide de la commande suivante:
gcloud alpha resource-manager tags bindings delete \ --tag-value=TAG_VALUE \ --parent=REPOSITORY_ID \ --location=LOCATION
Remplacez les valeurs suivantes :
Valeur de balise
TAG_VALUE
à dissocier.REPOSITORY_ID
est l'ID complet du dépôt, y compris le nom de domaine de l'API permettant d'identifier le type de ressource (//artifactregistry.googleapis.com/
). Par exemple ://artifactregistry.googleapis.com/projects/my-project/my-repo
LOCATION
est l'emplacement du dépôt.
Prenons l'exemple suivant :
- Valeur du tag:
815471563813/env/dev
- Projet :
my-project
- Dépôt:
my-repo
- Emplacement du dépôt :
us-east1
La commande gcloud CLI suivante dissocie le tag du dépôt:
gcloud alpha resource-manager tags bindings delete \ --tag-value=815471563813/env/dev \ --parent=//artifactregistry.googleapis.com/projects/my-project/locations/us-east1/repositories/my-repo \ --location=us-east1
Étapes suivantes
- En savoir plus sur les libellés de dépôt