Comment Exporter les Journaux d’Audit Google Cloud

Comment Exporter les Journaux d’Audit Google Cloud

SOC Prime Team
SOC Prime Team linkedin icon Suivre

Utilisez gcloud logging read avec un filtre sur cloudaudit.googleapis.com, ou exécutez la même requête dans le Logs Explorer et téléchargez les résultats au format JSON :

gcloud logging read 'logName:"cloudaudit.googleapis.com" AND timestamp>="2026-10-19T00:00:00Z" AND timestamp<"2026-10-20T00:00:00Z"' 

  --project=my-project --format=json > gcp_audit_1019.json

Les journaux d’audit des Activités Administratives sont toujours activés et conservés pendant 400 jours. Les journaux d’Accès aux Données sont désactivés par défaut, sauf pour BigQuery, et conservés pendant 30 jours une fois activés.

Les Logs d’Audit Cloud enregistrent qui a modifié quoi dans vos projets Google Cloud : octrois IAM, nouvelles clés de compte de service, modifications de pare-feu, VMs activées dans des régions inhabituelles. Prime Core a 140 règles de détection pour les journaux d’audit Google Cloud, mappées à 74 techniques MITRE ATT&CK. Parmi elles : abus des comptes cloud (T1078.004), crédences supplémentaires telles que nouvelles clés de compte de service (T1098.001) et altération des journaux eux-mêmes (T1562.008).

Commencez gratuitement

Avant de commencer

Sachez quel journal d’audit vous avez besoin.

TypeActivé par défaut ?RétentionCe qu’il contient
Activité AdministrativeToujours, ne peut pas être désactivé400 joursModifications de configuration et IAM
Événement SystèmeToujours400 joursActions prises par les systèmes Google sur vos ressources
Accès aux DonnéesNon (sauf BigQuery)30 joursLectures de données et métadonnées
Politique RefuséeYes30 joursRequêtes bloquées par les politiques de sécurité

Si la question est « qui a lu ce bucket ? » et que les journaux d’Accès aux Données n’ont jamais été activés, la réponse n’est pas dans Cloud Logging.

Permissions. Logs Viewer (roles/logging.viewer) couvre l’Activité Administrative, l’Événement Système et la Politique Refusée. Les journaux d’Accès aux Données nécessitent Private Logs Viewer (roles/logging.privateLogViewer).

Portée. Les journaux d’audit sont actifs par projet. Les activités au niveau de l’organisation et des dossiers ont leurs propres journaux. Interrogez-les avec –organization=<ORG_ID> ou –folder=<FOLDER_ID> au lieu de –project.

Option 1 : Logs Explorer

Dans la console, ouvrez Logging → Logs Explorer, entrez logName: »cloudaudit.googleapis.com », définissez la plage temporelle, exécutez la requête, puis téléchargez les résultats au format JSON. Le téléchargement est limité. Pour des plages plus grandes, utilisez gcloud.

Option 2 : gcloud logging read

La commande en haut est la forme de base. Trois détails font gagner du temps.

Mettez toujours la fenêtre temporelle dans le filtre. Sans condition de timestamp, gcloud logging read se limite silencieusement au dernier jour (–freshness par défaut à 1d). Cela surprend presque tout le monde une fois.

Augmentez la limite si nécessaire. Ajoutez –limit=100000 (ou ce qui convient) pour de grandes fenêtres.

Aplanissez pour le téléchargement. La sortie est un tableau JSON. Transformez-le en une entrée par ligne :

jq -c '.[]' gcp_audit_1019.json > gcp_audit_1019.jsonl

Filtres plus étroits utiles :

# Activité Administrative seulement

logName="projects/my-project/logs/cloudaudit.googleapis.com/activity"


# nouvelles clés de compte de service

protoPayload.methodName="google.iam.admin.v1.CreateServiceAccountKey"


# tout ce qu'une identité a fait

protoPayload.authenticationInfo.principalEmail="suspicious-sa@my-project.iam.gserviceaccount.com"

Option 3 : Historique en vrac depuis les sinks

Si votre organisation achemine les journaux d’audit via un sink vers Cloud Storage ou BigQuery, cette copie peut remonter plus loin que les buckets ci-dessus. Récupérez les fichiers avec gcloud storage cp, ou interrogez BigQuery et exportez le résultat au format JSON.

À rechercher

Méthode ou champPourquoi cela importe
CreateServiceAccountKeyIdentifiants à longue durée de vie qu’un attaquant peut emporter
SetIamPolicyOctrois de rôle ; surveillez roles/owner, roles/editor et allUsers
UpdateSink, DeleteSink, nouvelles exclusionsQuelqu’un redirigeant ou mettant en sourdine les journaux
v1.compute.instances.insert dans des régions inhabituellesL’empreinte classique du cryptominage
Rafales avec status.code: 7 (PERMISSION_DENIED)Identifiants volés cherchant ce qu’ils peuvent faire

Téléchargez, assainissez et révisez dans LogTotal

  1. Télécharger. Ouvrir logtotal.com et déposez le fichier .jsonl. 
  2. Assainir. [what gets masked: principal emails, project IDs, IPs, resource names]. Look it over before you continue.
  3. Réviser. 

Quand ça ne va pas

SymptômeCause probableFix
Seules les dernières 24 heures reviennentPas de timestamp dans le filtre, donc –freshness=1d s’appliqueMettez la fenêtre dans le filtre
Pas d’entrée d’Accès aux DonnéesLes journaux d’Accès aux Données n’ont jamais été activésAttendu ; activez-les pour l’avenir
PERMISSION_DENIED lors de la lecture des journauxPrivate Logs Viewer manquant pour l’Accès aux DonnéesDemandez roles/logging.privateLogViewer
Les résultats s’arrêtent courtLimite par défaut ou explicite atteinteAugmentez –limit, ou divisez la fenêtre
Modifications au niveau de l’organisation manquantesVous avez interrogé un projetUtilisez –organization

FAQ

Les journaux Google Workspace sont-ils ici ?

Seulement si votre organisation partage les données Workspace avec Google Cloud, et alors au niveau de l’organisation.

Qu’en est-il de GKE ?

GKE écrit également ses journaux d’audit Kubernetes dans Cloud Audit Logs

Rejoignez la plateforme Detection as Code de SOC Prime pour améliorer la visibilité sur les menaces les plus pertinentes pour votre entreprise. Pour vous aider à démarrer et à générer une valeur immédiate, planifiez dès maintenant une réunion avec des experts de SOC Prime.