Bonnes pratiques pour les journaux d'audit Cloud

Ce document recommande une séquence de tâches de journalisation d'audit pour aider votre organisation à assurer la sécurité et à minimiser les risques.

Ce document n'est pas une liste exhaustive de recommandations. Son objectif est plutôt de vous aider à comprendre l'étendue des activités de journalisation d'audit et à planifier en conséquence.

Chaque section fournit des actions clés et inclut des liens vers une documentation complémentaire.

Comprendre Cloud Audit Logs

Les journaux d'audit sont disponibles pour la plupart des services Google Cloud. Cloud Audit Logs fournit les types de journaux d'audit suivants pour chaque projet, compte de facturation, dossier et organisation Google Cloud:

Type de journal d'audit Configurable À facturer
Journaux d'audit pour les activités d'administration Non, toujours écrit Non
Journaux d'audit pour l'accès aux données Oui Oui
Journaux d'audit des refus de règles Oui, vous pouvez empêcher l'écriture de ces journaux dans des buckets de journaux. Oui
Journaux d'audit d'événements système Non, toujours écrit Non

Les journaux d'audit pour l'accès aux données sont désactivés par défaut (sauf dans BigQuery). Si vous souhaitez que les journaux d'audit des accès aux données soient écrits pour les services Google Cloud, vous devez les activer explicitement. Pour en savoir plus, consultez la section Configurer les journaux d'audit pour l'accès aux données sur cette page.

Pour en savoir plus sur l'ensemble du paysage de la journalisation d'audit avec Google Cloud, consultez la présentation de Cloud Audit Logs.

Contrôler l'accès aux journaux

En raison de la sensibilité des données de journalisation d'audit, il est particulièrement important de configurer les contrôles d'accès appropriés pour les utilisateurs de votre organisation.

Selon vos exigences de conformité et d'utilisation, définissez ces contrôles d'accès comme suit:

Définir les autorisations IAM

Les autorisations et les rôles IAM déterminent la capacité des utilisateurs à accéder aux données des journaux d'audit dans l'API Logging, l'explorateur de journaux et la Google Cloud CLI. Utilisez IAM pour accorder un accès précis à des buckets Google Cloud spécifiques et empêcher tout accès indésirable à d'autres ressources.

Les rôles basés sur les autorisations que vous accordez à vos utilisateurs dépendent de leurs fonctions liées à l'audit au sein de votre organisation. Par exemple, vous pouvez accorder à votre CTO des autorisations administratives étendues, tandis que les membres de votre équipe de développeurs peuvent avoir besoin d'autorisations d'affichage des journaux. Pour savoir quels rôles attribuer aux utilisateurs de votre organisation, consultez la section Configurer les rôles pour Audit Logging.

Lorsque vous définissez des autorisations IAM, appliquez le principe de sécurité du moindre privilège afin de n'accorder aux utilisateurs que l'accès nécessaire à vos ressources:

  • Supprimez tous les utilisateurs non essentiels.
  • Accordez aux utilisateurs essentiels les autorisations correctes et minimales.

Pour obtenir des instructions sur la définition des autorisations IAM, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Configurer les vues de journaux

Tous les journaux, y compris les journaux d'audit, reçus par Logging sont écrits dans des conteneurs de stockage appelés buckets de journaux. Les vues de journaux vous permettent de contrôler qui a accès aux journaux dans vos buckets de journaux.

Comme les buckets de journaux peuvent contenir les journaux de plusieurs projets Google Cloud, vous devrez peut-être contrôler les projets Google Cloud dont les différents utilisateurs peuvent consulter les journaux. Créez des vues de journaux personnalisées afin de bénéficier d'un contrôle d'accès plus précis pour ces buckets.

Vous pouvez interroger les vues de journaux avec l'explorateur de journaux ou avec Log Analytics. Pour en savoir plus, consultez la section Présentation de l'interrogation et de l'affichage des journaux.

Pour savoir comment créer et gérer des vues de journaux, consultez la page Configurer des vues de journaux sur un bucket de journaux.

Définir des contrôles d'accès au niveau des champs de journal

Les contrôles d'accès au niveau des champs vous permettent de masquer des champs LogEntry individuels pour les utilisateurs d'un projet Google Cloud. Vous disposez ainsi d'un moyen plus précis de contrôler les données de journaux auxquelles un utilisateur peut accéder. Par rapport aux vues de journaux, qui masquent l'intégralité de LogEntry, les contrôles d'accès au niveau du champ masquent les champs individuels de LogEntry. Par exemple, vous pouvez masquer les informations personnelles des utilisateurs externes, telles qu'une adresse e-mail contenue dans la charge utile de l'entrée de journal, pour la majorité des utilisateurs de votre organisation.

Si vous prévoyez d'utiliser Log Analytics pour analyser vos journaux d'audit, ne configurez pas de contrôles d'accès au niveau des champs sur le bucket de journaux qui les stocke. Vous ne pouvez pas utiliser Log Analytics sur des buckets de journaux pour lesquels des contrôles d'accès au niveau du champ sont configurés.

Pour savoir comment configurer les contrôles d'accès au niveau des champs, consultez la section Configurer l'accès au niveau des champs.

Configurer les journaux d'audit pour l'accès aux données

Lorsque vous activez de nouveaux services Google Cloud, évaluez si vous devez activer ou non les journaux d'audit d'accès aux données.

Les journaux d'audit pour l'accès aux données aident l'assistance Google à résoudre les problèmes liés à votre compte. Par conséquent, nous vous recommandons d'activer les journaux d'audit des accès aux données lorsque cela est possible.

Pour activer tous les journaux d'audit pour tous les services, suivez les instructions pour mettre à jour Identity and Access Management (IAM) avec la configuration répertoriée dans la stratégie d'audit.

Après avoir défini votre stratégie d'accès aux données au niveau de l'organisation et activé les journaux d'audit pour l'accès aux données, utilisez un projet Google Cloud de test pour valider la configuration de votre collecte de journaux d'audit avant de créer des projets Google Cloud de développement et de production dans l'organisation.

Pour savoir comment activer les journaux d'audit des accès aux données, consultez la page Activer les journaux d'audit des accès aux données.

Contrôler le stockage de vos journaux

Vous pouvez configurer certains aspects des buckets de votre organisation et créer des buckets définis par l'utilisateur pour centraliser ou subdiviser votre stockage de journaux. En fonction de vos exigences de conformité et d'utilisation, vous pouvez personnaliser le stockage de journaux comme suit:

  • Choisissez l'emplacement de stockage de vos journaux.
  • Définissez la durée de conservation des données.
  • Protégez vos journaux avec des clés de chiffrement gérées par le client (CMEK).

Choisissez l'emplacement où stocker vos journaux

Dans Logging, les buckets sont des ressources régionales: l'infrastructure qui stocke, indexe et recherche vos journaux est située dans un emplacement géographique spécifique.

Votre organisation peut être amenée à stocker ses données de journaux dans des régions spécifiques. Les principaux facteurs qui déterminent la région dans laquelle vos journaux sont stockés consistent, entre autres, à répondre aux exigences de latence, de disponibilité ou de conformité de votre organisation.

Pour appliquer automatiquement une région de stockage spécifique aux nouveaux buckets _Default et _Required créés dans votre organisation, vous pouvez configurer un emplacement de ressource par défaut.

Pour savoir comment configurer les emplacements des ressources par défaut, consultez la section Configurer les paramètres par défaut pour les organisations.

Définir les durées de conservation des données

Cloud Logging conserve les journaux conformément aux règles de conservation appliquées au type de bucket de journaux où ils sont conservés.

Pour répondre à vos besoins de conformité, configurez Cloud Logging de façon à ce que les journaux soient conservés entre 1 et 3 650 jours. Les règles de conservation personnalisées s'appliquent à tous les journaux d'un bucket, qu'ils aient été copiés depuis un autre emplacement ou non.

Pour savoir comment définir des règles de conservation pour un bucket de journaux, consultez la page Configurer la conservation personnalisée.

Protéger vos journaux d'audit avec des clés de chiffrement gérées par le client

Par défaut, Cloud Logging chiffre le contenu client stocké au repos. Votre organisation peut exiger des fonctionnalités de chiffrement avancées que le chiffrement au repos par défaut ne fournit pas. Afin de respecter les exigences de votre organisation, au lieu de laisser Google gérer les clés de chiffrement de clés qui protègent vos données, vous pouvez configurer des clés de chiffrement gérées par le client (CMEK) pour contrôler et gérer votre propre chiffrement.

Pour savoir comment configurer CMEK, consultez la section Configurer CMEK pour le stockage des journaux.

Tarifs

Cloud Logging ne facture pas l'acheminement des journaux vers une destination compatible. Toutefois, la destination peut facturer des frais. À l'exception du bucket de journaux _Required, Cloud Logging facture le streaming de journaux dans des buckets de journaux et le stockage pendant une durée supérieure à la période de conservation par défaut du bucket de journaux.

Cloud Logging ne facture pas la copie des journaux, la définition des champs d'application des journaux ni les requêtes émises via les pages Explorateur de journaux ou Analyse de journaux.

Pour en savoir plus, consultez les documents suivants :

Lorsque vous configurez et utilisez vos journaux d'audit, nous vous recommandons de suivre les bonnes pratiques liées aux tarifs suivantes:

  • Estimer vos factures en consultant vos données d'utilisation et en configurant des règles d'alerte.

  • Sachez que les journaux d'audit pour l'accès aux données peuvent être volumineux et générer des frais de stockage supplémentaires.

  • Gérez vos coûts en excluant les journaux d'audit inutiles. Par exemple, vous pouvez probablement exclure les journaux d'audit pour l'accès aux données dans les projets de développement.

Interroger et afficher les journaux d'audit

En cas de problème, vous devez pouvoir consulter rapidement les journaux. Dans la console Google Cloud, utilisez l'explorateur de journaux pour récupérer les entrées du journal d'audit de votre organisation:

  1. Dans la console Google Cloud, accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Logging.

  2. Sélectionnez votre organisation.

  3. Dans le volet Query (Requête), procédez comme suit:

    • Dans Type de ressource, sélectionnez la ressource Google Cloud dont vous souhaitez afficher les journaux d'audit.

    • Dans Nom du journal, sélectionnez le type de journal d'audit que vous souhaitez afficher :

      • Pour les journaux d'audit pour les activités d'administration, sélectionnez activity.
      • Pour les journaux d'audit des accès aux données, sélectionnez data_access.
      • Pour les journaux d'audit des événements système, sélectionnez system_event.
      • Pour les journaux d'audit des refus de règles, sélectionnez policy.

      Si ces options ne s'affichent pas, cela signifie qu'aucun journal d'audit de ce type n'est disponible dans l'organisation.

    • Dans l'éditeur de requête, spécifiez plus précisément les entrées du journal d'audit que vous souhaitez afficher. Pour obtenir des exemples de requêtes courantes, consultez la page Exemples de requêtes avec l'explorateur de journaux.

  4. Cliquez sur Exécuter la requête.

Pour en savoir plus sur l'utilisation de l'explorateur de journaux pour effectuer des requêtes, consultez la page Créer des requêtes dans l'explorateur de journaux.

Surveiller vos journaux d'audit

Vous pouvez utiliser Cloud Monitoring pour vous avertir lorsque les conditions que vous décrivez apparaissent. Pour fournir à Cloud Monitoring des données provenant de vos journaux, Logging vous permet de créer des règles d'alerte basées sur les journaux, qui vous avertissent chaque fois qu'un événement spécifique apparaît dans un journal.

Configurez des règles d'alerte pour distinguer les événements nécessitant une enquête immédiate des événements à faible priorité. Par exemple, si vous souhaitez savoir quand un journal d'audit enregistre un message d'accès aux données particulier, vous pouvez créer une règle d'alerte basée sur les journaux qui correspond au message et vous avertit lorsqu'il apparaît.

Pour obtenir des instructions sur la configuration des règles d'alerte basées sur les journaux, consultez la page Gérer les règles d'alerte basées sur les journaux.

Acheminer les journaux vers les destinations compatibles

Votre organisation peut être tenue de créer et de conserver des journaux d'audit. Les récepteurs vous permettent d'acheminer une partie ou l'ensemble de vos journaux vers les destinations compatibles suivantes:

  • Un autre bucket Cloud Logging

Déterminez si vous avez besoin de récepteurs au niveau du dossier ou de l'organisation, puis acheminez les journaux de tous les projets Google Cloud de l'organisation ou du dossier à l'aide de récepteurs agrégés. Par exemple, vous pouvez envisager les cas d'utilisation de routage suivants:

  • Récepteur au niveau de l'organisation: si votre organisation utilise un SIEM pour gérer plusieurs journaux d'audit, vous pouvez acheminer tous les journaux d'audit de votre organisation. Dans ce contexte, un récepteur au niveau de l'organisation est logique.

  • Évier au niveau du dossier: il peut arriver que vous souhaitiez n'acheminer que les journaux d'audit d'un service. Par exemple, si vous avez un dossier "Finance" et un dossier "IT", vous pouvez souhaiter router uniquement les journaux d'audit appartenant au dossier "Finance", ou inversement.

    Pour en savoir plus sur les dossiers et les organisations, consultez la section Hiérarchie des ressources.

Appliquez à la destination Google Cloud que vous utilisez pour acheminer les journaux les mêmes stratégies d'accès que celles que vous avez appliquées à l'explorateur de journaux.

Pour savoir comment créer et gérer des récepteurs agrégés, consultez la section Générer et acheminer des journaux au niveau de l'organisation vers des destinations compatibles.

Comprendre le format des données dans les destinations de récepteurs

Lorsque vous acheminez des journaux d'audit vers des destinations en dehors de Cloud Logging, vous devez comprendre le format des données envoyées.

Par exemple, si vous acheminez des journaux vers BigQuery, Cloud Logging applique des règles pour raccourcir les noms de champs des schémas BigQuery pour les journaux d'audit et pour certains champs de charge utile structurée.

Pour comprendre et trouver les entrées de journal que vous avez acheminées de Cloud Logging vers des destinations compatibles, consultez la section Afficher les journaux dans les destinations de récepteurs.

Copier les entrées de journal

En fonction des besoins de conformité de votre organisation, vous devrez peut-être partager les entrées de journal d'audit avec des auditeurs en dehors de Logging. Si vous devez partager des entrées de journal déjà stockées dans des buckets Cloud Logging, vous pouvez les copier manuellement dans des buckets Cloud Storage.

Après avoir copié des entrées de journal dans Cloud Storage, les entrées de journal restent stockées dans le bucket à partir duquel elles ont été copiées.

Notez que les opérations de copie ne remplacent pas les récepteurs, qui envoient automatiquement toutes les entrées de journal entrantes à une destination de stockage compatible présélectionnée, ce qui inclut Cloud Storage.

Pour savoir comment acheminer des journaux vers Cloud Storage de manière rétroactive, consultez la section Copier des entrées de journal.