Regrouper et acheminer les journaux au niveau de l'organisation et du dossier vers des destinations compatibles

Ce document explique comment créer des récepteurs agrégés. Les récepteurs agrégés vous permettent de combiner et d'acheminer les journaux générés par les 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 des ressources contenues dans une organisation ou un dossier vers une destination.

Si vous souhaitez contrôler les journaux pouvant être interrogés dans ces ressources ou acheminés via les récepteurs de ces ressources, vous pouvez configurer un récepteur agrégé pour qu'il n'intercepte pas ou n'intercepte pas:

  • Un récepteur agrégé non interceptant achemine les journaux via des récepteurs dans des ressources enfants. Avec ce récepteur, vous conservez la visibilité des journaux dans les ressources dans lesquelles ils ont été générés. Les récepteurs qui n'interceptent pas ne sont pas visibles par les 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 contenus par une organisation vers un bucket Cloud Storage central. Les journaux sont stockés dans le bucket Cloud Storage central, ainsi que dans les ressources dans lesquelles ils ont été générés.

  • Un récepteur agrégé interceptant empêche le routage des journaux via des récepteurs de ressources enfants, à l'exception des récepteurs _Required. Ce récepteur peut être utile pour empêcher le stockage de copies en double des journaux à plusieurs emplacements.

    Prenons l'exemple des journaux d'audit des accès aux données, qui peuvent être volumineux et coûteux pour le stockage de plusieurs copies. Si vous avez activé les journaux d'audit des accès aux données, vous pouvez créer un récepteur d'interception au niveau du dossier qui achemine tous les journaux d'audit des accès aux données vers un projet central pour analyse. Ce récepteur interceptant empêche également les récepteurs des ressources enfants d'acheminer les copies des journaux vers un autre emplacement.

    L'interception des récepteurs empêche la transmission des journaux via le routeur de journaux des ressources enfants, sauf si les journaux correspondent également au récepteur _Required. Comme les journaux sont interceptés, ils ne sont pas comptabilisés dans les métriques basées sur les journaux ni dans les alertes basées sur les journaux dans les ressources enfants. Vous pouvez visualiser les récepteurs interceptant les données sur la page Routeur de journaux des ressources enfants.

Pour en savoir plus sur la gestion des récepteurs, consultez la section Acheminer les journaux vers les destinations compatibles: Gérer 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 n'interceptant pas les requêtes pour acheminer les journaux au sein d'une même organisation ou d'un même dossier vers les destinations suivantes:

  • Bucket Cloud Logging: fournit un espace de stockage dans Cloud Logging. Un bucket de journaux peut stocker les entrées de journal reçues par plusieurs projets Google Cloud. Vous pouvez combiner vos données Cloud Logging avec d'autres données en mettant à niveau un bucket de journaux pour utiliser l'Analyse de journaux, puis en créant un ensemble de données BigQuery associé. Pour en savoir plus sur l'affichage des entrées de journaux stockées dans des buckets de journaux, consultez les pages Présentation des journaux - Interroger et afficher les journaux et Afficher les journaux acheminés vers des buckets Cloud Logging.
  • Ensemble de données BigQuery: permet de stocker les entrées de journal dans les ensembles de données BigQuery. Vous pouvez utiliser les fonctionnalités d'analyse de big data sur les entrées de journal stockées. Pour combiner vos données Cloud Logging avec d'autres sources de données, nous vous recommandons de mettre à niveau vos buckets de journaux pour utiliser l'Analyse de journaux, puis de créer un ensemble de données BigQuery associé. Pour en savoir plus sur l'affichage des entrées de journal acheminées vers BigQuery, consultez la page Afficher les journaux acheminés vers BigQuery.
  • Bucket Cloud Storage: il permet de stocker les entrées de journal dans Cloud Storage. Les entrées de journal sont stockées sous forme de fichiers JSON. Pour plus d'informations sur l'affichage des entrées de journal acheminées vers Cloud Storage, consultez la section Afficher les journaux acheminés vers Cloud Storage.
  • Sujet Pub/Sub: fournit une assistance pour les intégrations tierces. Les entrées de journal sont au format JSON, puis acheminées vers un sujet Pub/Sub. Pour plus d'informations sur l'affichage des entrées de journal acheminées vers Pub/Sub, consultez la page Afficher les journaux acheminés vers Pub/Sub.
  • Splunk: fournit une assistance pour Splunk. Vous devez acheminer vos entrées de journal vers un sujet Pub/Sub, puis vous abonner à ce sujet à l'aide de Splunk.
  • Projet Google Cloud: acheminez les entrées de journal vers un autre projet Google Cloud. Lorsque vous acheminez des entrées de journaux vers un autre projet Google Cloud, le routeur de journaux du projet de destination reçoit les entrées de journal et les traite. Les récepteurs du projet de destination déterminent la manière dont les entrées de journal reçues sont acheminées. Error Reporting peut analyser les entrées de journaux lorsque le projet de destination les achemine vers un bucket de journaux appartenant au projet de destination.
  • Autres ressources: acheminez vos entrées de journal vers une destination compatible située dans un projet différent. Pour en savoir plus sur les chemins d'accès à utiliser, consultez la section Formats de chemin de destination.

Bonnes pratiques d'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 nécessitent un contrôle indépendant pour le routage de leurs journaux. Si une ressource enfant nécessite un contrôle indépendant de certains journaux, assurez-vous que le récepteur intercepteur ne les achemine pas.

  • Ajoutez des coordonnées à la description d'un récepteur interceptant. Cela peut être utile si les personnes qui gèrent le récepteur interceptant sont différentes de celles qui gèrent les projets dont les journaux sont interceptés.

  • Testez la configuration de votre récepteur. Pour ce faire, commencez par créer un récepteur agrégé sans interception afin de vous assurer que les journaux appropriés sont acheminés.

Récepteurs agrégés et VPC Service Controls

Les limites suivantes s'appliquent lorsque vous utilisez des récepteurs agrégés et des contrôles de VPC Service Controls:

  • Les récepteurs agrégés peuvent accéder aux données des projets situés dans un périmètre de service. Pour empêcher les récepteurs agrégés d'accéder aux données situées à l'intérieur d'un périmètre, nous vous recommandons de gérer les autorisations de Logging à l'aide d'IAM.

  • VPC Service Controls ne permet pas d'ajouter des ressources de dossier ou d'organisation aux périmètres de service. Par conséquent, vous ne pouvez pas utiliser VPC Service Controls pour protéger les journaux au niveau du dossier et de l'organisation, y compris les journaux agrégés. Pour gérer les autorisations Logging au niveau d'un dossier ou d'une organisation, nous vous recommandons d'utiliser IAM.

  • Si vous achetez des journaux à l'aide d'un récepteur au niveau d'un dossier ou d'une organisation vers une ressource protégée par un périmètre de service, vous devez ajouter une règle d'entrée au périmètre de service. La règle d'entrée doit autoriser l'accès à la ressource à partir 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 et ANY_USER_ACCOUNT comme types d'identité lorsque vous utilisez un récepteur de journaux pour acheminer les journaux vers des ressources Cloud Storage. Toutefois, vous pouvez utiliser ANY_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 dont vous pouvez consulter les journaux dans l'explorateur de journaux.

  • Vous disposez de l'un des rôles IAM suivants pour l'organisation ou le dossier Google Cloud à partir duquel vous redirigez les journaux.

    • 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 le guide du contrôle des accès de Logging.

  • Vous disposez d'une ressource dans une destination compatible ou vous pouvez en créer une.

    La destination de routage doit être créée avant le récepteur, via Google Cloud CLI, la console Google Cloud ou les API Google Cloud. Vous pouvez créer la destination dans n'importe quel projet Google Cloud et n'importe quelle organisation, mais vous devez vous assurer que le compte de service du récepteur dispose des autorisations d'écriture dans la destination.

Créer un récepteur agrégé

Pour créer un récepteur agrégé non interceptant, créez un récepteur dans une organisation ou un dossier Google Cloud, puis définissez le paramètre includeChildren du récepteur sur True. Lorsque vous définissez le paramètre includeChildren, le récepteur achemine les entrées de journal de l'organisation ou du dossier, ainsi que (de manière récursive) les éventuels dossiers, comptes de facturation ou projets Google Cloud qu'ils contiennent. Pour créer un récepteur interceptant, définissez les paramètres includeChildren et interceptChildren sur True.

Pour spécifier les entrées de journal que vous souhaitez acheminer vers votre destination, vous devez définir les filtres d'inclusion et d'exclusion du récepteur.

Pour créer un récepteur agrégé pour votre dossier ou votre organisation, procédez comme suit :

Console

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Routeur de journaux :

    Accéder au routeur de journaux

  2. Sélectionnez un dossier ou une organisation existant.

  3. Cliquez sur Créer un récepteur.

  4. 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.

  5. Dans le panneau Destination du récepteur, sélectionnez le service et la destination du récepteur :

    • Sélectionner le service de récepteur : sélectionnez le service dans lequel vous souhaitez acheminer vos journaux. Si vous créez un récepteur d'interception, vous ne pouvez sélectionner qu'un projet Google Cloud comme destination.

    En fonction du service sélectionné, vous pouvez choisir l'une des destinations suivantes :

    • Bucket Cloud Logging : sélectionnez ou créez un bucket Logging. Si vous créez un bucket de journaux, celui-ci doit se trouver au niveau du projet. Vous ne pouvez pas créer de bucket de journaux au niveau du dossier ou de l'organisation.
    • Table BigQuery : sélectionnez ou créez l'ensemble de données particulier qui recevra les journaux routés. Vous pouvez également utiliser des tables partitionnées.
    • Bucket Cloud Storage : sélectionnez ou créez le bucket Cloud Storage spécifique qui reçoit les journaux routés.
    • Sujet Pub/Sub : sélectionnez ou créez le sujet particulier qui recevra les journaux routés.
    • Splunk : sélectionnez le sujet Pub/Sub du service Splunk.
    • Google Cloud project (Projet Google Cloud) : sélectionnez le projet Google Cloud qui recevra les journaux de routage.

      Par exemple, si la destination de votre récepteur est un ensemble de données BigQuery, la destination du récepteur est la suivante :

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      
  6. Dans le panneau Choisissez des journaux à inclure dans le récepteur, effectuez l'une des opérations suivantes:

    • Pour créer un récepteur agrégé non interceptant, sélectionnez Inclure les journaux ingérés par cette ressource et toutes les ressources enfants.

    • Pour créer un récepteur d'interception, sélectionnez Intercepter les journaux ingérés par cette organisation et toutes les ressources enfants.

  7. Dans la boîte de dialogue, saisissez une expression de filtre dans le champ Créer un filtre d'inclusion correspondant aux entrées de journal que vous souhaitez inclure. Si vous ne définissez pas de filtre, tous les journaux de la ressource sélectionnée sont acheminés vers la destination.

    Par exemple, vous pouvez créer un filtre pour acheminer tous les journaux d'audit des accès aux données vers un seul bucket Logging. Ce filtre se présente comme suit:

    LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
    

    Notez que la longueur d'un filtre ne peut pas dépasser 20 000 caractères.

  8. (Facultatif) Pour vérifier que vous avez saisi le bon filtre, sélectionnez Prévisualiser les journaux. L'explorateur de journaux s'ouvre alors dans un nouvel onglet, avec le filtre prérempli.

  9. (Facultatif) Dans le panneau Sélectionner les journaux à exclure du récepteur, procédez comme suit :

    1. Dans le champ Nom du filtre d'exclusion, saisissez un nom.

    2. 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 empêcher l'acheminement des journaux d'un projet spécifique vers la destination, ajoutez le filtre d'exclusion suivant:

      logName:projects/PROJECT_ID
      

      Pour exclure les journaux 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.

  10. Cliquez sur Créer un récepteur.

API

Pour créer un récepteur, utilisez organizations.sinks.create ou folders.sinks.create dans l'API Logging. Préparez les arguments de la méthode comme suit :

  1. Définissez le paramètre parent comme l'organisation ou le dossier Google Cloud dans lequel créer le récepteur. Le parent doit correspondre à l'un des éléments suivants :

    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
  2. Dans l'objet LogSink du corps de la requête de méthode, effectuez l'une des opérations suivantes:

    • Pour créer un récepteur agrégé non interceptant, définissez includeChildren sur True.

    • Pour créer un récepteur d'interception, définissez les paramètres includeChildren et interceptChildren sur True.

  3. Définissez la propriété filter pour qu'elle corresponde aux entrées de journal que vous souhaitez inclure. Notez que la longueur d'un filtre ne peut pas dépasser 20 000 caractères.

    Pour obtenir des exemples de filtres utiles, consultez la section Créer des filtres pour les récepteurs agrégés.

  4. Définissez les champs LogSink restants comme vous le feriez pour n’importe quel récepteur. Pour en savoir plus, consultez la section Acheminer les journaux vers des destinations compatibles.

  5. Appelez la méthode organizations.sinks.create ou folders.sinks.create pour créer le récepteur.

  6. Récupérez le nom du compte de service dans le champ writer_identity renvoyé par la réponse de l'API.

  7. Autorisez ce compte de service à écrire sur la destination du récepteur.

    Si vous n'êtes pas autorisé à apporter cette modification à la destination du récepteur, envoyez le nom du compte de service à une personne en mesure d'effectuer cette modification pour vous.

    Pour plus d'informations sur l'octroi des autorisations de comptes de service pour les ressources, consultez la section Définir les autorisations de destination.

gcloud

Pour créer un récepteur agrégé, exécutez la commande logging sinks create. Pour créer un récepteur agrégé sans interception, spécifiez l'option --include-children. Pour créer un récepteur interceptant, spécifiez les options --include-children et --intercept-children.

  1. Indiquez le nom du récepteur, sa destination, le filtre et l'ID du dossier ou de l'organisation à partir duquel vous acheminez les journaux. L'exemple suivant crée un récepteur agrégé sans interception :

    gcloud logging sinks create SINK_NAME \
      SINK_DESTINATION  --include-children \
      --folder=FOLDER_ID --log-filter="LOG_FILTER"
    

    Par exemple, si vous créez un récepteur agrégé au niveau du dossier et dont la destination est un ensemble de données BigQuery, votre commande peut ressembler à ceci :

    gcloud logging sinks create SINK_NAME \
      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID --include-children \
      --folder=FOLDER_ID --log-filter="logName:activity"
    

    Remarques :

    • Pour créer un récepteur au niveau de l'organisation, remplacez --folder=FOLDER_ID par --organization=ORGANIZATION_ID.

    • Pour permettre au récepteur d'inclure toutes les ressources de l'organisation, vous devez spécifier l'option --include-children, même si l'option --organization est transmise à create. Lorsque cette option est définie sur false (valeur par défaut), le récepteur n'achemine que les journaux de la ressource hôte.

    • Pour obtenir des exemples de filtres utiles, consultez la section Créer des filtres pour les récepteurs agrégés.

  2. Récupérez le nom du compte de service utilisé pour créer le récepteur à partir du résultat de la commande.

  3. Autorisez ce compte de service à écrire sur la destination du récepteur.

    Si vous n'êtes pas autorisé à apporter cette modification à la destination du récepteur, envoyez le nom du compte de service à une personne en mesure d'effectuer cette modification pour vous.

    Pour plus d'informations sur l'octroi des autorisations de comptes de service pour les ressources, consultez la section Définir les autorisations de destination.

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 envoyée à la ressource enfant. Une entrée de journal qui correspond au filtre d'inclusion et qui n'est pas exclue est acheminée.

Si vous souhaitez que votre récepteur achemine les journaux de toutes les ressources enfants, ne spécifiez pas de projet, de dossier ni d'organisation dans ses filtres d'inclusion et d'exclusion. Par exemple, supposons que vous configuriez un récepteur agrégé pour une organisation avec le filtre suivant:

resource.type="gce_instance"

Avec le filtre précédent, les journaux contenant un type de ressource d'instances Compute Engine qui sont écrits dans n'importe quel enfant de cette organisation sont acheminés par le récepteur agrégé vers la destination.

Toutefois, vous pouvez parfois avoir besoin d'utiliser un récepteur agrégé pour acheminer les journaux uniquement à partir de ressources enfants spécifiques. Par exemple, pour des raisons de conformité, vous pouvez stocker les journaux d'audit de dossiers ou de projets spécifiques dans leur propre bucket Cloud Storage. Dans ces situations, configurez votre filtre d'inclusion pour spécifier chaque ressource enfant dont vous souhaitez acheminer les journaux. Si vous souhaitez acheminer les journaux d'un dossier et de tous les projets qu'il contient, le filtre doit répertorier le dossier et chacun des projets qu'il contient, ainsi que joindre les instructions à l'aide d'une clause OR.

Les filtres suivants limitent les journaux à 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 journaux écrits dans les 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 journaux écrits sur une ressource autre que my-folder, y compris ceux écrits 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 journaux d'une ressource surveillée spécifique dans un projet Google Cloud uniquement, utilisez plusieurs comparaisons pour spécifier exactement la ressource:

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 les autorisations Identity and Access Management pour écrire des journaux 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 journaux vers une destination autre qu'un bucket de journaux du projet actuel, un compte de service est requis pour ce récepteur. Logging crée et gère automatiquement le compte de service à votre place:

  • Depuis le 22 mai 2023, lorsque vous créez un récepteur et qu'il n'existe aucun compte de service pour la ressource sous-jacente, Logging crée le compte de service. Logging utilise le même compte de service pour tous les récepteurs de la ressource sous-jacente. Les ressources peuvent être un projet Google Cloud, une organisation, un dossier ou un compte de facturation.
  • Avant le 22 mai 2023, Logging a créé un compte de service pour chaque récepteur. Depuis le 22 mai 2023, Logging utilise un compte de service partagé pour tous les récepteurs de la ressource sous-jacente.

L'identité du rédacteur d'un récepteur est l'identifiant du compte de service associé à ce récepteur. Tous les récepteurs ont une identité de rédacteur, sauf s'ils écrivent dans un bucket de journaux du projet Google Cloud actuel.

Pour acheminer des journaux 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 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

  1. Pour obtenir des informations sur le compte de service de votre récepteur, procédez comme suit:

    1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Logging, puis Routeur de journaux :

      Accéder au routeur de journaux

    2. Sélectionnez Menu , puis Afficher les détails du récepteur.

      Dans le panneau Détails du récepteur, le champ writerIdentity contient l'identité du compte de service. La chaîne serviceAccount: fait partie de l'identité du compte de service. Exemple :

      serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
      
  2. Sur le projet de destination, attribuez à l'identité du rédacteur le rôle requis pour que le compte de service écrive sur la destination. Pour attribuer un rôle à un compte principal, vous devez disposer du rôle de propriétaire (roles/owner):

    • Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle 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, 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 compte principal à l'aide d'IAM, puis attribuez-lui le rôle Éditeur Pub/Sub (roles/pubsub.publisher).
    • Pour les destinations des buckets Logging dans différents projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle Rédacteur de bucket de journaux (roles/logging.bucketWriter).
    • Pour les destinations des projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle Rédacteur de journaux (roles/logging.logWriter). Plus précisément, un compte principal a besoin de l'autorisation logging.logEntries.route.
    Si vous ne disposez pas d'un accès Propriétaire à la destination du récepteur, demandez à un propriétaire du projet d'ajouter l'identité du rédacteur en tant que compte principal.

API

  1. Pour obtenir des informations sur le compte de service de votre récepteur, appelez la méthode API organizations.sinks.get ou folders.sinks.get.

    Le champ writerIdentity contient l'identité du compte de service. La chaîne serviceAccount: fait partie de l'identité du compte de service. Exemple :

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  2. Sur le projet de destination, attribuez à l'identité du rédacteur le rôle requis pour que le compte de service écrive sur la destination. Pour attribuer un rôle à un compte principal, vous devez disposer du rôle de propriétaire (roles/owner):

    • Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle 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, 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 compte principal à l'aide d'IAM, puis attribuez-lui le rôle Éditeur Pub/Sub (roles/pubsub.publisher).
    • Pour les destinations des buckets Logging dans différents projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle Rédacteur de bucket de journaux (roles/logging.bucketWriter).
    • Pour les destinations des projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle Rédacteur de journaux (roles/logging.logWriter). Plus précisément, un compte principal a besoin de l'autorisation logging.logEntries.route.
    Si vous ne disposez pas d'un accès Propriétaire à la destination du récepteur, demandez à un propriétaire du projet d'ajouter l'identité du rédacteur en tant que compte principal.

gcloud

  1. Pour obtenir des informations sur le compte de service de votre récepteur, exécutez la commande suivante:

    gcloud logging sinks describe SINK_NAME
    

    Le champ writerIdentity contient l'identité du compte de service. La chaîne serviceAccount: fait partie de l'identité du compte de service. Exemple :

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  2. Sur le projet de destination, attribuez à l'identité du rédacteur le rôle requis pour que le compte de service écrive sur la destination. Pour attribuer un rôle à un compte principal, vous devez disposer du rôle de propriétaire (roles/owner):

    • Pour les destinations Cloud Storage, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle 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, 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 compte principal à l'aide d'IAM, puis attribuez-lui le rôle Éditeur Pub/Sub (roles/pubsub.publisher).
    • Pour les destinations des buckets Logging dans différents projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle Rédacteur de bucket de journaux (roles/logging.bucketWriter).
    • Pour les destinations des projets Google Cloud, ajoutez l'identité du rédacteur du récepteur en tant que compte principal à l'aide d'IAM, puis attribuez-lui le rôle Rédacteur de journaux (roles/logging.logWriter). Plus précisément, un compte principal a besoin de l'autorisation logging.logEntries.route.
    Si vous ne disposez pas d'un accès Propriétaire à la destination du récepteur, demandez à un propriétaire du projet d'ajouter l'identité du rédacteur en tant que compte principal.

Étapes suivantes