Ce document explique comment créer des récepteurs agrégés. Les récepteurs agrégés vous permettent combiner et acheminer les journaux générés par Ressources Google Cloud de votre organisation ou d'un dossier vers un emplacement centralisé.
Présentation
Les récepteurs agrégés combinent et acheminent les entrées de journal à partir des ressources contenues dans une organisation ou un dossier vers une destination.
Si vous souhaitez contrôler les entrées de journal pouvant être interrogées dans ces ressources ou acheminées via les collecteurs de ces ressources, vous pouvez configurer un collecteur agrégé pour qu'il n'intercepte pas ou intercepte les entrées de journal :
Un récepteur agrégé non interceptant achemine les entrées de journal via des récepteurs dans l'élément enfant ressources. Ce récepteur vous permet de conserver la visibilité des entrées de journal dans le ressources dans lesquelles ils ont été générés. Les récepteurs non intercepteurs ne sont pas visibles aux ressources enfants.
Par exemple, vous pouvez créer un récepteur agrégé non interceptant qui achemine Toutes les entrées de journal générées à partir des dossiers d'une organisation dans un bucket de journaux central. Les entrées de journal sont stockées bucket de journaux, ainsi que dans les ressources dans lesquelles les entrées de journal ont été générées.
Un récepteur agrégé intercepteur empêche l'acheminement des entrées de journal via les récepteurs dans les ressources enfants, à l'exception des récepteurs
_Required
. Ce récepteur permet être utile pour empêcher le stockage de copies en double des entrées de journal plusieurs endroits.Prenons l'exemple des journaux d'audit des accès aux données, qui peuvent être volumineux en volume et coûteux pour en stocker plusieurs copies. Si vous avez activé les journaux d'audit des accès aux données, vous pouvez créer une règle d'interception qui achemine tous les journaux d'audit des accès aux données vers un projet central à des fins d'analyse. Ce récepteur d'interception empêche également les récepteurs des ressources enfants de router des copies des journaux à un autre endroit.
Les récepteurs d'interception empêchent les journaux d'être transmis via le routeur de journaux des ressources enfants, sauf si les journaux correspondent également au récepteur
_Required
. En effet, les journaux sont interceptés, ils ne sont pas comptabilisés dans les métriques basées sur les journaux d'alerte basées sur les journaux dans les ressources enfants. Vous pouvez voir l'interception dans la page Routeur de journaux des ressources enfants.
Pour en savoir plus sur la gestion des récepteurs, consultez la page Acheminez les journaux vers des destinations compatibles: gérez les récepteurs.
Vous pouvez créer jusqu'à 200 récepteurs par dossier ou organisation.
Destinations compatibles
Vous pouvez utiliser des récepteurs agrégés non interceptants pour acheminer les entrées de journal dans ou entre les mêmes organisations et dossiers vers les destinations suivantes:
Bucket Cloud Logging: stockage dans Cloud Logging. Un bucket de journaux peut stocker des entrées de journal reçues par plusieurs projets Google Cloud. Le bucket de journaux peut se trouver dans le projet d'où proviennent les entrées de journal. dans un autre projet. Pour en savoir plus sur l'affichage des entrées de journal stockées dans des buckets de journaux, consultez Présentation des requêtes et de l'affichage des journaux et afficher les journaux acheminés vers des buckets Cloud Logging.
Vous pouvez combiner vos données de journalisation dans le cloud avec d'autres données en mettant à niveau un bucket de journaux pour utiliser Log Analytics, puis en créant un ensemble de données associé, qui est un ensemble de données en lecture seule pouvant être interrogé par les pages BigQuery Studio et Looker Studio.
Ensemble de données BigQuery : permet de stocker les entrées de journal dans un ensemble de données BigQuery enregistrable. L'ensemble de données BigQuery peuvent se trouver dans le projet d'où proviennent les entrées de journal ou dans une autre projet. Vous pouvez utiliser des fonctionnalités d'analyse big data sur les entrées de journal stockées. Pour en savoir plus sur l'affichage des entrées de journaux acheminées vers BigQuery, consultez Affichez les journaux acheminés vers BigQuery.
- Bucket Cloud Storage: ce bucket permet de stocker les entrées de journal dans Cloud Storage. Le bucket Cloud Storage peut se trouver dans le projet dans lequel les entrées de journal proviennent ou se trouvent dans un autre projet. Les entrées de journaux sont stockées sous forme de fichiers JSON. Pour savoir comment afficher les entrées de journal acheminées vers Cloud Storage, consultez la section Afficher les journaux acheminés vers Cloud Storage.
Sujet Pub/Sub: prend en charge les intégrations tierces. Les entrées de journal sont mises en forme au format JSON, puis acheminées vers un sujet Pub/Sub. Le sujet peut se trouver dans le projet dans lequel les entrées de journal proviennent ou se trouvent dans un autre projet. Pour savoir comment afficher les entrées de journal acheminées vers Pub/Sub, consultez la section Afficher les journaux acheminés vers Pub/Sub.
Projet Google Cloud : redirigez les entrées de journal vers un autre projet Google Cloud. Dans les récepteurs du projet de destination traitent les entrées de journal correspondantes.
Bonnes pratiques pour l'interception des récepteurs
Lorsque vous créez un récepteur d'interception, nous vous recommandons de procéder comme suit:
Déterminez si les ressources enfants ont besoin d'un contrôle indépendant du routage de leurs les entrées de journal correspondantes. Si une ressource enfant nécessite un contrôle indépendant de certaines les entrées de journal, assurez-vous que le récepteur d'interception ne les achemine pas les entrées de journal correspondantes.
Ajoutez des coordonnées à la description d'un récepteur qui intercepte les données. Ce Cela peut être utile si les personnes qui gèrent le récepteur d'interception sont différentes de ceux qui gèrent les projets dont les entrées de journal sont interceptées.
Testez la configuration de votre récepteur en créant d'abord un élément agrégé non interceptant pour vous assurer que les entrées de journal appropriées sont acheminées.
Récepteurs agrégés et VPC Service Controls
Les limites suivantes s'appliquent lorsque vous utilisez des récepteurs agrégés et VPC Service Controls:
Les récepteurs agrégés peuvent accéder aux données des projets dans un service périmètre. Pour empêcher les récepteurs agrégés d'accéder aux données d'un nous vous recommandons d'utiliser IAM pour gérer Autorisations Logging.
VPC Service Controls ne permet pas d'ajouter des ressources de dossier ou d'organisation à des périmètres de service. Par conséquent, vous ne pouvez pas utiliser VPC Service Controls pour protéger les journaux au niveau des dossiers et des organisations, y compris les journaux agrégés. Pour gérer Logging au niveau du dossier ou de l'organisation, nous vous recommandons d'utiliser Cloud IAM.
Si vous acheminez les journaux à l'aide d'un récepteur au niveau du dossier ou de l'organisation vers un ressource protégée par un périmètre de service, vous devez ajouter d'entrée au périmètre de service. La règle d'entrée doit autoriser l'accès à la ressource du compte de service utilisé par le récepteur agrégé. Pour en savoir plus, consultez les articles suivants :
Lorsque vous spécifiez une règle d'entrée ou de sortie pour un périmètre de service, vous ne pouvez pas utiliser
ANY_SERVICE_ACCOUNT
etANY_USER_ACCOUNT
en tant que type d'identité lorsque vous utilisez un récepteur de journaux pour acheminer les journaux vers des ressources Cloud Storage. Cependant, vous pouvez utiliserANY_IDENTITY
comme type d'identité.
Avant de commencer
Avant de créer un récepteur, vérifiez les points suivants :
Vous disposez d'un dossier ou d'une organisation Google Cloud avec des entrées de journal que vous pouvez consultez l'explorateur de journaux.
Vous disposez de l'un des rôles IAM suivants Organisation ou dossier Google Cloud à partir duquel vous effectuez le routage les entrées de journal correspondantes.
- Propriétaire (
roles/owner
) - Administrateur Logging (
roles/logging.admin
) - Rédacteur de configuration des journaux (
roles/logging.configWriter
)
Les autorisations contenues dans ces rôles vous permettent de créer, supprimer ou modifier des récepteurs. Pour en savoir plus sur la définition des rôles IAM, consultez la page la Guide du contrôle des accès de Logging
- Propriétaire (
Vous disposez d'une ressource dans une destination compatible ou vous pouvez en créer une.
La destination doit être créée avant le récepteur, via la Google Cloud CLI, la console Google Cloud ou API. Vous pouvez créer la destination dans n'importe quel projet Google Cloud organisation, mais vous devez vous assurer que le compte de service Le récepteur dispose des autorisations d'écriture dans la destination.
Créer un récepteur agrégé
Console
Pour créer un récepteur agrégé pour votre dossier ou votre organisation, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Routeur de journaux :
Accéder au routeur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Sélectionnez un dossier ou une organisation existant.
Cliquez sur Créer un récepteur.
Dans le panneau Détails du récepteur, saisissez les informations suivantes :
Nom du récepteur : indiquez un identifiant pour le récepteur. Notez qu'après avoir créé le récepteur, vous ne pouvez pas le renommer, mais vous pouvez le supprimer et en créer un autre.
Description du récepteur (facultatif) : décrivez l'objectif ou le cas d'utilisation du récepteur.
Effectuez l'une des opérations suivantes :
Pour créer un récepteur d'interception, dans le menu Sélectionner le service du récepteur, procédez comme suit : sélectionnez Google Cloud project (Projet Google Cloud), puis saisissez le nom complet pour la destination. Pour en savoir plus sur la syntaxe, consultez Formats du chemin de destination :
Pour créer un récepteur non intercepteur, accédez au menu Sélectionner un service de récepteur, puis effectuez l'une des opérations suivantes :
Pour acheminer les entrées de journal vers un autre projet Google Cloud, sélectionnez Projet Google Cloud, puis saisissez le nom complet de la destination. Pour en savoir plus sur la syntaxe, consultez Formats du chemin de destination :
Pour acheminer les entrées de journal vers un service appartenant au même projet Google Cloud, sélectionnez l'une des options suivantes :
- Bucket Cloud Logging : sélectionnez ou créez un bucket Logging.
- Ensemble de données BigQuery: sélectionnez ou créez l'ensemble de données pour recevoir les entrées de journal acheminées. Vous pouvez également utiliser des tables partitionnées.
- Bucket Cloud Storage: sélectionnez ou créez le bucket bucket Cloud Storage pour recevoir les entrées de journal acheminées.
- Sujet Pub/Sub: sélectionnez ou créez le sujet pour recevoir les entrées de journal acheminées.
- Splunk : sélectionnez le sujet Pub/Sub du service Splunk.
Pour acheminer les entrées de journal vers un service situé dans un autre Google Cloud, procédez comme suit:
- Sélectionnez Autre ressource.
Saisissez le nom complet de la destination. Pour en savoir plus sur la syntaxe, consultez les Formats du chemin de destination :
Par exemple, si la destination du récepteur est un serveur Pub/Sub, , le
destination
se présente comme suit:pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
Dans le panneau Sélectionner les journaux à inclure dans le récepteur, effectuez l'une des opérations suivantes:
Pour créer un récepteur d'interception, sélectionnez Intercepter les journaux ingérés par cette organisation et toutes les ressources enfants.
Pour créer un récepteur agrégé non interceptant, sélectionnez Inclure les journaux ingérés par cette ressource et par toutes les ressources enfants.
Complétez la boîte de dialogue en saisissant un expression de filtre dans Créez un filtre d'inclusion correspondant aux entrées de journal souhaitées. à inclure. Si vous ne définissez pas de filtre, toutes les entrées de journal de la ressource sélectionnée sont acheminées vers la destination.
Par exemple, vous pouvez créer un filtre pour acheminer tous les accès aux données dans un seul bucket Logging. Ce filtre semble comme suit:
LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
Pour obtenir des exemples de filtres, consultez Créez des filtres pour les récepteurs agrégés.
Notez que la longueur d'un filtre ne peut pas dépasser 20 000 caractères.
Facultatif: Pour vérifier que vous avez saisi le bon filtre, sélectionnez Prévisualiser les journaux L'explorateur de journaux s'ouvre dans un nouvel onglet prérempli.
Facultatif : Dans le panneau Sélectionner les journaux à exclure du récepteur, effectuez les actions suivantes : les éléments suivants:
Dans le champ Nom du filtre d'exclusion, saisissez un nom.
Dans la section Créer un filtre d'exclusion, saisissez une expression de filtre correspondant aux entrées de journal que vous souhaitez exclure. Vous pouvez également utiliser la fonction
sample
pour sélectionner une partie des entrées de journal à exclure.Par exemple, pour exclure les entrées de journal d'un projet spécifique être vers la destination, ajoutez le filtre d'exclusion suivant:
logName:projects/PROJECT_ID
Pour exclure des entrées de journal de plusieurs projets, utilisez l'opérateur logique OU pour joindre les clauses
logName
.
Vous pouvez créer jusqu'à 50 filtres d'exclusion par récepteur. Notez que la longueur d'un filtre ne peut pas dépasser 20 000 caractères.
Cliquez sur Créer un récepteur.
Accorder au compte de service du récepteur l'autorisation d'écrire les entrées de journal à la destination de votre récepteur. Pour en savoir plus, consultez la section Définir les autorisations des destinations.
Protocole
Pour créer un récepteur agrégé, utilisez le
organizations.sinks.create
ou
folders.sinks.create
Méthode de l'API Logging.
Préparez les arguments de la méthode comme suit :
Définissez le champ
parent
sur l'organisation Google Cloud ou dossier dans lequel créer le récepteur. Le parent doit correspondre à l'un des éléments suivants :organizations/ORGANIZATION_ID
folders/FOLDER_ID
Dans l'objet
LogSink
du corps de la requête de la méthode, effectuez l'une des opérations suivantes:Définissez
includeChildren
surTrue
.Pour créer un récepteur d'interception, définissez également le champ
interceptChildren
surTrue
.
Définissez le champ
filter
pour qu'il corresponde aux entrées de journal que vous souhaitez inclure.Pour obtenir des exemples de filtres, consultez Créez des filtres pour les récepteurs agrégés.
La longueur d'un filtre ne peut pas dépasser 20 000 caractères.
Définissez les champs
LogSink
restants comme vous le feriez pour n'importe quel récepteur. Pour en savoir plus, consultez Acheminez les journaux vers des destinations compatibles.Appelez
organizations.sinks.create
oufolders.sinks.create
jusqu'à créer le récepteur.Accordez au compte de service l'autorisation d'écrire dans votre récepteur vers votre destination. Pour en savoir plus, consultez Définir les autorisations des destinations
gcloud
Pour créer un récepteur agrégé, utilisez le
logging sinks create
:
Pour créer un récepteur, appelez le
gcloud logging sinks create
et assurez-vous d'inclure l'option--include-children
.Avant d'utiliser la commande suivante, effectuez les remplacements suivants:
- SINK_NAME: nom du récepteur de journaux. Une fois le collecteur créé, vous ne pouvez plus modifier son nom.
- SINK_DESTINATION: service ou projet vers lequel vous souhaitez acheminer les entrées de journal.
- INCLUSION_FILTER: filtre d'inclusion d'un récepteur. Pour obtenir des exemples de filtres, consultez Créez des filtres pour les récepteurs agrégés.
- FOLDER_ID: ID du dossier. Si vous souhaitez créer un récepteur
au niveau de l'organisation, puis remplacez
--folder=FOLDER_ID
avec-- organization=ORGANIZATION_ID
Exécutez la
gcloud logging sinks create
:gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="INCLUSION_FILTER"
Vous pouvez également fournir les options suivantes :
- Pour créer un récepteur d'interception, incluez l'option
--intercept-children
.
Par exemple, si vous créez un récepteur agrégé au niveau du dossier et dont la destination est un sujet Pub/Sub, votre commande peut se présenter comme suit:
gcloud logging sinks create SINK_NAME \ pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID --include-children \ --folder=FOLDER_ID --log-filter="logName:activity"
Accordez au compte de service l'autorisation d'écrire dans votre récepteur vers votre destination. Pour en savoir plus, consultez Définir les autorisations des destinations
L'application des modifications apportées à un récepteur peut prendre quelques minutes.
Créer des filtres pour les récepteurs agrégés
Comme tout récepteur, votre récepteur agrégé contient un filtre qui sélectionne les entrées de journal individuelles. Pour obtenir des exemples de filtres que vous pouvez utiliser pour créer votre récepteur agrégé, consultez la section Exemples de requêtes avec l'explorateur de journaux.
Voici quelques exemples de comparaisons de filtres pouvant vous servir si vous utilisez la fonctionnalité de récepteurs agrégés. Certains exemples utilisent la notation suivante :
:
désigne l'opérateur de la sous-chaîne. Ne remplacez pas l'opérateur=
....
représente les comparaisons de filtres supplémentaires, le cas échéant.- Les variables sont indiquées par un texte coloré. Remplacez-les par des valeurs valides.
Notez que la longueur d'un filtre ne peut pas dépasser 20 000 caractères.
Pour en savoir plus sur la syntaxe de filtrage, consultez la page Langage de requête Logging.
Sélectionner la source du journal
Pour un récepteur agrégé, pour chaque ressource enfant de l'organisation ou du dossier, les filtres d'inclusion et d'exclusion du récepteur sont appliqués à chaque entrée de journal est envoyée à la ressource enfant. Une entrée de journal correspondant le filtre d'inclusion et qui n'est pas exclu, est acheminé.
Si vous souhaitez que le récepteur achemine les entrées de journal de toutes les ressources enfants, indiquez un projet, un dossier ou une organisation dans les filtres d'inclusion et d'exclusion de votre récepteur. Par exemple, supposons que vous configurez un récepteur agrégé pour une organisation avec le filtre suivant:
resource.type="gce_instance"
Avec le filtre précédent, les entrées de journal dont le type de ressource est Instances Compute Engine écrites sur n'importe quel enfant de cette organisation sont acheminées par le récepteur agrégé vers la destination.
Toutefois, il peut arriver que vous souhaitiez utiliser un récepteur agrégé
pour acheminer les entrées de journal uniquement
à partir de ressources enfants spécifiques. Par exemple, pour
conformité
Raisons pour lesquelles vous souhaiterez peut-être stocker les journaux d'audit de dossiers ou projets spécifiques
dans leur propre bucket Cloud Storage. Dans ce cas, configurez votre filtre d'inclusion pour spécifier chaque ressource enfant dont vous souhaitez acheminer les entrées de journal. Si vous souhaitez acheminer les entrées de journal d'un dossier et de tous les projets qu'il contient, le filtre doit lister le dossier et chacun des projets qu'il contient, et également joindre les instructions avec une clause OR
.
Les filtres suivants limitent les entrées de journal aux des projets, dossiers ou organisations Google Cloud spécifiques:
logName:"projects/PROJECT_ID/logs/" AND ...
logName:("projects/PROJECT_A_ID/logs/" OR "projects/PROJECT_B_ID/logs/") AND ...
logName:"folders/FOLDER_ID/logs/" AND ...
logName:"organizations/ORGANIZATION_ID/logs/" AND ...
Par exemple, pour acheminer uniquement les entrées de journal écrites sur des instances Compute Engine
qui ont été écrits dans le dossier my-folder
, utilisez le filtre suivant:
logName:"folders/my-folder/logs/" AND resource.type="gce_instance"
Avec le filtre précédent, les entrées de journal écrites sur toute ressource autre que
my-folder
, y compris les entrées de journal écrites dans des projets Google Cloud
enfants de my-folder
, ne sont pas acheminés vers la destination.
Sélectionner la ressource surveillée
Pour acheminer les entrées de journal d'une seule ressource surveillée spécifique dans une projet Google Cloud, utilisez plusieurs comparaisons pour spécifier la ressource exactement:
logName:"projects/PROJECT_ID/logs" AND resource.type=RESOURCE_TYPE AND resource.labels.instance_id=INSTANCE_ID
Pour une liste des types de ressources, consultez la page Types de ressources surveillées.
Sélectionner un échantillon d'entrées de journal
Pour acheminer un échantillon aléatoire d'entrées de journal, ajoutez la fonction intégrée sample
. Par exemple, pour acheminer uniquement 10 % des entrées de journal correspondant à votre filtre actuel, utilisez cette addition :
sample(insertId, 0.10) AND ...
Pour en savoir plus, consultez la section concernant la fonction sample
.
Pour en savoir plus sur les filtres Cloud Logging, consultez la page Langage de requête Logging.
Définir les autorisations de la destination
Cette section explique comment accorder à Logging Autorisations Identity and Access Management permettant d'écrire des entrées de journal dans la destination de votre récepteur. Pour obtenir la liste complète des rôles et des autorisations dans Logging, consultez la page Contrôle des accès.
Lorsque vous créez ou mettez à jour un récepteur qui achemine les entrées de journal vers toute autre destination qu'un bucket de journaux dans le projet actuel, un compte de service pour ce récepteur est obligatoire. Logging crée et gère automatiquement le compte de service:
- Depuis le 22 mai 2023, lorsque vous créez un récepteur et qu'aucun compte de service pour la ressource sous-jacente n'existe, Logging crée le compte de service. La journalisation utilise le même compte de service pour tous les collecteurs de la ressource sous-jacente. Les ressources peuvent être un projet Google Cloud, une organisation, un dossier compte de facturation Google Cloud.
- Avant le 22 mai 2023, Logging a créé un service pour chaque récepteur. Depuis le 22 mai 2023, la journalisation utilise un compte de service partagé pour tous les collecteurs de la ressource sous-jacente.
L'identité du rédacteur d'un récepteur est l'identifiant du service. associé à ce récepteur. Tous les récepteurs ont une identité de rédacteur, sauf s'ils dans un bucket de journaux du projet Google Cloud actuel.
Pour acheminer les entrées de journal vers une ressource protégée par un périmètre de service, vous devez ajouter le compte de service de ce récepteur à un niveau d'accès, puis et l'attribuer au périmètre de service de destination. Cela n'est pas nécessaire pour les récepteurs non agrégés. Pour en savoir plus, consultez la page VPC Service Controls : Cloud Logging.
Pour définir les autorisations afin que votre récepteur soit acheminé vers sa destination, procédez comme suit :
Console
Pour obtenir des informations sur le compte de service de votre évier, procédez comme suit :
-
Dans la console Google Cloud, accédez à la page Routeur de journaux :
Accéder au routeur de journaux
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.
Sélectionnez Menu more_vert, puis Afficher les détails du récepteur L'identité du rédacteur apparaît dans Panneau Détails du récepteur.
Si la valeur du champ
writerIdentity
contient une adresse e-mail, puis passez à l'étape suivante. Lorsque la valeur estNone
, vous n'avez pas n'avez pas besoin de configurer les autorisations de destination.Copiez l'identité du rédacteur du récepteur dans le presse-papiers. La chaîne
serviceAccount:
est de l'identité du compte de service. Exemple :serviceAccount:[email protected]
Ajoutez le compte de service en tant que compte principal IAM dans projet de destination:
-
Dans la console Google Cloud, accédez à la page IAM :
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est IAM et administration.
Sélectionnez le projet de destination.
Cliquez sur
Accorder l'accès.Attribuez au compte de service le rôle IAM requis:
- Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur
en tant que compte principal à l'aide d'IAM,
Rôle de créateur des objets Storage
(
roles/storage.objectCreator
). - Pour les destinations BigQuery, ajoutez l'identité du rédacteur du récepteur
en tant que compte principal à l'aide d'IAM,
Rôle d'éditeur de données BigQuery
(
roles/bigquery.dataEditor
). - Pour les destinations Pub/Sub, y compris Splunk, ajoutez l'identité du rédacteur du récepteur
en tant que compte principal à l'aide d'IAM,
Rôle d'éditeur Pub/Sub
(
roles/pubsub.publisher
). - Pour les destinations des buckets Logging dans différentes
projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal
à l'aide d'IAM, puis lui accorder
Rôle Rédacteur de bucket de journaux
(
roles/logging.bucketWriter
). - Pour les destinations de projets Google Cloud, ajoutez le
en tant que compte principal à l'aide d'IAM, puis attribuez-lui
Rôle Rédacteur de journaux
(
roles/logging.logWriter
). Plus précisément, le compte principal a besoin Autorisationlogging.logEntries.route
.
- Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur
en tant que compte principal à l'aide d'IAM,
Rôle de créateur des objets Storage
(
-
-
Protocole
Nous vous recommandons d'utiliser la console Google Cloud ou la Google Cloud CLI pour attribuer un rôle au compte de service.
gcloud
Assurez-vous de disposer d'un accès Propriétaire Projet Google Cloud contenant la destination. Si vous ne disposez pas d'un accès Propriétaire à la destination du récepteur, puis demandez à un propriétaire du projet d'ajouter l'identité du rédacteur en tant que compte principal.
Pour obtenir des informations sur le compte de service de votre récepteur, appelez la fonction
gcloud logging sinks describe
.Avant d'utiliser la commande suivante, effectuez les remplacements suivants:
- SINK_NAME: nom du récepteur de journaux. Vous ne pouvez pas modifier le nom d'un récepteur après l'avoir créé.
Exécutez la
gcloud logging sinks describe
:gcloud logging sinks describe SINK_NAME
Si les détails du sink contiennent un champ intitulé
writerIdentity
, passez à l'étape suivante. Lorsque les détails n'incluent pas dewriterIdentity
, vous n'avez pas besoin de configurer d'autorisations de destination pour le récepteur.Copiez l'identité du rédacteur du récepteur dans le presse-papiers. La chaîne
serviceAccount:
est de l'identité du compte de service.L'identité du rédacteur pour le compte de service est semblable à la suivantes:
serviceAccount:[email protected]
Pour ajouter le compte de service en tant que principal IAM dans le projet de destination, appelez la commande
gcloud projects add-iam-policy-binding
.Avant d'utiliser la commande suivante, effectuez les remplacements suivants:
- PROJECT_ID: identifiant du projet.
- PRINCIPAL: identifiant du compte principal que vous souhaitez
vous accordez le rôle. Les identifiants principaux se présentent généralement sous la forme suivante :
PRINCIPAL-TYPE:ID
. Par exemple,user:[email protected]
. Pour obtenir la liste complète des formats quePRINCIPAL
peut avoir, consultez la section Identifiants des comptes principaux. ROLE: rôle IAM.
- Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur
en tant que compte principal à l'aide d'IAM,
Rôle de créateur des objets Storage
(
roles/storage.objectCreator
). - Pour les destinations BigQuery, ajoutez l'identité du rédacteur du récepteur en tant qu'entité principale à l'aide d'IAM, puis attribuez-lui le rôle Éditeur de données BigQuery (
roles/bigquery.dataEditor
). - Pour les destinations Pub/Sub, y compris Splunk, ajoutez l'identité du rédacteur du récepteur en tant que principal à l'aide d'IAM, puis attribuez-lui le rôle Éditeur Pub/Sub (
roles/pubsub.publisher
). - Pour les destinations des buckets Logging situées dans des projets Google Cloud différents, ajoutez l'identité du rédacteur du récepteur en tant que principal à l'aide d'IAM, puis attribuez-lui le rôle Écrivain de bucket de journaux (
roles/logging.bucketWriter
). - Pour les destinations de projets Google Cloud, ajoutez le
en tant que compte principal à l'aide d'IAM, puis attribuez-lui
Rôle Rédacteur de journaux
(
roles/logging.logWriter
). Plus précisément, le compte principal a besoin Autorisationlogging.logEntries.route
.
- Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur
en tant que compte principal à l'aide d'IAM,
Rôle de créateur des objets Storage
(
Exécutez la
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
Étape suivante
Découvrez comment créer des vues de journaux dans un bucket de journaux. Les vues de journaux vous permettent d'accorder aux principaux un accès en lecture à un sous-ensemble des entrées de journal stockées dans un bucket de journaux.
Pour en savoir plus sur la gestion des récepteurs existants, consultez la section Acheminer les journaux vers des destinations compatibles : gérer les récepteurs.
Si vous rencontrez des problèmes lors de l'utilisation de récepteurs pour acheminer des journaux, consultez la page Résoudre les problèmes de routage et de récepteurs.
Pour savoir comment afficher vos journaux dans leurs destinations et comment les journaux sont formatés et organisés, Afficher les journaux dans les destinations de récepteurs