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 des autorisations 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 le tag project:production
aux buckets de journaux qui stockent les données de journaux des ressources de production, et le tag project:development
aux buckets de journaux qui stockent les données de journaux des ressources de développement. Vous pouvez ensuite interroger les données Cloud Billing avec des tags et afficher une répartition de vos coûts entre le développement et la production.
Les tags peuvent être associés explicitement à des buckets de journaux ou hérités de leur organisation, de leurs dossiers et de leurs projets parents.
Avant de commencer
Pour commencer à gérer vos buckets de journaux à l'aide de tags, procédez comme suit :
- 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 Créer et gérer des tags.
-
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 :
-
Utilisateur de tags (
roles/resourcemanager.tagUser
) -
Lecteur de tags (
roles/resourcemanager.tagViewer
)
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 gérer vos buckets de journaux à l'aide de tags. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour gérer vos buckets de journaux à l'aide de tags :
-
Ajoutez ou supprimez des tags dans les buckets de journaux :
-
resourcemanager.tagValues.{get,list}
-
resourcemanager.tagKeys.{get,list}
-
resourcemanager.projects.get
-
logging.buckets.createTagbinding
-
logging.buckets.deleteTagBinding
-
-
Affichez 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.
-
Utilisateur de tags (
-
Pour obtenir l'autorisation nécessaire pour gérer les 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
-
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.
Localisez le bucket de journaux auquel associer un tag.
Sur le bucket de journaux, cliquez sur Plusmore_vert, puis sur Modifier les tags.
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 un tag créé au niveau du projet, sélectionnez Sélectionner le projet actuel comme champ d'application.
Vous pouvez également rechercher manuellement l'ID du projet, de l'organisation ou du tag en sélectionnant l'option Saisie manuelle.
Sélectionnez la paire clé-valeur appropriée, puis cliquez sur Enregistrer.
Une boîte de dialogue de confirmation s'affiche. Cliquez sur Confirmer pour finaliser vos 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 ci-dessus, remplacez les éléments 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 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
-
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.
Recherchez le bucket de journaux dont vous souhaitez afficher les tags.
Dans la colonne Tags, un tag associé au bucket de journaux est listé. Pour afficher tous les tags associés au bucket de journaux, cliquez sur le bouton arrow_drop_down Plus pour développer la liste des tags.
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 ci-dessus, remplacez les éléments suivants :
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 par le bucket de journaux, ajoutez l'option --effective
. L'ajout de 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 tous les tags sont explicitement associés au bucket de journaux et qu'aucun tag n'est hérité, le champ inherited
est défini sur "false" et est omis.
API
Pour obtenir la liste des liaisons de tags d'un bucket, utilisez la méthode tagBindings.list
.
Supprimer des tags sur un bucket de journaux
Pour supprimer les tags associés à un bucket de journaux, vous devez supprimer la liaison de tag associée au bucket de journaux. Pour supprimer un tag, vous devez le retirer de toutes les ressources associées.
Console Google Cloud
-
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.
Localisez le bucket de journaux dont vous souhaitez supprimer le tag.
Sur le bucket de journaux, cliquez sur Plusmore_vert, puis sur Modifier les tags.
Dans la boîte de dialogue, pointez sur le tag à supprimer, puis cliquez sur
Supprimer l'élément. Cliquez sur Enregistrer pour enregistrer les modifications.Une boîte de dialogue de confirmation s'affiche. Cliquez sur Confirmer pour finaliser vos 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 ci-dessus, remplacez les éléments 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 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 un tag d'un bucket de journaux, utilisez la méthode tagBindings.delete
.
Limites
Vous ne pouvez pas utiliser les attributions de rôles IAM pour contrôler les buckets de journaux qu'un compte principal voit lorsqu'il liste les buckets de journaux dans un projet Google Cloud . Un responsable verra une liste complète ou une liste vide. Toutefois, vous pouvez utiliser des attributions de rôle IAM avec des conditions IAM pour limiter les actions qu'un compte principal peut effectuer sur un bucket de journaux. Par exemple, vous pouvez limiter la possibilité pour un compte principal de supprimer un bucket de journaux spécifique.
Si vous utilisez les exportations de données Cloud Billing avec BigQuery, les tags peuvent mettre jusqu'à une heure à être utilisés dans l'exportation. Si un tag a été ajouté ou supprimé 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 des 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
Par conséquent, vous devrez peut-être créer un rôle avec les autorisations list
et create
, et un autre rôle contenant d'autres autorisations spécifiques aux buckets.
Par exemple, vous pouvez créer un rôle qui contient 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'attribution aux ressources portant un tag spécifique.
Étapes suivantes
Découvrez comment définir une règle d'administration avec des tags.
Pour en savoir plus sur les tags d'utilisation dans les exportations de données Cloud Billing, consultez la documentation sur les exportations de données Cloud Billing.