Ce document explique comment Cloud Logging achemine les entrées de journal reçues par Trusted Cloud by S3NS. Il existe plusieurs types de destinations de routage. Par exemple, vous pouvez acheminer les entrées de journal vers une destination telle qu'un bucket de journaux, qui stocke les entrées de journal. Si vous souhaitez exporter vos données de journal vers une destination tierce, vous pouvez acheminer les entrées de journal vers Pub/Sub. De plus, une entrée de journal peut être acheminée vers plusieurs destinations.
À propos des routeurs de journaux
Chaque Trusted Cloud projet, compte de facturation, dossier et organisation dispose d'un routeur de journaux, qui gère le flux d'entrées de journal via des récepteurs au niveau des ressources. Un routeur de journaux gère également le flux d'une entrée de journal via les récepteurs qui se trouvent dans la hiérarchie des ressources de l'entrée. Les récepteurs contrôlent la manière dont les entrées de journal sont acheminées vers les destinations.
Un routeur de journaux stocke temporairement une entrée de journal. Ce comportement tamponne les perturbations et les pannes temporaires pouvant survenir lorsqu'une entrée de journal passe par des récepteurs. Le stockage temporaire ne protège pas contre les erreurs de configuration.
Le stockage temporaire d'un routeur de journaux est distinct du stockage à long terme fourni par les buckets Logging.
Les entrées de journal entrantes dont les horodatages sont antérieurs à la durée de conservation des journaux ou postérieurs à 24 heures sont supprimées.
À propos des récepteurs de journaux
Lorsqu'un récepteur de journal reçoit une entrée de journal, il détermine s'il doit l'ignorer ou l'acheminer. Cette décision est prise en comparant l'entrée de journal aux filtres du récepteur de journaux. Lorsque l'entrée de journal est acheminée, le récepteur de journaux l'envoie à la destination spécifiée par le récepteur de journaux. Cette destination peut être un projet, un emplacement de stockage ou un service.
Les récepteurs de journaux appartiennent à une Trusted Cloud by S3NS ressource donnée Trusted Cloud :projets, comptes de facturation, dossiers et organisations. Ces ressources contiennent également plusieurs destinations de journalisation. Lorsqu'une ressource reçoit une entrée de journal, chaque récepteur de journal de cette ressource l'évalue indépendamment. Par conséquent, plusieurs destinations de journal peuvent acheminer la même entrée de journal.
Par défaut, les données de journal sont stockées dans le projet d'où elles proviennent. Cependant, vous pouvez modifier cette configuration pour plusieurs raisons:
- Pour centraliser le stockage de vos données de journaux.
- pour joindre vos données de journalisation à d'autres données d'entreprise ;
- Pour organiser vos données de journal de manière à ce qu'elles vous soient utiles.
- Diffuser vos journaux vers d'autres applications, d'autres dépôts, ainsi que vers des organisations tierces. Par exemple, vous pouvez exporter vos journaux depuis Trusted Cloud by S3NS afin de pouvoir les afficher sur une plate-forme tierce. Pour exporter vos entrées de journal, créez un récepteur de journaux qui les achemine vers Pub/Sub.
Un récepteur de journaux mal configuré n'achemine pas les entrées de journal. Lorsqu'un récepteur est mal configuré, des entrées de journal qui indiquent les détails de l'erreur sont écrites. Un e-mail est également envoyé aux contacts essentiels de la ressource. Pour en savoir plus, consultez Dépannage: Afficher les erreurs.
Les récepteurs de journaux ne peuvent pas acheminer les entrées de journal rétroactivement. Autrement dit, un récepteur de journal ne peut pas acheminer une entrée de journal reçue avant la création du récepteur. De même, si un récepteur est mal configuré, il n'achemine que les entrées de journal qui arrivent après la résolution de l'erreur de configuration.
Prise en charge des organisations et des dossiers
Pour vous aider à gérer les données de journal dans une organisation ou un dossier, vous pouvez procéder comme suit:
Vous pouvez créer des récepteurs agrégés, qui acheminent les entrées de journal d'une organisation ou d'un dossier et de leurs enfants vers la destination spécifiée par le récepteur. Il existe deux types de sinks agrégés:
- Récepteurs agrégés non intercepteurs
- Interception des récepteurs agrégés
La différence entre ces deux types de collecteurs réside dans le fait que l'interception des collecteurs à un niveau de la hiérarchie des ressources peut affecter le routage des ressources situées plus bas dans la hiérarchie. Les puits non intercepteurs n'affectent pas le routage des autres ressources. Lorsqu'un récepteur intercepteur dans une ressource correspond à une entrée de journal, l'entrée de journal n'est pas envoyée aux récepteurs des ressources enfants, à l'exception de l'envoi de l'entrée de journal au récepteur de journal
_Required
dans la ressource d'où elle provient.Vous pouvez configurer les paramètres de ressources par défaut pour spécifier la configuration du récepteur
_Default
créé par le système pour les nouvelles ressources d'une organisation ou d'un dossier. Par exemple, vous pouvez utiliser ces paramètres pour désactiver le collecteur_Default
ou spécifier les filtres dans ce collecteur.
Exemples de routage
Cette section illustre comment une entrée de journal provenant d'un projet peut passer par les collecteurs de sa hiérarchie de ressources.
Exemple: Aucun récepteur agrégé n'existe
Lorsqu'aucun récepteur agrégé n'existe dans la hiérarchie des ressources de l'entrée de journal, l'entrée de journal est envoyée aux récepteurs de journaux du projet d'où elle provient. Un récepteur au niveau du projet achemine l'entrée de journal vers la destination du récepteur lorsqu'elle correspond au filtre d'inclusion du récepteur, mais pas à l'un de ses filtres d'exclusion.
Exemple: Un collecteur agrégé non intercepteur existe
Supposons qu'un récepteur agrégé non intercepteur existe dans la hiérarchie des ressources pour une entrée de journal. Une fois que le routeur de journaux a envoyé l'entrée de journal au récepteur agrégé non intercepteur, voici ce qui se passe:
Le récepteur agrégé non intercepteur achemine l'entrée de journal vers la destination du récepteur lorsqu'elle correspond au filtre d'inclusion, mais ne correspond à aucun filtre d'exclusion.
Le routeur de journaux envoie l'entrée de journal aux récepteurs de journaux du projet d'où elle provient.
Un récepteur au niveau du projet achemine l'entrée de journal vers la destination du récepteur lorsqu'elle correspond au filtre d'inclusion du récepteur, mais pas à l'un de ses filtres d'exclusion.
Exemple: Un récepteur agrégé intercepteur existe
Supposons qu'un récepteur agrégé intercepteur existe dans la hiérarchie des ressources pour une entrée de journal. Une fois que le routeur de journaux a envoyé l'entrée de journal au récepteur agrégé intercepteur, l'une des situations suivantes se produit:
L'entrée de journal correspond au filtre d'inclusion, mais ne correspond à aucun filtre d'exclusion:
- L'entrée de journal est acheminée vers la destination du récepteur agrégé intercepteur.
- L'entrée de journal est envoyée au récepteur
_Required
du projet d'où elle provient.
L'entrée de journal ne correspond pas au filtre d'inclusion ou correspond à au moins un filtre d'exclusion:
- L'entrée de journal n'est pas acheminée par le récepteur agrégé intercepteur.
Le routeur de journaux envoie l'entrée de journal aux récepteurs de journaux du projet d'où elle provient.
Un récepteur au niveau du projet achemine l'entrée de journal vers la destination du récepteur lorsqu'elle correspond au filtre d'inclusion du récepteur, mais pas à l'un de ses filtres d'exclusion.
Filtres de récepteur de journaux
Chaque récepteur de journal contient un filtre d'inclusion et peut contenir plusieurs filtres d'exclusion. Ces filtres déterminent si le récepteur de journaux achemine une entrée de journal vers la destination du récepteur. Si vous ne spécifiez aucun filtre, chaque entrée de journal est acheminée vers la destination du récepteur.
Une entrée de journal est acheminée par un collecteur de journaux en fonction des règles suivantes:
Si l'entrée de journal ne correspond pas au filtre d'inclusion, elle n'est pas acheminée. Lorsqu'un récepteur ne spécifie pas de filtre d'inclusion, chaque entrée de journal correspond à ce filtre.
Si l'entrée de journal correspond au filtre d'inclusion et à au moins un filtre d'exclusion, elle n'est pas acheminée.
Si l'entrée de journal correspond au filtre d'inclusion et ne correspond à aucun filtre d'exclusion, elle est acheminée vers la destination du récepteur.
Les filtres d'un récepteur de journaux sont spécifiés à l'aide du langage de requête Logging.
Vous ne pouvez pas utiliser de filtres d'exclusion pour réduire la consommation de votre quota d'API entries.write
ni le nombre d'appels d'API entries.write
. Les filtres d'exclusion sont appliqués une fois que les entrées de journal ont été reçues par l'API Logging.
Récepteurs de journal créés par le système
Pour chaque Trusted Cloud projet, compte de facturation, dossier et organisation, Cloud Logging crée deux récepteurs de journaux, l'un nommé _Required
et l'autre nommé _Default
. Les filtres d'inclusion et d'exclusion de ces récepteurs garantissent que chaque entrée de journal qui atteint la ressource est acheminée par l'un de ces récepteurs.
Les deux sinks acheminent les données de journal vers un bucket de journaux qui se trouve dans la même ressource que le sink de journal.
Le reste de cette section fournit des informations sur les filtres et les destinations des destinations de journal créées par le système.
Récepteur de journaux _Required
Le récepteur de journaux _Required
d'une ressource achemine un sous-ensemble de journaux d'audit vers le bucket de journaux _Required
de la ressource.
Ce récepteur ne spécifie aucun filtre d'exclusion, et le filtre d'inclusion est comme indiqué:
LOG_ID("cloudaudit.googleapis.com/activity") OR
LOG_ID("externalaudit.googleapis.com/activity") OR
LOG_ID("cloudaudit.googleapis.com/system_event") OR
LOG_ID("externalaudit.googleapis.com/system_event") OR
LOG_ID("cloudaudit.googleapis.com/access_transparency") OR
LOG_ID("externalaudit.googleapis.com/access_transparency")
Le collecteur de journaux _Required
ne correspond qu'aux entrées de journal provenant de la ressource dans laquelle le collecteur de journaux _Required
est défini. Par exemple, supposons qu'un récepteur de journaux achemine une entrée de journal d'activité du projet A
vers le projet B
.
Comme l'entrée de journal ne provient pas du projet B
, le collecteur de journaux _Required
du projet B
n'achemine pas cette entrée de journal vers le bucket de journaux _Required
.
Vous ne pouvez pas modifier ni supprimer le récepteur de journal _Required
.
Récepteur de journaux _Default
Le récepteur de journal _Default
d'une ressource achemine toutes les entrées de journal, à l'exception de celles qui correspondent au filtre du récepteur de journal _Required
, vers le bucket de journaux _Default
de la ressource.
Étant donné que le filtre d'inclusion de ce récepteur est vide, il correspond à toutes les entrées de journal. Toutefois, le filtre d'exclusion est configuré comme suit:
NOT LOG_ID("cloudaudit.googleapis.com/activity") AND
NOT LOG_ID("externalaudit.googleapis.com/activity") AND
NOT LOG_ID("cloudaudit.googleapis.com/system_event") AND
NOT LOG_ID("externalaudit.googleapis.com/system_event") AND
NOT LOG_ID("cloudaudit.googleapis.com/access_transparency") AND
NOT LOG_ID("externalaudit.googleapis.com/access_transparency")
Vous pouvez modifier et désactiver le récepteur de journaux _Default
. Par exemple, vous pouvez modifier le collecteur de journaux _Default
et modifier la destination. Vous pouvez également modifier n'importe quel filtre existant et ajouter des filtres d'exclusion.
Destinations du récepteur
La destination d'un récepteur peut se trouver dans une ressource différente de celle du récepteur. Par exemple, vous pouvez utiliser un récepteur de journaux pour acheminer les entrées de journal d'un projet vers un bucket de journaux stocké dans un autre projet.
Les destinations suivantes sont acceptées:
- Trusted Cloud projet
Sélectionnez cette destination lorsque vous souhaitez que les récepteurs de journaux du projet de destination rediriger vos entrées de journal ou lorsque vous avez créé un récepteur agrégé intercepteur. Les sinks de journaux du projet qui est la destination du sink peuvent rediriger les entrées de journal vers n'importe quelle destination compatible, sauf un projet.
- Bucket de journaux
- Sélectionnez cette destination lorsque vous souhaitez stocker vos données de journal dans des ressources gérées par Cloud Logging. Les données de journal stockées dans des buckets de journaux peuvent être consultées et analysées à l'aide de services tels que l'explorateur de journaux.
- Sujet Pub/Sub
- Sélectionnez cette destination lorsque vous souhaitez exporter vos données de journal depuisTrusted Cloud by S3NS , puis utiliser une intégration tierce. Les entrées de journal sont mises en forme au format JSON, puis acheminées vers un sujet Pub/Sub.
Limites des destinations
Cette section décrit les limites spécifiques à la destination:
Les limites suivantes s'appliquent lorsque la destination d'un collecteur de journaux est un projet Trusted Cloud :
- Il existe une limite d'un saut.
- Les entrées de journal qui correspondent au filtre du récepteur de journaux
_Required
ne sont acheminées vers le bucket de journaux_Required
du projet de destination que lorsqu'elles proviennent du projet de destination. - Seuls les récepteurs agrégés qui se trouvent dans la hiérarchie des ressources d'une entrée de journal la traitent.
Par exemple, supposons que la destination d'un récepteur de journaux dans le projet
A
soit le projetB
. Les conditions suivantes sont alors remplies:- En raison de la limite d'un saut, les sinks de journaux du projet
B
ne peuvent pas rediriger les entrées de journaux vers un projet Trusted Cloud . - Le bucket de journaux
_Required
du projetB
ne stocke que les entrées de journal provenant du projetB
. Ce bucket de journaux ne stocke aucune entrée de journal provenant d'une autre ressource, y compris celles provenant du projetA
. - Si la hiérarchie des ressources du projet
A
et du projetB
diffère, une entrée de journal qu'un collecteur de journaux du projetA
achemine vers le projetB
n'est pas envoyée aux collecteurs agrégés dans la hiérarchie des ressources du projetB
. - Si les projets
A
etB
ont la même hiérarchie des ressources, les entrées de journal sont envoyées aux éponges agrégées de cette hiérarchie. Si une entrée de journal n'est pas interceptée par un récepteur agrégé, le routeur de journaux l'envoie aux récepteurs du projetA
.
Bonnes pratiques
Pour connaître les bonnes pratiques d'utilisation du routage pour la gouvernance des données ou pour les cas d'utilisation courants, consultez les documents suivants:
Exemples: centraliser le stockage de vos journaux
Cette section explique comment configurer un stockage centralisé. Le stockage centralisé permet d'interroger les données de journal à partir d'un seul et même endroit, ce qui simplifie vos requêtes lorsque vous recherchez des tendances ou que vous étudiez des problèmes. Du point de vue de la sécurité, vous disposez également d'un seul emplacement de stockage, ce qui peut simplifier les tâches de vos analystes de sécurité.
Centraliser le stockage des journaux pour les projets dans un dossier
Supposons que vous gériez un dossier et que vous souhaitiez centraliser le stockage de vos entrées de journal. Pour ce cas d'utilisation, vous pouvez procéder comme suit:
- Dans votre dossier, créez un projet nommé
CentralStorage
. - Créez un récepteur agrégé intercepteur pour votre dossier et configurez-le pour acheminer toutes les entrées de journal. Vous définissez la destination du récepteur sur le projet nommé
CentralStorage
.
Lorsqu'une entrée de journal provenant du dossier ou de l'une de ses ressources enfants arrive, elle est envoyée au récepteur agrégé intercepteur que vous avez créé. Ce récepteur achemine les entrées de journal vers le projet nommé CentralStorage
. Les récepteurs de journaux de ce projet traitent les entrées de journal:
Le récepteur de journaux
_Default
achemine vers le bucket de journaux_Default
toutes les entrées de journal qui correspondent au filtre du récepteur. Ce bucket de journaux est votre emplacement de stockage centralisé.Le récepteur de journaux
_Required
achemine vers le bucket de journaux_Required
les entrées de journal qui correspondent aux filtres du récepteur et qui proviennent du projetCentralStorage
. Ce bucket de journaux n'est pas un emplacement de stockage centralisé. Toutefois, vous pouvez stocker toutes vos données de journal de manière centralisée. Pour obtenir un exemple, consultez la section Stocker les journaux d'audit dans un emplacement central.
Une fois le traitement du récepteur agrégé terminé, l'entrée de journal est envoyée au récepteur de journaux _Required
dans la ressource à l'origine de l'entrée de journal. Lorsque l'entrée de journal correspond au filtre du récepteur de journal _Required
, elle est acheminée vers le bucket de journaux _Required
de la ressource. Par conséquent, chaque projet Trusted Cloud de votre dossier stocke les entrées de journal dans son bucket de journaux _Required
.
Centraliser le stockage des journaux pour un ensemble de projets
Vous pouvez également stocker les entrées de journal dans un seul emplacement lorsque vous n'avez pas d'organisation ni de dossier. Par exemple, vous pouvez procéder comme suit:
- Créez un projet nommé
CentralStorage
. - Pour chaque projet, sauf
CentralStorage
, vous modifiez le collecteur de journaux_Default
et définissez la destination sur le projet nomméCentralStorage
.
Vous vous demandez peut-être pourquoi l'exemple précédent définit la destination des récepteurs de journaux _Default
sur un projet, au lieu du bucket de journaux _Default
de ce projet. Les principales raisons sont la simplicité et la cohérence.
Lorsque vous acheminez des entrées de journal vers un projet, les récepteurs de journaux du projet de destination contrôlent les entrées de journal stockées et leur emplacement.
Autrement dit, vous centralisez les fonctionnalités de filtrage et de destination. Si vous souhaitez modifier les entrées de journal stockées ou l'emplacement où elles sont stockées, il vous suffit de modifier les destinations de journal dans un seul projet.
Centraliser le stockage des journaux d'audit
Vous pouvez stocker de manière centralisée les entrées de journal qui correspondent au récepteur de journaux _Required
. Si vous souhaitez stocker ces entrées de journal de manière centralisée, procédez comme suit:
Créez des récepteurs de journaux qui acheminent les entrées de journal correspondant au récepteur de journaux
_Required
vers un bucket de journaux centralisé.Configurez des récepteurs de journaux comme dans les deux exemples précédents, puis ajoutez un récepteur de journaux dans le projet de destination qui achemine les entrées de journal correspondant au récepteur de journaux
_Required
vers un bucket de journaux. Vous pouvez également modifier les filtres dans le collecteur de journaux_Default
.
Avant d'implémenter une telle stratégie, consultez les consignes relatives aux prix.
Étapes suivantes
Pour vous aider à acheminer et à stocker les données Cloud Logging, consultez les documents suivants :
Pour créer des récepteurs afin d'acheminer les entrées de journal vers des destinations compatibles, consultez la section Acheminer les journaux vers des destinations compatibles.
Pour découvrir comment créer des récepteurs agrégés pouvant acheminer des entrées de journal à partir des ressources de dossiers ou d'organisations, consultez la section Présentation des récepteurs agrégés.
Pour en savoir plus sur le format des entrées de journal acheminées et sur l'organisation des journaux dans les destinations, consultez les documents suivants: