Cloud Audit Logs

Les services Google Cloud alimentent des journaux d'audit pour vous aider à déterminer qui fait quoi, où et quand. au sein de vos ressources Google Cloud.

La fonctionnalité de journaux d'audit Cloud permet aux entités chargées de la sécurité, de l'audit et de la conformité de gérer les outils d'audit dans Google Cloud. Grâce aux journaux d'audit Cloud, votre entreprise peut atteindre le même niveau de transparence sur les activités d'administration et d'accès aux données dans Google Cloud que dans les environnements sur site. Les journaux d'audit aident l'équipe d'assistance Google Cloud à résoudre les problèmes liés à votre compte.

Services Google générant des journaux d'audit

Pour obtenir la liste des services Google Cloud qui fournissent des journaux d'audit, consultez la page Services Google avec journaux d'audit. À terme, tous les services Google Cloud fourniront des journaux d'audit.

Types de journaux d'audit

Cloud Audit Logs gère les journaux d'audit suivants pour chaque projet, dossier et organisation sur le cloud :

Journaux d'audit pour les activités d'administration

Les journaux d'audit pour les activités d'administration contiennent des entrées relatives aux appels d'API et aux autres actions qui modifient la configuration ou les métadonnées des ressources. Par exemple, ces journaux enregistrent lorsque les utilisateurs créent des instances de VM ou modifient les autorisations Identity and Access Management.

Les journaux d'audit pour les activités d'administration sont toujours écrits. Vous ne pouvez pas les configurer, les exclure ni les désactiver. Même si vous désactivez l'API Cloud Logging, les journaux d'audit pour les activités d'administration sont toujours générés.

Journaux d'audit pour l'accès aux données

Les journaux d'audit relatifs à l'accès aux données contiennent des appels d'API qui lisent la configuration ou les métadonnées des ressources, et des appels d'API pilotés par l'utilisateur qui créent, modifient ou lisent des données de ressources fournies par l'utilisateur.

Les ressources disponibles publiquement qui disposent des stratégies Identity and Access Management allAuthenticatedUsers ou allUsers ne génèrent pas de journaux d'audit. Les ressources accessibles sans connexion à un compte Google Cloud, Google Workspace, Cloud Identity ou Drive Enterprise ne génèrent pas de journaux d'audit. Cela permet de protéger les identités des utilisateurs finaux et les informations.

Les journaux d'audit des accès aux données, à l'exception de ceux associés à BigQuery, sont désactivés par défaut, car leur taille peut être assez importante. Si vous souhaitez que les journaux d'audit des accès aux données soient écrits pour les services Google Cloud autres que BigQuery, vous devez les activer explicitement. L'activation des journaux peut entraîner la facturation de votre projet Cloud pour l'utilisation de journaux supplémentaires. Pour découvrir comment activer et configurer les journaux d'audit pour l'accès aux données, consultez la page Configurer les journaux d'audit pour l'accès aux données.

Journaux d'audit d'événements système

Les journaux d'audit d'événements système contiennent des entrées de journal associées aux actions Google Cloud qui modifient la configuration des ressources. Les journaux d'audit d'événements système sont générés par les systèmes Google. Elles ne sont pas générées par une action directe de l'utilisateur.

Les journaux d'audit d'événements système sont toujours écrits. Vous ne pouvez pas les configurer, les exclure ni les désactiver.

Journaux d'audit des refus de règles

Les journaux d'audit de refus de règles sont enregistrés lorsqu'un service Google Cloud refuse l'accès à un utilisateur ou à un compte de service en raison d'une violation des règles de sécurité. Les règles de sécurité sont déterminées par VPC Service Controls, qui fournit les journaux d'audit de refus de règles à Cloud Logging.

Les journaux d'audit de refus de règles sont générés par défaut et le projet Cloud est facturé pour leur stockage. Vous ne pouvez pas désactiver les journaux d'audit de refus de règles, mais vous pouvez utiliser des filtres d'exclusion pour empêcher leur ingestion et leur stockage dans Cloud Logging.

Structure des entrées des journaux d'audit

Dans Cloud Logging, chaque entrée de journal d'audit est un objet de type LogEntry. Une entrée de journal d'audit se distingue des autres entrées de journal par le champ protoPayload. Ce champ contient un objet AuditLog qui stocke les données de journalisation d'audit.

Pour comprendre comment lire et interpréter les entrées du journal d'audit, consultez la section Comprendre les journaux d'audit.

Identités de l'appelant dans les journaux d'audit

Les journaux d'audit enregistrent l'identité ayant effectué les opérations consignées sur la ressource Google Cloud. L'identité de l'appelant est conservée dans le champ AuthenticationInfo des objets AuditLog.

L'adresse e-mail principale de l'appelant est masquée dans un journal d'audit si l'opération est en lecture seule et échoue avec une erreur d'autorisation refusée. La seule exception est lorsque l'appelant est un compte de service qui est membre de l'organisation Google Cloud associée à la ressource, l'adresse e-mail n'est pas masquée.

Outre les conditions ci-dessus, les conditions suivantes s'appliquent à certains produits Google Cloud :

Si vous consultez les journaux d'audit à l'aide de la page Activité de Google Cloud Console, User (anonymized) s'affiche pour toutes les entrées de journal dont l'identité est masquée ou vide.

Afficher les journaux d'audit

Pour rechercher et afficher les journaux d'audit, vous devez connaître l'identifiant de l'organisation, du dossier ou du projet Cloud concerné. Vous pouvez également spécifier d'autres champs LogEntry indexés, tels que resource.type. Pour en savoir plus, consultez la section Trouver des entrées de journal rapidement.

Les noms de journaux d'audit sont indiqués ci-dessous. Ils incluent des variables correspondant aux identifiants de l'organisation, du dossier ou du projet Cloud :

   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy

   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy

Vous pouvez afficher les journaux d'audit dans Cloud Logging à l'aide de Cloud Console, de l'outil de ligne de commande gcloud ou de l'API Logging.

Console

Vous pouvez utiliser l'explorateur de journaux de Cloud Console pour récupérer les entrées du journal d'audit de votre projet, dossier ou organisation Cloud :

  1. Dans Cloud Console, accédez à la page Journaux > Explorateur de journaux.

    Accéder à la page "Explorateur de journaux"

  2. Sur la page Explorateur de journaux, sélectionnez un projet, un dossier ou une organisation Cloud existante.

  3. Dans le volet Générateur de requêtes, 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 sont pas visibles, cela signifie qu'aucun journal d'audit de ce type n'est disponible dans le projet, le dossier ou l'organisation Cloud.

    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 de journal.

gcloud

L'outil de ligne de commande gcloud fournit une interface de ligne de commande à l'API Cloud Logging. Fournissez un ID PROJECT_ID, FOLDER_ID ou ORGANIZATION_ID valide dans chacun des noms de journaux.

Pour lire les entrées de journal d'audit au niveau du projet Cloud, exécutez la commande suivante :

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID

Pour lire les entrées de journal d'audit au niveau d'un dossier, exécutez la commande suivante :

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID

Pour lire les entrées de journal d'audit au niveau de l'organisation, exécutez la commande suivante :

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

Pour en savoir plus sur l'utilisation de l'outil gcloud, consultez la page Lire les entrées de journal.

API

Lorsque vous créez des requêtes, remplacez les variables par des valeurs valides. Spécifiez des noms et identifiants de journaux d'audit appropriés au niveau d'un projet, d'un dossier ou d'une organisation, comme indiqué dans les noms des journaux d'audit. Par exemple, si votre requête inclut un PROJECT_ID, l'identifiant de projet que vous fournissez doit faire référence au projet Cloud actuellement sélectionné.

Pour consulter les entrées de journal d'audit à l'aide de l'API Logging, procédez comme suit :

  1. Accédez à la section Essayer cette API dans la documentation de la méthode entries.list.

  2. Insérez les éléments suivants dans la partie Corps de la requête du formulaire Essayer cette API. En cliquant sur ce formulaire prérempli, vous remplissez automatiquement le corps de la requête mais vous devez fournir un ID de projet PROJECT_ID valide pour chaque nom de journal.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Cliquez sur Exécuter.

Pour en savoir plus sur les requêtes, consultez la page Langage de requête Logging.

Pour obtenir un exemple d'entrée de journal d'audit et savoir comment y trouver les informations les plus importantes, consultez la page Exemple d'entrée de journal d'audit.

Utiliser la page "Activité"

Vous pouvez afficher les entrées de journaux d'audit abrégées dans la page Activité de votre projet, dossier ou organisation Cloud dans Cloud Console. Les entrées réelles du journal d'audit peuvent contenir plus d'informations que celles affichées sur la page Activité.

Pour afficher les entrées abrégées des journaux d'audit dans Cloud Console, procédez comme suit:

  1. Accédez à la page Activité :

    Accéder à la page "Activité"

  2. Dans le sélecteur de projet, choisissez le projet, le dossier ou l'organisation Cloud pour lequel vous souhaitez afficher les entrées des journaux d'audit.

  3. Dans le panneau Filtre, sélectionnez les entrées que vous souhaitez afficher.

Dans la page "Activité", où l'identité associée aux actions consignées est masquée dans l'entrée du journal d'audit, la valeur User (anonymized) est affichée. Pour en savoir plus, consultez la section Identités d'appelant dans les journaux d'audit sur cette page.

Stocker et router les journaux d'audit

Cloud Logging utilise des buckets de journaux comme conteneurs qui stockent et organisent vos données de journaux. Pour chaque projet, dossier et organisation Cloud, Logging crée automatiquement deux buckets de journaux, _Required et _Default, chacun nommé récepteur.

Les buckets _Required Cloud Logging ingèrent et stockent les journaux d'audit pour les activités d'administration et les événements système. Vous ne pouvez pas configurer les buckets _Required ni les données de journaux qu'il contient.

Par défaut, les buckets _Default ingère et stockent les journaux d'audit des accès aux données activés ainsi que les journaux d'audit des refus de règles. Pour empêcher le stockage des journaux d'audit pour l'accès aux données dans les buckets _Default, vous pouvez les désactiver. Pour empêcher le stockage des journaux d'audit de refus de règles dans les buckets _Default, vous pouvez les exclure en modifiant les filtres de leur récepteur.

Vous pouvez également acheminer vos entrées de journal d'audit vers des buckets Cloud Logging définis par l'utilisateur, au niveau du projet Cloud ou vers des destinations compatibles en dehors de Logging, à l'aide de récepteurs. Consultez la page Configurer des récepteurs pour obtenir des instructions.

Lors de la configuration des filtres de vos récepteurs de journaux, vous devez spécifier les types de journaux d'audit que vous souhaitez acheminer. Pour obtenir des exemples de filtrage, consultez la page Requêtes de journalisation de sécurité.

Si vous souhaitez acheminer les entrées de journal d'audit pour une organisation, un dossier ou un compte de facturation Google Cloud, consultez la section Récepteurs agrégés.

Conserver des journaux d'audit

Pour en savoir plus sur la durée de conservation des entrées de journal par Logging, consultez les informations de conservation dans Quotas et limites: durées de conservation des journaux.

Contrôle des accès

Les autorisations et les rôles IAM déterminent votre capacité à accéder aux données des journaux d'audit dans l'API Logging, l'explorateur de journaux et le gcloud Outil de ligne de commande

Lorsque vous choisissez les autorisations et les rôles qui s'appliquent aux cas d'utilisation des journaux d'audit des membres de vos ressources, tenez compte des points suivants:

  • roles/logging.viewer (Visionneuse de journaux) vous donne un accès en lecture seule à toutes les fonctionnalités de Logging, à l'exception des journaux d'Access Transparency et des journaux d'audit des accès aux données, qui sont des entrées de journal privées.

  • roles/logging.privateLogViewer (Lecteur des journaux privés) inclut roles/logging.viewer, plus la possibilité de lire les entrées de journal privées : journaux d'Access Transparency et journaux d'audit pour l'accès aux données.

Notez que si les entrées de journal privées sont acheminées vers un bucket défini par l'utilisateur, tout membre de la ressource disposant d'autorisations de lecture pour ce bucket peut afficher les entrées de journal.

Pour en savoir plus sur les autorisations et les rôles IAM dont vous pourriez avoir besoin, consultez la page Guide du contrôle des accès.

Quotas et limites

Le tableau ci-dessous indique la taille maximale des journaux d'audit. Ces valeurs peuvent vous aider à estimer l'espace nécessaire à une destination de routage.

Journal d'audit Taille maximale
Activité d'administration 512 Kio
Accès aux données 512 Kio
#system-event 512 Kio
Règle refusée 512 Kio

Pour en savoir plus sur les autres limites d'utilisation de la journalisation, consultez la page Quotas et limites.

Tarifs

Les journaux d'audit pour les activités d'administration et les événements système sont gratuits.

Les journaux d'audit des accès aux données et les journaux d'audit des refus de règles sont payants.

Pour en savoir plus sur les tarifs de Cloud Logging, consultez la page Tarifs de la suite d'opérations Google Cloud : Cloud Logging.

Étape suivante