Gérer les tags pour les ressources

Ce guide explique comment créer et gérer des tags pour les ressources Compute Engine. Un tag est une paire clé-valeur pouvant être associée à une ressourceTrusted Cloud by S3NS . Les tags sont utilisés à plusieurs fins, y compris les tâches suivantes :

  • Autoriser ou refuser des règles de manière conditionnelle selon qu'une ressource possède un tag spécifique ou non.
  • Définissez les sources et les cibles dans les stratégies de pare-feu de réseau mondial et les stratégies de pare-feu réseau régionales.
  • Organiser les ressources de manière logique.

Après avoir créé un tag et accordé un accès approprié à la fois au tag et à la ressource, vous pouvez associer le tag en tant que paire clé/valeur. Vous pouvez associer exactement une valeur à une ressource pour une clé donnée. Par exemple, si vous associez le tag environment: development, vous ne pouvez pas associer les tags environment: production ou environment: test. Chaque ressource peut être associée à un maximum de 50 paires clé/valeur.

Pour associer des tags à des ressources, vous devez créer une ressource de liaison de tag qui associe la valeur de tag à la ressource Trusted Cloud . Pour en savoir plus sur les tags et leur fonctionnement, consultez la présentation des tags.

Avant de commencer

  • Consultez la présentation des tags dans la documentation Resource Manager.
  • Consultez la section Créer et gérer des tags dans la documentation Resource Manager.
  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Trusted Cloud by S3NS . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Installez la Google Cloud CLI, puis connectez-vous-y avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

      gcloud init
    2. Set a default region and zone.

    REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI, puis connectez-vous-y avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

      gcloud init

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Trusted Cloud .

Rôles requis

Pour obtenir les autorisations nécessaires pour créer et gérer des tags pour les ressources Compute Engine, demandez à votre administrateur de vous accorder les rôles IAM suivants dans votre organisation ou votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour créer et gérer des tags pour les ressources Compute Engine. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Vous devez disposer des autorisations suivantes pour créer et gérer des tags pour les ressources Compute Engine :

  • Afficher les tags :
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.tagValues.list
    • resourcemanager.tagValues.get
    • compute.instances.listTagBindings
    • compute.instances.listEffectiveTags
    • resourcemanager.projects.get
  • Créez des tags :
    • resourcemanager.tagKeys.create
    • resourcemanager.tagValues.create
    • resourcemanager.tagKeys.setIamPolicy
    • resourcemanager.tagValues.setIamPolicy
  • Gérer les tags :
    • resourcemanager.tagKeys.update
    • resourcemanager.tagValues.update
    • resourcemanager.tagKeys.delete
    • resourcemanager.tagValues.delete
    • resourcemanager.tagKeys.getIamPolicy
    • resourcemanager.tagValues.getIamPolicy
    • resourcemanager.tagKeys.setIamPolicy
    • resourcemanager.tagValues.setIamPolicy
  • Ajoutez ou supprimez des tags pour une instance de calcul :
    • compute.instances.createTagBinding
    • compute.instances.deleteTagBinding
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Ressources compatibles

Compute Engine est compatible avec le taggage pour les ressources suivantes :

  • Uniquement après la création de la ressource :

    • Groupes d'instances gérés (MIG)
    • Images
    • Instantanés
    • La plupart des ressources réseau telles que les ressources réseau, sous-réseau, pare-feu et vérification de l'état.
  • Pendant et après la création de ressources : instances et disques de machines virtuelles (VM)

Ajouter des tags à une ressource

Vous pouvez associer des tags existants à certaines ressources. Une fois la ressource créée, associez-y des tags en suivant les instructions ci-dessous.

Console

Selon le type de ressource, les étapes exactes peuvent varier. Par exemple, les étapes suivantes permettent d'associer un tag à une VM :

  1. Dans la console Trusted Cloud , accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Dans la colonne Nom, cliquez sur le nom de la VM à laquelle vous souhaitez ajouter des tags.

  4. Sur la page des détails de l'instance de VM, procédez comme suit :

    1. Cliquez sur Modifier.
    2. Dans la section Informations de base, cliquez sur Gérer les tags et ajoutez les tags souhaités pour l'instance.
    3. Cliquez sur Enregistrer.

gcloud

Pour savoir comment utiliser ces indicateurs, consultez la section Associer des tags aux ressources dans la documentation Resource Manager.

Par exemple, la commande suivante associe un tag à une VM :

gcloud resource-manager tags bindings create \
    --location LOCATION_NAME \
    --tag-value=tagValues/TAGVALUE_ID \
    --parent=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Remplacez les éléments suivants :

  • LOCATION_NAME : région contenant la ressource cible (dans cet exemple, la région de l'instance de VM)
  • TAGVALUE_ID : ID numérique de la valeur de tag
  • PROJECT_NUMBER : ID numérique du projet contenant la ressource cible.
  • ZONE : zone contenant la ressource cible (dans cet exemple, la zone de l'instance de VM)
  • VM_ID : ID de l'instance de VM

REST

Pour associer un tag à une ressource, vous devez d'abord créer une représentation JSON d'une liaison de tag incluant l'ID permanent ou le nom de l'espace de noms de la valeur de tag et l'ID permanent de la ressource. Pour en savoir plus sur le format d'une liaison de tag, consultez la documentation de référence sur les liaisons de tag.

Pour associer le tag à une ressource zonale, telle qu'une instance de VM, utilisez la méthode tagBindings.create avec le point de terminaison régional où se trouve votre ressource. Exemple :

POST https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings

Le corps de la requête peut être l'une des deux options suivantes :

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValue": "tagValue/TAGVALUE_ID"
}
{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}

Remplacez les éléments suivants :

  • LOCATION_NAME : région contenant la ressource cible (dans cet exemple, la région de l'instance de VM)
  • PROJECT_NUMBER : ID numérique du projet contenant la ressource cible.
  • ZONE : zone contenant la ressource cible (dans cet exemple, la zone de l'instance de VM)
  • VM_ID : ID de l'instance de VM
  • TAGVALUE_ID : ID permanent de la valeur de tag associée (par exemple, 4567890123)
  • TAGVALUE_NAMESPACED_NAME : nom de l'espace de noms de la valeur de tag associée, au format suivant : parentNamespace/tagKeyShortName/tagValueShortName

Ajouter des tags à une ressource lors de la création de la ressource

Dans certains scénarios, vous pouvez ajouter des tags aux ressources lors de leur création plutôt qu'après leur création.

Console

Selon le type de ressource, les étapes exactes peuvent varier. Les étapes suivantes concernent une VM :

  1. Dans la console Trusted Cloud , accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Cliquez sur Créer une instance. La page Créer une instance s'affiche et le volet Configuration de la machine s'ouvre.

  4. Dans le menu de navigation, cliquez sur Avancé. Dans le volet Avancé qui s'affiche, procédez comme suit :

    1. Développez la section Gérer les tags et les libellés.
    2. Cliquez sur Ajouter des tags.
    3. Dans le volet Tags qui s'ouvre, suivez les instructions pour ajouter un tag à l'instance.
    4. Cliquez sur Enregistrer.
  5. Spécifiez d'autres options de configuration pour votre instance. Pour en savoir plus, consultez Options de configuration lors de la création d'une instance.

  6. Pour créer et démarrer la VM, cliquez sur Créer.

gcloud

Pour associer un tag à une ressource lors de la création de la ressource, ajoutez l'option --resource-manager-tags avec la commande create correspondante. Par exemple, pour associer un tag à une VM, utilisez la commande suivante :

  gcloud compute instances create INSTANCE_NAME \
      --zone=ZONE \
      --resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_ID

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de votre instance de VM
  • ZONE : zone contenant l'instance de VM
  • TAGKEY_ID : ID numérique du numéro de clé de tag
  • TAGVALUE_ID : ID numérique permanent de la valeur de tag associée (par exemple, 4567890123)

Spécifiez plusieurs tags en les séparant par une virgule, par exemple, TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.

REST

Envoyez une requête POST à l'URL suivante :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances

Incluez le corps JSON de la requête suivante :

{
  "name": INSTANCE_NAME,
  "params": {
    "resourceManagerTags": {
      "tagKeys/TAGKEY_ID": "tagValues/TAGVALUE_ID",
    },
  }
  // other fields omitted
}

Remplacez les éléments suivants :

  • INSTANCE_NAME : nom de votre instance de VM
  • TAGKEY_ID : ID numérique du numéro de clé de tag
  • TAGVALUE_ID : ID numérique permanent de la valeur de tag associée (par exemple, 4567890123)

Utiliser des tags avec des règles de pare-feu

Pour activer le trafic réseau vers une instance Compute Engine spécifique de manière sécurisée, vous pouvez appliquer un tag réseau ou un tag sécurisé à l'instance. Vous pouvez ensuite créer une règle de pare-feu qui cible ce tag. Cela est utile pour gérer l'accès à vos instances à grande échelle.

Par exemple, supposons que vous disposiez d'une instance de calcul qui exécute un serveur Web et que vous ayez créé une application Web qui doit être accessible au public sur le port HTTP standard (80). Vous pouvez utiliser un tag réseau ou sécurisé pour implémenter une règle de pare-feu qui n'accorde l'accès HTTP qu'à l'instance de calcul sur laquelle le serveur Web s'exécute.

Pour savoir comment créer des tags à utiliser dans les règles de pare-feu, consultez les ressources suivantes :

  • Pour utiliser des tags réseau avec des règles de pare-feu VPC, consultez Ajouter des tags réseau.
  • Pour utiliser des tags sécurisés avec des stratégies de pare-feu hiérarchiques, des stratégies de pare-feu réseau mondiales et régionales, ou avec des sources connectées à l'aide de l'appairage de réseaux VPC, consultez Créer et gérer des tags sécurisés.

Pour savoir si vous devez utiliser des comptes de service ou des tags réseau pour définir des cibles et des sources pour les règles d'entrée réseau, consultez Filtrer par compte de service ou par tag réseau.

Dissocier un tag d'une ressource

Vous pouvez dissocier un tag d'une ressource en supprimant la ressource de liaison de tag.

Pour obtenir des instructions sur la dissociation de tags, consultez la section Dissocier un tag d'une ressource dans la documentation de Resource Manager.

Console

Selon le type de ressource, les étapes exactes peuvent être légèrement différentes. Par exemple, les étapes suivantes dissocient un tag d'une VM :

  1. Dans la console Trusted Cloud , accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Dans la colonne Nom, cliquez sur le nom de l'instance pour laquelle vous souhaitez supprimer des tags.

  4. Sur la page des détails de l'instance de VM, procédez comme suit :

    1. Cliquez sur Modifier.
    2. Pour les tags Resource Manager, dans la section Informations de base, cliquez sur Gérer les tags. Supprimez les tags que vous souhaitez pour l'instance. Vous ne pouvez supprimer que les tags qui ont été directement ajoutés à l'instance.
    3. Pour les tags réseau, dans la section Mise en réseau, supprimez le tag de la liste Tags réseau.
    4. Cliquez sur Enregistrer.

gcloud

Pour dissocier un tag d'une instance de calcul, utilisez la commande resource-manager tags bindings delete :

gcloud resource-manager tags bindings delete \
    --location LOCATION_NAME \
    --tag-value=tagValues/TAGVALUE_ID \
    --parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/INSTANCE_ID

Remplacez les éléments suivants :

  • LOCATION_NAME : zone de la ressource cible, par exemple us-central1-a
  • TAGVALUE_ID : ID numérique de la clé de tag
  • PROJECT_NUMBER : ID numérique du projet contenant la ressource cible.
  • ZONE : nom de la zone, tel que us-central1-a
  • INSTANCE_ID : ID numérique de l'instance de calcul

Pour mettre à jour ou remplacer une liaison de tag existante, dissociez l'ancienne liaison et associez la nouvelle.

REST

Pour supprimer une liaison de tag associée à une ressource, telle qu'une instance de calcul, utilisez la méthode tagBindings.delete avec le point de terminaison régional où se trouve votre ressource.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

Remplacez les éléments suivants :

  • LOCATION : point de terminaison régional de votre ressource (par exemple, us-central1)
  • TAGBINDINGS_NAME : ID permanent de TagBinding. Par exemple, tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456.

Afficher les tags associés à une ressource

Pour obtenir des instructions détaillées sur la manière de répertorier les tags, consultez la section Répertorier tous les tags associés à une ressource dans la documentation Resource Manager.

Console

Selon le type de ressource, les étapes exactes peuvent être légèrement différentes. Par exemple, les étapes suivantes montrent comment afficher les tags d'une VM :

  1. Dans la console Trusted Cloud , accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  2. Sélectionnez le projet et cliquez sur Continuer.

  3. Dans la colonne Nom, cliquez sur le nom de la VM pour laquelle vous souhaitez afficher les tags.

  4. Sur la page des détails de l'instance de VM, recherchez les tags dans la section Tags.

gcloud

Pour obtenir la liste des liaisons de tags directement associées à une ressource, exécutez la commande gcloud resource-manager tags bindings list. Si vous ajoutez l'option --effective, vous renverrez également une liste de tags hérités par cette ressource. Exemple :

gcloud resource-manager tags bindings list \
    --location=LOCATION_NAME \
    --parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Remplacez les éléments suivants :

  • LOCATION_NAME : zone de la ressource cible, par exemple us-central1-a
  • PROJECT_NUMBER : ID numérique du projet contenant la ressource cible.
  • ZONE : nom de la zone, tel que us-central1-a
  • VM_ID : ID numérique de l'instance de VM

Si vous ajoutez l'option --effective à la commande tags bindings list, vous obtiendrez également la liste de tous les tags hérités par cette ressource.

Le résultat ressemble à ce qui suit :

namespacedTagKey: 961309089256/environment
namespacedTagValue: 961309089256/environment/production
tagKey: tagKeys/417628178507
tagValue: tagValues/247197504380
inherited: true

Si tous les tags évalués sur une ressource sont directement associés, le champ inherited est "false" et est omis.

REST

Si vous souhaitez répertorier les liaisons de tags associées à une ressource régionale telle qu'une instance Compute Engine, utilisez la méthode tagBindings.list avec le point de terminaison régional où se trouve votre ressource. Exemple :

GET https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID"
}

Remplacez les éléments suivants :

  • LOCATION_NAME : région de la ressource cible, telle que us-central1
  • PROJECT_NUMBER : ID numérique du projet contenant la ressource cible.
  • ZONE : nom de la zone, tel que us-central1-a
  • VM_ID : ID numérique de l'instance de VM

Étapes suivantes