Cette page décrit les tags Google Cloud et explique comment les utiliser avec Pub/Sub. Vous pouvez appliquer des tags aux sujets, aux abonnements et aux instantanés Pub/Sub. La prise en charge de l'application de tags aux schémas Pub/Sub est prévue.
À 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 sur les tags, consultez la page 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 sujets, des abonnements ou des instantanés Pub/Sub, vous devez disposer du rôle Éditeur Pub/Sub (roles/pubsub.editor).
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 créer des clés et des valeurs de tags, consultez les sections 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 sujets, des abonnements ou des instantanés. L'ajout de tags lors de la création de ressources vous permet de fournir instantanément des métadonnées essentielles pour vos ressources. Il vous aide également à mieux les organiser, à suivre les coûts et à appliquer des règles de manière automatisée.
Console
- Accédez à la page Pub/Sub dans la console Google Cloud .
- Sélectionnez l'option permettant de créer un sujet, un abonnement ou un instantané.
- 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. Choisissez d'ajouter des tags définis au niveau de votre organisation ou de votre projet, puis saisissez l'ID correspondant.
- Cliquez sur Ajouter un tag.
- Dans la liste, sélectionnez la clé du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des mots clés.
- Dans la liste, sélectionnez la valeur du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des mots clés.
- Cliquez sur Enregistrer. La section Tags est mise à jour avec les informations sur les tags.
- Créez votre sujet, votre abonnement ou votre instantané. Le nouveau sujet, abonnement ou instantané est créé avec les tags fournis.
gcloud
Pour ajouter des tags lors de la création d'un sujet, d'un abonnement ou d'un instantané, exécutez la commande suivante :
gcloud pubsub topics create TOPIC_ID --tags=TAG_KEY=TAG_VALUE
Remplacez les éléments suivants :
- TOPIC_ID : ID du sujet
- 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.
API
Envoyez une requête POST à l'URL suivante :
https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_IDFournissez le code JSON suivant dans le corps de la requête :
{
"name": "projects/PROJECT_ID/topics/TOPIC_ID"
"tags": {
"TAGKEY_NAME": "TAGVALUE_NAME"
}
}
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet
- TOPIC_ID : ID du sujet
- 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
Appliquer des tags obligatoires
Vous pouvez appliquer des tags obligatoires aux ressources pour vous assurer que des tags spécifiques sont présents lors de la création des ressources, comme un tag "Centre de coûts", afin de respecter les règles de l'organisation. Pour ce faire, vous pouvez utiliser des règles d'administration et des contraintes personnalisées. L'application se produit lors de la création de ressources, ce qui empêche le provisionnement de ressources sans les tags requis. Pour en savoir plus, consultez Appliquer des tags obligatoires à l'aide de règles d'administration.
Configurer une contrainte personnalisée pour appliquer des tags
Console
Dans la console Google Cloud , accédez à la page Règles d'administration.
Cliquez sur le sélecteur de projets en haut de la page.
Dans le sélecteur de projets, sélectionnez l'organisation dans laquelle vous souhaitez appliquer la contrainte personnalisée.
Configurez une contrainte personnalisée avec les paramètres suivants :
- Méthode d'application :
Govern tags - Type de ressource : nom complet de la ressource REST Google Cloudsur laquelle vous souhaitez appliquer des tags obligatoires, par exemple
file.googleapis.com/Instance. - Condition : condition CEL (Common Expression Language) spécifiant les clés de tag que vous souhaitez appliquer à la ressource, par exemple
resource.hasDirectTagKey("1234567890/owner")pour appliquer une liaison de tag à la clé de tag1234567890/owner. La fonction CELresource.hasDirectTagKeyne correspond qu'aux tags directement appliqués à une ressource et ne tient pas compte des tags hérités des ancêtres dans la hiérarchie des ressources. - Action :
AllowouDeny.- Autoriser : si la condition spécifiée est remplie, l'action de création ou de mise à jour de la ressource est autorisée.
- Refuser : si la condition spécifiée est remplie, l'action de création ou de mise à jour de la ressource est bloquée.
- Méthode d'application :
Cliquez sur Créer une contrainte.
gcloud
Créez un fichier YAML pour la contrainte personnalisée :
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- GOVERN_TAGS
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION
Remplacez les éléments suivants :
ORGANIZATION_ID: ID de votre organisation (par exemple,1234567890).CONSTRAINT_NAME: nom souhaité pour votre nouvelle contrainte personnalisée. Il doit commencer parcustom.et ne peut inclure que des lettres majuscules, minuscules ou des chiffres, par exemplecustom.enforceMandatoryTags.RESOURCE_NAME: nom complet de la ressource RESTGoogle Cloud sur laquelle vous souhaitez appliquer des tags obligatoires, par exemplefile.googleapis.com/Instance.CONDITION: condition CEL (Common Expression Language) spécifiant les clés de tag que vous souhaitez appliquer à la ressource, par exempleresource.hasDirectTagKey("1234567890/owner")pour appliquer une liaison de tag pour la clé de tag1234567890/owner.ACTION: action à effectuer si laconditionest remplie. Peut être défini surALLOWouDENY.L'action de refus signifie que si la condition spécifiée est remplie, l'opération de création ou de mise à jour de la ressource est bloquée.
L'action "Autoriser" signifie que si la condition spécifiée est remplie, l'opération de création ou de mise à jour de la ressource est autorisée. Cela signifie également que tous les autres cas, à l'exception de celui explicitement regroupé dans la condition, sont bloqués.
DISPLAY_NAME: nom convivial de la contrainte. Ce champ ne doit pas comporter plus de 200 caractères.DESCRIPTION: description conviviale de la contrainte, qui sera affichée dans un message d'erreur en cas de non-respect de la règle. Ce champ ne doit pas comporter plus de 2 000 caractères.
Configurez la contrainte personnalisée pour qu'elle soit disponible pour les règles d'administration'administration de votre organisation.
Une fois la contrainte personnalisée définie, vous pouvez tester et analyser les modifications apportées à la règle d'administration et appliquer la contrainte.
Ajouter des tags à des ressources existantes
Pour ajouter un tag à des thèmes, des abonnements ou des instantanés existants, procédez comme suit :
Console
- Accédez à la page Pub/Sub dans la console Google Cloud .
- Sélectionnez la page de la ressource à laquelle vous souhaitez associer un tag. Par exemple, pour associer un tag à un thème, accédez à la page Thèmes.
- 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.
- Dans la liste, sélectionnez la clé du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des mots clés.
- Dans la liste, sélectionnez la valeur du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des 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 sujet, un abonnement ou un instantané, vous devez créer une ressource de liaison de tag à l'aide de la commande gcloud resource-manager tags bindings create :
gcloud resource-manager tags bindings create \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
Remplacez les éléments 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 (//pubsub.googleapis.com/). Par exemple, pour associer un tag à/projects/PROJECT_ID/topics/TOPIC_ID, l'ID complet est//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Répertorier les tags associés aux ressources
Vous pouvez afficher une liste des liaisons de tags directement associées à la rubrique, à l'abonnement ou au snapshot, ou dont ceux-ci ont hérité.
Console
- Accédez à la page Pub/Sub dans la console Google Cloud .
Sélectionnez la page de la ressource pour laquelle vous souhaitez afficher les tags. Par exemple, pour afficher les tags d'un sujet, accédez à la page Sujets.
Les tags s'affichent dans la section Tags de la page du sujet dans la console.
gcloud
Pour obtenir la liste des liaisons de tags associées à une ressource, exécutez la commande gcloud resource-manager tags bindings list :
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID
Remplacez les éléments 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 (//pubsub.googleapis.com/). Par exemple, pour associer un tag à/projects/PROJECT_ID/topics/TOPIC_ID, l'ID complet est//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.
Vous devriez obtenir un résultat semblable à celui-ci :
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Dissocier les tags des ressources
Vous pouvez dissocier les tags qui ont été directement associés à un thème, un abonnement ou un instantané. 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 Pub/Sub dans la console Google Cloud .
- Sélectionnez la page de la ressource à laquelle vous souhaitez supprimer un tag. Par exemple, pour supprimer un tag d'un sujet, accédez à la page Sujets.
- 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 :
gcloud resource-manager tags bindings delete \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID
Remplacez les éléments 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 (//pubsub.googleapis.com/). Par exemple, pour associer un tag à/projects/PROJECT_ID/topics/TOPIC_ID, l'ID complet est//pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_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 thème, de l'abonnement ou du snapshot. 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 supprimer des clés et des valeurs de tags, consultez la section 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.