Présentation de Cloud Audit Logs

Ce document présente les concepts liés à Cloud Audit Logs.

Les services Google Cloud écrivent des journaux d'audit qui enregistrent les activités d'administration et les accès aux ressources Google Cloud. Les journaux d'audit vous aident à répondre aux questions "qui a fait quoi, où et quand ?". au sein de vos ressources Google Cloud avec le même niveau de transparence que dans les environnements sur site. L'activation des journaux d'audit permet à vos entités de sécurité, d'audit et de conformité de surveiller les données et les systèmes Google Cloud afin de détecter d'éventuelles failles ou un usage abusif des données externes.

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.

Pour obtenir une présentation des journaux d'audit Google Workspace, consultez la section Journaux d'audit pour Google Workspace.

Rôles requis

Pour afficher les journaux d'audit, vous devez disposer Autorisations et rôles Identity and Access Management (IAM):

  • Pour obtenir les autorisations nécessaires pour un accès en lecture seule aux activités d’administration, aux refus de règles et les journaux d'audit des événements système, demandez à votre administrateur de vous accorder le Lecteur de journaux (roles/logging.viewer) sur votre projet.

    Si vous ne disposez que du rôle Lecteur de journaux (roles/logging.viewer), ne peuvent pas afficher les journaux d'audit des accès aux données qui se trouvent dans le bucket _Default.

  • Pour obtenir les autorisations nécessaires pour accéder à tous les journaux dans _Required et _Default (y compris les journaux d'accès aux données) demandez à votre administrateur de vous accorder le rôle IAM Lecteur des journaux privés (roles/logging.privateLogViewer) sur votre projet.

    Le rôle Lecteur des journaux privés (roles/logging.privateLogViewer) inclut le rôle les autorisations contenues dans le rôle "Lecteur de journaux" (roles/logging.viewer) ; et ceux nécessaires pour lire les journaux d'audit des accès aux données dans le bucket _Default.

Pour en savoir plus sur les autorisations et les rôles IAM qui s'appliquent aux données des journaux d'audit, consultez la page Contrôle des accès avec IAM.

Types de journaux d'audit

Cloud Audit Logs fournit les journaux d'audit suivants pour chaque Projet, dossier et organisation Google Cloud:

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

Les journaux d'audit de type "Activités d'administration" contiennent des entrées liées aux appels d'API et aux autres opérations d'administration qui modifient la configuration ou les métadonnées des ressources. Par exemple, ces journaux enregistrent les actions de création d'instance de VM ou de modification des autorisations Cloud IAM (Identity and Access Management).

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

Pour obtenir la liste des services qui génèrent des journaux d'audit pour les activités d'administration des informations sur les activités qui génèrent ces journaux, consultez Services Google Cloud avec journaux d'audit :

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 accessibles au public dont les 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 et les informations des utilisateurs finaux.

les journaux d'audit des accès aux données, sauf Les journaux d'audit des accès aux données par BigQuery sont désactivés par défaut, car les journaux d'audit peuvent être assez volumineux. 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. Leur activation peut entraîner la facturation des frais de journaux supplémentaires dans votre projet Google Cloud ; sur l'utilisation de l'IA générative. Pour obtenir des instructions sur l'activation et la configuration des journaux d'audit des accès aux données, consultez Activez les journaux d'audit des accès aux données.

Pour obtenir la liste des services qui génèrent des journaux d'audit des accès aux données des informations sur les activités qui génèrent ces journaux, consultez Services Google Cloud avec journaux d'audit :

Les journaux d'audit des accès aux données sont stockés _Default bucket de journaux sauf si vous les avez acheminées ailleurs. Pour en savoir plus, consultez les Stocker et router les journaux d'audit de cette page.

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

Les journaux d'audit des événements système contiennent des entrées associées aux actions d'administration de Google Cloud qui modifient la configuration des ressources. Les journaux d'audit des événements système sont activés par les systèmes Google. Ils ne sont pas pilotés directement par l'utilisateur.

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

Pour obtenir la liste des services qui génèrent des journaux d'audit des événements système des informations sur les activités qui génèrent ces journaux, consultez Services Google Cloud avec journaux d'audit :

Journaux d'audit des refus de règles

Les journaux d'audit des 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 journaux d'audit des refus de règles sont générés par défaut et Le stockage des journaux est facturé au projet Google Cloud. Vous ne pouvez pas désactiver Policy Controller les journaux d'audit refusés, mais vous pouvez utiliser filtres d'exclusion pour empêcher interdire leur stockage dans Cloud Logging ;

Pour obtenir la liste des services qui génèrent des journaux d'audit des refus de règles et des des informations sur les activités qui génèrent ces journaux, consultez Services Google Cloud avec journaux d'audit :

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, et obtenir un échantillon de une entrée de journal d'audit, consultez Comprendre les journaux d'audit

Nom du journal

Voici quelques exemples de noms de journaux Cloud Audit Logs:

  • Les identifiants de ressources indiquant le projet ou ou une autre entité Google Cloud propriétaire des journaux d'audit.

  • Correspond à la chaîne cloudaudit.googleapis.com.

  • Une chaîne qui indique si le journal contient les éléments suivants : Activité d'administration, Accès aux données, les données des journaux d'audit des refus de règles ou des événements système.

Voici les noms des journaux d'audit incluant des variables pour les identifiants de ressource :

   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

   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   billingAccounts/BILLING_ACCOUNT_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

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.

Les journaux d'audit ne masquent pas l'adresse e-mail principale de l'appelant pour un accès réussi ou pour toute opération d'écriture.

Pour les opérations en lecture seule qui échouent avec une "autorisation refusée" erreur, Les journaux d'audit peuvent masquer l'adresse e-mail principale de l'appelant, sauf si l'appelant est un compte de service.

Outre les conditions mentionnées ci-dessus, les dispositions suivantes s'appliquent à certaines Services Google Cloud:

  • Ancienne API App Engine : les identités ne sont pas collectées.

  • BigQuery: appelant les identités et les adresses IP, ainsi que certains noms de ressources, sont masqués à partir des journaux d'audit, sauf si certaines conditions sont remplies.

  • Cloud Storage : lorsque les journaux d'utilisation de Cloud Storage sont activés, Cloud Storage écrit les données d'utilisation dans le bucket Cloud Storage, qui génère des journaux d'audit pour l'accès aux données de ce bucket. L'identité de l'appelant dans le journal d'audit des accès aux données généré est masquée.

  • Firestore : si un jeton Web JSON (JWT) a été utilisé pour l'authentification tierce, le champ thirdPartyPrincipal inclut l'en-tête et la charge utile du jeton. Par exemple, les journaux d'audit des requêtes authentifiées avec Firebase Authentication incluent le jeton d'authentification de cette requête.

  • VPC Service Controls: par défaut, les journaux d'audit des refus de règles, le masquage suivant est effectué:

    • Certaines parties des adresses e-mail des appelants peuvent être masquées et remplacées par trois points ....

    • Certaines adresses e-mail d'appelants appartenant au domaine google.com sont masquées et remplacées par google-internal.

  • Règle d'administration: Certaines parties des adresses e-mail des appelants peuvent être masquées et remplacées par trois points ....

Adresse IP de l'appelant dans les journaux d'audit

L'adresse IP de l'appelant est conservée dans le champ RequestMetadata.caller_ip de Objet AuditLog:

  • Pour un appelant depuis Internet, l'adresse est une adresse IPv4 ou IPv6 publique adresse e-mail.
  • Pour les appels passés depuis le réseau de production interne de Google service Google Cloud à un autre, l'adresse IP de l'appelant est masquée dans "private".
  • Pour un appelant depuis une VM Compute Engine avec une adresse IP externe, la classe appelant_ip est l'adresse externe de la VM.
  • Pour un appelant depuis une VM Compute Engine sans adresse IP externe, si : si la VM se trouve dans la même organisation ou le même projet que la ressource consultée, appelant_ip est l'adresse IPv4 interne de la VM. Sinon, l'adresse e-mail de l'appelant est remplacé par "gce-internal-ip". Pour en savoir plus, consultez Présentation du réseau VPC

Afficher les journaux d'audit

Vous pouvez interroger tous les journaux d'audit ou interroger les journaux selon leur nom de journal d'audit. Le nom du journal d'audit inclut l'identifiant de ressource du projet, du dossier, du compte de facturation ou de l'organisation Google Cloud dont vous souhaitez afficher les informations de journalisation d'audit. Vos requêtes peuvent spécifier des champs LogEntry indexés. Si vous utilisez la page Analyse de journaux, qui est compatible avec les requêtes SQL, vous pouvez afficher les résultats de votre requête sous forme de graphique.

Pour en savoir plus sur l'interrogation de journaux, consultez les pages suivantes :

Vous pouvez afficher les journaux d'audit dans Cloud Logging à l'aide de la console Google Cloud, de Google Cloud CLI ou de l'API Logging.

Console

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

  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 un projet, une organisation ou un dossier Google Cloud existant.

  3. Pour afficher tous les journaux d'audit, saisissez l'une des requêtes suivantes dans le champ de l'éditeur de requête, puis cliquez sur Exécuter la requête :

    logName:"cloudaudit.googleapis.com"
    
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    
  4. Pour afficher les journaux d'audit d'une ressource et d'un type de journal d'audit spécifiques, accédez au volet Générateur de requêtes et 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.
    • Cliquez sur Exécuter la requête.

    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 Google Cloud.

    Si vous rencontrez des problèmes lors de la tentative d'affichage de journaux dans l'explorateur de journaux, consultez les informations de dépannage.

    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. Pour en savoir plus sur la synthèse des entrées de journal dans l'explorateur de journaux à l'aide de Gemini, consultez la page Synthétiser les entrées de journal avec l'assistance Gemini.

gcloud

Google Cloud CLI fournit une interface de ligne de commande à l'API Logging. Fournissez un identifiant de ressource valide dans chacun des noms de journaux. Par exemple, si votre requête inclut un PROJECT_ID, l'identifiant de projet que vous fournissez doit faire référence au projet Google Cloud actuellement sélectionné.

Pour lire les entrées de journal d'audit au niveau du projet Google 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 lire les entrées de journal d'audit au niveau de votre compte de facturation Cloud, exécutez la commande suivante :

gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
    --billing-account=BILLING_ACCOUNT_ID

Ajoutez l'option --freshness à votre commande pour lire les journaux datant de plus d'une journée.

Pour en savoir plus sur l'utilisation de gcloud CLI, consultez la page gcloud logging read.

API

Lors de la création de vos requêtes, fournissez un identifiant de ressource valide dans chacun des noms de journaux. Par exemple, si votre requête inclut un PROJECT_ID, l'identifiant de projet que vous fournissez doit faire référence au projet Google Cloud actuellement sélectionné.

Par exemple, pour utiliser l'API Logging afin d'afficher les entrées de journal d'audit au niveau d'un projet, 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.

Stocker et acheminer les journaux d'audit

Cloud Logging utilise des buckets de journaux comme conteneurs qui stockent et organisent les données de vos journaux. Pour chaque Projet, dossier et organisation Google Cloud, Logging crée automatiquement deux buckets de journaux, _Required et _Default, et les récepteurs correspondant.

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

Les journaux d'audit des activités d'administration et des événements système sont toujours stockés dans le Bucket _Required dans le projet où les journaux ont été générés.

Si vous acheminez les journaux d'audit des activités d'administration et des événements système vers un projet différent, ces journaux ne passent pas par l'opérateur _Default ou Récepteur _Required du projet de destination. Par conséquent, ces journaux ne sont pas stockés dans le bucket de journaux _Default ou _Required de la destination projet. Pour stocker ces journaux, créez un récepteur de journaux dans le projet de destination. Pour en savoir plus, consultez la section Router les journaux vers les destinations compatibles.

Par défaut, les buckets _Default stockent tous les accès aux données activés. ainsi que les journaux d'audit des refus de règles. Vous pouvez désactiver les journaux d'audit des accès aux données dans les buckets _Default. Pour empêcher que les journaux d'audit des refus de règles soient stockés dans les buckets _Default, vous pouvez les exclure en modifiant les filtres de leurs récepteurs.

Vous pouvez également acheminer les entrées de vos journaux d'audit vers des Buckets Cloud Logging au niveau du projet Google Cloud ou dans des en dehors de Logging à l'aide de récepteurs. Instructions sur les journaux de routage, consultez Acheminez les journaux vers des destinations compatibles.

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 des entrées de journal d'audit pour une organisation Google Cloud, ou compte de facturation, consultez Rassemblez et acheminez les journaux au niveau de l'organisation vers des destinations compatibles.

Conserver des journaux d'audit

Pour en savoir plus sur la durée de conservation des entrées de journal par Cloud Logging, consultez la section correspondante sur la page Quotas et limites : durée de conservation des journaux.

Contrôle des accès

Les autorisations et rôles IAM déterminent votre capacité à accéder aux les données des journaux dans l'API Logging, l'explorateur de journaux et l'outil Google Cloud CLI ;

Pour plus d'informations sur les autorisations et les rôles IAM dont vous avez besoin, consultez la page Contrôle des accès avec IAM .

Quotas et limites

Pour en savoir plus sur les limites d'utilisation de la journalisation, y compris sur la taille maximale des journaux d'audit, consultez la page Quotas et limites.

Tarifs

Cloud Logging ne facture pas l'acheminement des journaux vers destination prise en charge ; Toutefois, des frais peuvent s'appliquer à la destination. À l'exception du bucket de journaux _Required, Cloud Logging facture l'insertion de journaux dans des buckets de journaux pour le stockage plus longtemps que la durée de conservation par défaut du bucket de journaux.

Cloud Logging ne facture pas la copie des journaux ni les requêtes émises via la page Explorateur de journaux ou la page Analyse de journaux.

Pour en savoir plus, consultez les documents suivants :

Étape suivante