Gérer les buckets de journaux à l'aide de tags

Ce document explique comment utiliser des tags pour gérer vos buckets de journaux Cloud Logging. Les tags, qui sont créés au niveau de l'organisation ou du projet, vous permettent d'annoter vos ressources. Vous pouvez également attribuer des rôles IAM (Identity and Access Management) de manière conditionnelle ou refuser l'autorisation IAM de manière conditionnelle selon qu'une ressource est associée à un tag spécifique ou non. Pour en savoir plus sur les tags, consultez la page Présentation des tags.

Par exemple, si vous utilisez BigQuery pour analyser vos données Cloud Billing, vous pouvez associer la balise project:production aux buckets de journaux qui stockent des données de journal provenant de ressources de production, et la balise project:development aux buckets de journaux qui stockent des données de journal provenant de ressources de développement. Vous pouvez ensuite interroger les données Cloud Billing avec des balises et consulter la répartition de vos coûts entre le développement et la production.

Les tags peuvent être explicitement associés à des buckets de journaux ou hérités de leur organisation parente, de leurs dossiers et de leurs projets.

Avant de commencer

Pour commencer à gérer vos buckets de journaux à l'aide de tags, procédez comme suit:

  1. Assurez-vous d'avoir créé un tag et configuré ses valeurs. Vous devez utiliser Resource Manager pour gérer les définitions de tags. Pour savoir comment créer et gérer des tags, consultez la page Créer et gérer des tags.
  2. Pour obtenir les autorisations nécessaires pour gérer vos buckets de journaux à l'aide de tags, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet ou l'organisation:

    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.

    Ces rôles prédéfinis contiennent les autorisations requises pour gérer vos buckets de journaux à l'aide de balises. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

    Autorisations requises

    Vous devez disposer des autorisations suivantes pour gérer vos buckets de journaux à l'aide de tags:

    • Ajoutez ou supprimez des tags dans des buckets de journaux :
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • resourcemanager.projects.get
      • logging.buckets.createTagbinding
      • logging.buckets.deleteTagBinding
    • Afficher les tags associés aux buckets de journaux :
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • logging.buckets.listTagBindings
      • logging.buckets.listEffectiveTags

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

  3. Pour obtenir l'autorisation dont vous avez besoin pour gérer des buckets de journaux, demandez à votre administrateur de vous accorder le rôle IAM Rédacteur de configuration des journaux (roles/logging.configWriter) sur votre projet. 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.

    Ce rôle prédéfini contient l'autorisation logging.buckets.list, qui est nécessaire pour gérer les buckets de journaux.

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

Associer des tags à un bucket de journaux

Pour associer un tag à un bucket de journaux, procédez comme suit:

Console Google Cloud

  1. Dans la console Google Cloud, accédez à la page Stockage des journaux.

    Accéder à la page Stockage des journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Recherchez le bucket de journaux auquel vous souhaitez associer un tag.

  3. Sur le bucket de journaux, cliquez sur Plus, puis sur Modifier les tags.

  4. Dans la boîte de dialogue, dans la section Tags directs, recherchez le tag en sélectionnant la ressource dans laquelle il a été créé. Par exemple, pour utiliser une balise créée au niveau du projet, sélectionnez Sélectionner le projet en cours comme champ d'application.

    Vous pouvez également rechercher manuellement l'ID du projet, de l'organisation ou de la balise en sélectionnant l'option Saisie manuelle.

  5. Sélectionnez la paire clé-valeur appropriée, puis cliquez sur Enregistrer.

  6. Une boîte de dialogue confirmant vos modifications s'affiche. Cliquez sur Confirmer pour finaliser les modifications.

gcloud

Pour associer un tag à un bucket de journaux, créez une liaison de tag en exécutant la commande gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

Dans la commande précédente, effectuez les remplacements suivants:

  • TAG_VALUE_ID: ID permanent ou nom de l'espace de noms de la valeur de tag. Exemple :tagValues/4567890123 Pour en savoir plus sur les identifiants de tag, consultez la section Définitions et identifiants de tags.

  • BUCKET_NAME: nom du bucket de journaux. Exemple : logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: emplacement du bucket de journaux.

API

Pour associer un tag à un bucket de journaux, utilisez la méthode tagBindings.create.

Afficher les tags associés à un bucket de journaux

Pour afficher les tags associés à un bucket de journaux, procédez comme suit:

Console Google Cloud

  1. Dans la console Google Cloud, accédez à la page Stockage des journaux.

    Accéder à la page Stockage des journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Recherchez le bucket de journaux dont vous souhaitez afficher les tags.

    Dans la colonne Tags (Tags), une balise associée au bucket de journaux est listée. Pour afficher toutes les balises associées au bucket de journaux, cliquez sur le bouton Plus pour développer la liste des balises.

gcloud

Exécutez la commande gcloud resource-manager tags bindings list :

gcloud resource-manager tags bindings list \
--parent=BUCKET_NAME \
--location=LOCATION

Dans la commande précédente, effectuez les remplacements suivants:

  • TAG_VALUE_ID: ID permanent ou nom de l'espace de noms de la valeur de tag. Exemple :tagValues/4567890123 Pour en savoir plus sur les identifiants de tag, consultez la section Définitions et identifiants de tags.

  • BUCKET_NAME: nom du bucket de journaux. Exemple : logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: emplacement du bucket de journaux.

Facultatif: Pour afficher les tags hérités du bucket de journaux, ajoutez l'option --effective. Cette option renvoie une réponse semblable à la suivante:

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

Si toutes les balises sont explicitement associées au bucket de journaux et qu'aucune balise n'est héritée, le champ inherited est défini sur "false" et est omis.

API

Pour obtenir la liste des liaisons de tags pour un bucket, utilisez la méthode tagBindings.list.

Supprimer des tags d'un bucket de journaux

Pour supprimer les balises associées à un bucket de journaux, vous devez supprimer la liaison de balise associée au bucket de journaux. Pour supprimer un tag, vous devez le supprimer de toutes les ressources associées.

Console Google Cloud

  1. Dans la console Google Cloud, accédez à la page Stockage des journaux.

    Accéder à la page Stockage des journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Recherchez le bucket de journaux dont vous souhaitez supprimer la balise.

  3. Sur le bucket de journaux, cliquez sur Plus, puis sur Modifier les tags.

  4. Dans la boîte de dialogue, maintenez le pointeur sur la balise à supprimer, puis cliquez sur Supprimer l'élément. Cliquez sur Enregistrer pour enregistrer les modifications.

  5. Une boîte de dialogue confirmant vos modifications s'affiche. Cliquez sur Confirmer pour finaliser les modifications.

gcloud

Exécutez la commande gcloud resource-manager tags bindings delete :

gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

Dans la commande précédente, effectuez les remplacements suivants:

  • TAG_VALUE_ID: ID permanent ou nom de l'espace de noms de la valeur de tag. Exemple :tagValues/4567890123 Pour en savoir plus sur les identifiants de tag, consultez la section Définitions et identifiants de tags.

  • BUCKET_NAME: nom du bucket de journaux. Exemple : logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID.

  • LOCATION: emplacement du bucket de journaux.

API

Pour supprimer une balise d'un bucket de journaux, utilisez la méthode tagBindings.delete.

Limites

  • Vous ne pouvez pas utiliser les autorisations de rôle IAM pour contrôler les buckets de journaux qu'un compte principal voit lorsqu'il les liste dans un projet Google Cloud. Un administrateur verra une liste complète ou une liste vide. Toutefois, vous pouvez utiliser des attributions de rôles IAM avec des conditions IAM pour limiter les actions qu'un principal peut effectuer sur un bucket de journaux. Par exemple, vous pouvez limiter la possibilité pour un principal de supprimer un bucket de journaux spécifique.

  • Si vous utilisez des exportations de données Cloud Billing avec BigQuery, l'utilisation des balises dans l'exportation peut prendre jusqu'à une heure. Si une balise a été ajoutée ou supprimée il y a une heure, ou si le bucket de journaux existe depuis moins d'une heure, il est possible qu'il n'apparaisse pas dans l'exportation.

Rôles personnalisés et attributions de rôles avec conditions IAM

Si vous prévoyez d'utiliser des rôles IAM personnalisés et d'associer des conditions IAM aux attributions de rôles, vous devrez peut-être créer plusieurs rôles personnalisés. Certaines autorisations IAM sont invalidées lorsqu'une condition IAM est associée à une attribution de rôle.

Pour Cloud Logging, les autorisations IAM suivantes sont invalidées lorsqu'une attribution de rôle contient une condition IAM:

  • logging.buckets.list
  • logging.buckets.create

Vous devrez donc peut-être créer un rôle avec les autorisations list et create, et un autre rôle contenant d'autres autorisations spécifiques au bucket. Par exemple, vous pouvez créer un rôle contenant les autorisations logging.buckets.delete et logging.buckets.update.

Lorsque vous attribuez le rôle contenant les autorisations list et create, n'associez pas de condition IAM à l'attribution du rôle. Lorsque vous accordez le rôle contenant les autorisations delete et update, vous pouvez ajouter une condition IAM qui limite l'octroi aux ressources associées à un tag spécifique.

Étape suivante