Façonnez l'avenir des opérations logicielles et faites entendre votre voix en répondant à l'enquête sur l'état du DevOps en 2021.

Stockage des journaux de votre organisation dans un bucket de journaux

Cette page explique comment stocker vos journaux dans un seul bucket de journaux. Un moyen courant de gérer vos journaux consiste à les regrouper entre votre organisation et un seul bucket de journaux. Ce guide vous accompagne tout au long de ce processus à l'aide de l'exemple d'agrégation de tous les journaux d'audit.

Ce processus comprend les étapes suivantes :

  1. Créer le bucket de journaux pour stocker les journaux agrégés

  2. Créer le récepteur au niveau de l'organisation pour acheminer les journaux vers le nouveau bucket de journaux.

  3. Configurer l'accès en lecture au nouveau bucket de journaux

  4. Rechercher des journaux sur la page de l'explorateur de journaux.

Avant de commencer

Pour effectuer les étapes décrites dans ce guide, vous devez savoir :

  • Dans quel projet souhaitez-vous agréger les journaux ? Dans cet exemple, nous utilisons un projet appelé logs-test-project.

  • Quels sont le nom et l'emplacement du bucket de journaux dans lequel vous allez l'agréger ? Dans cet exemple, le nom du bucket est all-audit-logs-bucket et son emplacement est global.

  • Quels journaux voulez-vous inclure ? Dans cet exemple, nous incluons tous les journaux d'audit, logName:cloudaudit.googleapis.com.

  • Quel est le nom du récepteur qui collecte ces journaux ? Dans cet exemple, le nom du récepteur est all-audit-logs-sink.

  • Quel est le numéro de l'organisation ? Dans cet exemple, le numéro de l'organisation est 12345.

Créer un bucket de journaux

Les buckets de journaux stockent les journaux routés à partir d'autres projets, dossiers ou organisations. Pour en savoir plus, consultez la section Gérer les buckets de journaux.

Pour créer le bucket dans le projet dans lequel vous souhaitez agréger des journaux, procédez comme suit :

  1. Ouvrez Google Cloud Console dans le projet que vous utilisez pour agréger les journaux.

    Accéder à Google Cloud Console

  2. Dans un terminal Cloud Shell, exécutez la commande suivante pour créer un bucket, en remplaçant les éléments en gras par vos propres informations :

     gcloud logging buckets create all-audit-logs-bucket \
       --location=global \
       --project=logs-test-project
    
  3. Vérifiez que le bucket a été créé :

    gcloud logging buckets list --project=logs-test-project
    
  4. Vous pouvez également définir la durée de conservation des journaux dans le bucket. Cet exemple étend la conservation des journaux stockés dans le bucket à 365 jours :

    gcloud logging buckets update all-audit-logs-bucket --location=global --project=logs-test-project --retention-days=365
    

Créer le récepteur de journaux

Vous pouvez acheminer des journaux vers un bucket de journaux en créant un récepteur de journaux. Un récepteur inclut un filtre de journaux qui sélectionne les entrées de journal à exporter via ce récepteur et une destination. Dans ce guide, la destination d'exportation est notre bucket, "all-audit-logs-bucket".

Configurer le récepteur au niveau de l'organisation

Pour créer un récepteur, procédez comme suit :

  1. Exécutez la commande suivante en remplaçant les parties en gras par vos propres informations :

    gcloud logging sinks create all-audit-logs-sink \
    logging.googleapis.com/projects/logs-test-project/locations/global/buckets/all-audit-logs-bucket \
      --log-filter='logName:cloudaudit.googleapis.com' \
      --description="All audit logs from my org log sink" \
      --organization=12345 \
      --include-children
    

    L'option --include-children est importante pour que les journaux de tous les projets de votre organisation soient également inclus. Pour en savoir plus, consultez le guide Récepteurs agrégés.

  2. Vérifiez que le récepteur a été créé :

    gcloud logging sinks list --organization=12345
    
  3. Obtenez le nom du compte de service :

    gcloud logging sinks describe all-audit-logs-sink --organization=12345
    

    La sortie ressemble à ceci :

    writerIdentity: serviceAccount:p1234567890-12345@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Copiez la chaîne entière pour writerIdentity commençant par serviceAccount:.

Définir des autorisations pour le récepteur

Après avoir créé le récepteur, vous devez l'autoriser à écrire dans votre bucket. Vous pouvez le faire via Cloud Console ou en modifiant manuellement la stratégie IAM (Identity and Access Management), comme décrit sur la page Gérer les buckets de journaux.

Dans ce guide, nous définissons les autorisations via Cloud Console en procédant comme suit :

  1. Dans Cloud Console, accédez à la page "Cloud IAM".

    Accéder à la page IAM

  2. Cliquez sur Ajouter.

  3. Dans le champ Nouveau membre, ajoutez le compte de service sans le préfixe serviceAccount:.

  4. Dans le menu déroulant Sélectionner un rôle, sélectionnez Rédacteur de buckets de journaux.

  5. Cliquez sur Enregistrer.

Générer des journaux pour faciliter la validation du récepteur

Si votre récepteur utilise des journaux d'audit, vous pouvez vérifier qu'il achemine correctement vos journaux en lançant une VM dans un autre projet, puis en réduisant cette VM pour voir si cet événement apparaît dans les journaux.

Si votre organisation comporte déjà plusieurs projets, vous disposez peut-être d'un trafic de journaux d'audit suffisant, et cette étape n'est donc plus nécessaire.

Configurer l'accès en lecture au nouveau bucket de journaux

Maintenant que vous disposez du routage des journaux pour l'ensemble de votre organisation dans votre bucket, vous pouvez effectuer une recherche dans tous ces journaux. Vous devez accorder un accès en lecture pour afficher les vues dans le nouveau bucket, en particulier le rôle logs views accessor.

Dans ce guide, nous définissons les autorisations via Cloud Console en procédant comme suit :

  1. Dans la Cloud Console du projet que vous utilisez pour agréger les journaux, accédez à la page IAM.

    Accéder à la page IAM

  2. Cliquez sur Ajouter.

  3. Dans le champ Nouveau membre, ajoutez votre compte de messagerie.

  4. Dans le menu déroulant Sélectionner un rôle, sélectionnez Accesseur de vues de journaux.

    Ce rôle fournit aux utilisateurs un accès en lecture à toutes les vues. Pour limiter l'accès des utilisateurs à un bucket spécifique, ajoutez une condition basée sur le nom de la ressource.

    1. Cliquez sur Ajouter une condition :

    2. Saisissez un titre et une description pour la condition.

    3. Dans le menu déroulant Type de condition, sélectionnez Ressource > Nom.

    4. Dans le menu déroulant Opérateur, sélectionnez Se termine par.

    5. Dans le champ Valeur, saisissez la partie de l'ID de bucket correspondant à son emplacement et à son nom.

      Exemple :

      locations/global/buckets/all-audit-logs-bucket
      
    6. Cliquez sur Enregistrer pour ajouter la condition.

  5. Cliquez sur Enregistrer pour définir les autorisations.

Rechercher des journaux sur la page de l'explorateur de journaux

Après avoir défini les autorisations dans la section précédente, accédez à Cloud Console, puis procédez comme suit :

  1. Dans le menu "Journalisation" du projet que vous utilisez pour agréger les journaux, sélectionnez Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Sélectionnez Affiner le niveau d'accès.

  3. Dans le panneau Affiner le niveau d'accès, sélectionnez Recherche par espace de stockage.

  1. Sélectionnez "all-audit-logs-bucket".

  2. Cliquez sur Appliquer.

  3. L'explorateur de journaux s'actualise pour afficher les journaux du bucket.

    Pour en savoir plus sur l'utilisation de l'explorateur de journaux, consultez la page Utiliser l'explorateur de journaux.