Passer des journaux d'activité aux journaux d'audit

Si vous utilisez des anciens journaux d'activité, ce guide vous aidera à déterminer comment utiliser la journalisation d'audit pour trouver vos entrées de journal.

Les anciens journaux d'activité vont devenir obsolètes dans une prochaine version. Certaines entrées de journal d'activité ne seront plus disponibles à compter du 1er mars 2020.

Les journaux d'audit contiennent les mêmes informations que celles disponibles via les anciens journaux d'activité, ainsi que des informations supplémentaires. Toutefois, la présentation des informations dans les journaux d'audit diffère par rapport aux journaux d'activité.

Pour utiliser les journaux d'audit à la place des journaux d'activité, vous devez ajuster vos requêtes afin de filtrer selon les éléments suivants :

Distinguer les entrées de journaux d'activité des entrées de journaux d'audit

Les journaux d'audit et les anciens journaux d'activité contiennent chacun des objets de type entrée de journal. Toutefois, leur contenu diffère. Lors du passage des journaux d'activité aux journaux d'audit, gardez en tête ces différences lorsque vous envoyez des requêtes visant à afficher les entrées de journal.

Vous pouvez distinguer les journaux d'audit des anciens journaux d'activité en examinant le contenu des entrées de journal : elles présentent des différences au niveau des noms des journaux et des charges utiles.

Exemple d'entrées de journal
Anciens journaux d'activité

{
  insertId:  "1x3bbhjg2wwvz1x"
  jsonPayload: {…}
  labels: {…}
  logName:  "projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
  receiveTimestamp:  "2019-08-26T12:22:44.602794616Z"
  ...
}
Journal d'audit

{
  insertId:  "-w6o499e22fwk"
  logName:  "projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
  protoPayload: {…}
  receiveTimestamp:  "2019-08-26T12:22:46.881198276Z"
  ...
}

Consultez la section Mapper les champs des entrées de journal pour découvrir comment mettre en correspondance les champs des anciens journaux d'activité avec ceux des journaux d'audit.

Mapper les champs des entrées de journal des journaux d'activité vers les journaux d'audit

Les journaux d'audit contiennent les mêmes informations que les journaux d'activité. Toutefois, les noms des champs d'entrée de journal peuvent différer. Les valeurs peuvent également être différentes.

Noms des champs

Utilisez le tableau suivant pour mapper les noms des champs des anciens journaux d'activité vers les noms des champs des journaux d'audit. Par exemple, si l'une de vos requêtes sur un ancien journal d'activité contient un filtre basé sur jsonPayload.resource.type, votre nouvelle requête de journal d'audit doit filtrer suivant resource.type.

Nom du champ dans les anciens journaux d'activité Nom du champ dans les journaux d'audit
insertId insertId
jsonPayload.actor.user protoPayload.authenticationInfo.principalEmail
jsonPayload.event_subtype protoPayload.methodName
jsonPayload.event_timestamp_us resource.timestamp
jsonPayload.request protoPayload.request
jsonPayload.operation operation
jsonPayload.resource.id resource.lablels.instance_id
jsonPayload.resource.name protoPayload.resourceName
jsonPayload.resource.type resource.type
jsonPayload.resource.zone resource.labels.zone
jsonPayload.trace_id operation.id
jsonPayload.user_agent protoPayload.requestMetadata.callerSuppliedUserAgent
labels.compute.googleapis.com/resource_id resource.labels.[RESOURCE_TYPE]_id
labels.compute.googleapis.com/resource_name protoPayload.resourceName
labels.compute.googleapis.com/resource_type resource.type
labels.compute.googleapis.com/resource_zone Au choix :
  • resource.labels.zone
  • resource.labels.region
  • resource.labels.location
logName logName
receiveTimestamp receiveTimestamp
resource.labels resource.labels
severity severity
timestamp timestamp

Valeurs des champs

Par rapport aux journaux d'activité, les journaux d'audit présentent des différences au niveau des noms de journaux et des charges utiles. Ils fournissent également des noms de méthodes avec gestion des versions.

Noms des journaux

Un journal d'audit comporte un nom logName qui inclut l'élément cloudaudit.googleapis.com.

Nom du journalContenu du journal
Anciens journaux d'activitéprojects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_logActivités d'administration et événements système
Journal d'auditprojects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2FactivityActivité d'administration
projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fsystem_eventÉvénements système
projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_accessAccès aux données

Charges utiles

Un journal d'audit présente une charge utile protoPayload au lieu de jsonPayload.

Type de charge utileExemple de charge utile
Anciens journaux d'activitéjsonPayload

    jsonPayload: {
      actor: {…}
      event_subtype:  "compute.instances.start"
      event_timestamp_us:  "1566404493487248"
      event_type:  "GCE_API_CALL"
      ip_address:  ""
      operation: {…}
      request: {…}
      resource: {…}
      trace_id:  "operation-1566404491560-590a2f74b4705-a1ae0686-d896d772"
      user_agent:  "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"
      version:  "1.2"
    }
Journal d'auditprotoPayload

    protoPayload: {
      @type:  "type.googleapis.com/google.cloud.audit.AuditLog"
      authenticationInfo: {…}
      methodName:  "v1.compute.instances.start"
      request: {…}
      requestMetadata: {…}
      resourceName:  "projects/[PROJECT_ID]/zones/us-central1-a/instances/alert"
      serviceName:  "compute.googleapis.com"
    }

Consultez la section Mapper les champs des entrées de journal pour découvrir les relations entre ces types de charges utiles et apprendre comment mettre en correspondance les champs des anciens journaux d'activité et ceux des journaux d'audit.

Noms de méthode

Dans les journaux d'audit, les noms des méthodes API (figurant dans le champ protoPayload.methodName) sont préfixés par leur version, par exemple : v1.compute.instances.delete.

ChampValeurExemple de requête
Anciens journaux d'activitéjsonPayload.event_subtype[RESOURCE].[METHOD]jsonPayload.event_subtype=compute.instances.delete
Journal d'auditprotoPayload.methodName[API_VERSION].[RESOURCE].[METHOD]protoPayload.methodName=v1.compute.instances.delete
ou
protoPayload.methodName=beta.compute.instances.delete
ou
protoPayload.methodName:compute.instances.delete

Si, dans vos requêtes sur les anciens journaux d'activité, vous utilisez des noms de méthode API sans gestion des versions, vous pouvez continuer à les utiliser. Toutefois, assurez-vous d'utiliser dans votre requête un opérateur "has" ("contient", noté :) au lieu d'un opérateur "equals" ("égal à", noté =). Par exemple, protoPayload.methodName:compute.instances.delete renvoie tous les appels d'API de suppression d'instances, quelle que soit la version. Pour plus d'informations sur les opérateurs, consultez la section comparaisons.

Exemples de requêtes

Cette section contient quelques exemples de requêtes pour vous aider à faire vos premiers dans l'utilisation des journaux d'audit au lieu des journaux d'activité. Pour découvrir davantage de requêtes de base ou avancées, reportez-vous à la section Afficher les journaux.

Interroger les entrées récentes du journal des activités d'administration

Exemple de requête
Anciens journaux d'activitélogName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
Journal d'auditlogName="projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"

Interroger les entrées de journal récentes relatives à la création d'instances

Exemple de requête
Anciens journaux d'activitélogName="projects/[PROJECT_ID]/logs/compute.googleapis.com%2Factivity_log"
jsonPayload.event_subtype=compute.instances.insert
Journal d'auditlogName="projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Factivity"
protoPayload.methodName:compute.instances.insert

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine