Dans la console d’administration Google, Rapports → Audit et investigation contient les journaux (Connexion, Admin, Drive, OAuth et plus), et chacun peut être exporté de là. Pour JSON, utilisez l’API Admin SDK Reports, méthode activities.list. Pour une seule fois, vous n’avez même pas besoin de code : la page de référence de l’API a un panneau « Essayer cette méthode » qui exécute l’appel pour vous. La plupart des données d’audit Workspace sont conservées pendant six mois.
Les journaux d’audit Workspace montrent qui s’est connecté d’où, quelles applications tierces ont eu accès aux e-mails et fichiers, et quels documents ont été soudainement partagés avec le monde extérieur. Prime Core a {N} règles de détection pour les données Google Workspace, mappées à {M} techniques MITRE ATT&CK. Parmi elles : abus de comptes cloud (T1078.004), octrois OAuth malveillants (T1528) et redirections d’emails vers les adresses externes (T1114.003).
Avant de commencer
Autorisations. Un super administrateur ou un rôle d’administrateur avec le privilège Rapports.
Choisissez le bon journal. Dans l’API, chaque journal est un applicationName : login, admin, drive, token (octrois OAuth), user_accounts, saml, groups et autres. Les journaux de messages Gmail ne font pas partie de cette API. Pour ceux-ci, utilisez la recherche de journal de messagerie dans la console d’administration, ou l’export BigQuery si votre édition le permet.
Rétention et délai. La plupart des journaux d’audit remontent à environ six mois. Les nouveaux événements peuvent prendre de quelques minutes à plusieurs heures pour apparaître, selon le journal.
Un court script Python
Pour des exports répétables, un compte de service avec délégation étendue du domaine se fait passer pour un administrateur. Il a besoin de google-api-python-client et google-auth :
import json
from google.oauth2 import service_account
from googleapiclient.discovery import build
creds = service_account.Credentials.from_service_account_file(
"sa.json",
scopes=["https://www.googleapis.com/auth/admin.reports.audit.readonly"],
subject="admin@example.com",
)
svc = build("admin", "reports_v1", credentials=creds)
with open("workspace_login_1019.jsonl", "w") as out:
req = svc.activities().list(
userKey="all", applicationName="login",
startTime="2026-10-19T00:00:00Z", endTime="2026-10-20T00:00:00Z",
maxResults=1000,
)
while req is not None:
resp = req.execute()
for item in resp.get("items", []):
out.write(json.dumps(item) + "n")
req = svc.activities().list_next(req, resp)
La délégation étendue du domaine est puissante. N’accordez-lui que ce champ en lecture seule, conservez le fichier de clé hors des disques partagés, et supprimez la délégation lorsque vous avez terminé. Exécutez le script une fois par applicationName dont vous avez besoin.
À quoi faire attention
| Journal et événement | Pourquoi c’est important |
|---|---|
| login : vagues de failures de connexion, tout suspicious_login | Devinement de mot de passe, ou Google lui-même signalant une connexion |
| token : authorize | Une application tierce a reçu des autorisations ; vérifiez ce qu’elle peut lire |
| admin : assignations de rôles, création d’utilisateur, modifications de la politique de vérification en deux étapes | Changements de privilèges et affaiblissement des paramètres de sécurité |
| drive : changements d’accès ou de visibilité vers l’extérieur ou « toute personne ayant le lien » | Données ouvertes à l’extérieur |
| user_accounts : 2SV désactivée, mot de passe modifié | Nettoyage après prise de contrôle de compte, ou préparation |
Télécharger, désinfecter et examiner dans LogTotal
- Télécharger. Ouvrir logtotal.com et déposez le fichier .jsonl.
- Désinfecter.
- Examiner.
Lorsque cela tourne mal
| Symptôme | Cause probable | Fix |
|---|---|---|
| 403 ou permissions insuffisantes | L’administrateur n’a pas le privilège Rapports, ou la portée déléguée n’est pas autorisée | Vérifiez le rôle de l’administrateur ; vérifiez l’entrée de délégation à l’échelle du domaine |
| Résultats vides | Mauvais applicationName, événements trop récents, ou au-delà de la rétention | Vérifiez le nom ; attendez ; vérifiez les dates |
| S’arrête à 1 000 événements | Pagination non suivie | Utilisez pageToken ou list_next |
| Pas d’événements de messages Gmail | Pas partie de l’API Rapports | Utilisez la recherche de journal de messagerie ou BigQuery |
FAQ
Puis-je obtenir ces journaux via Google Cloud à la place ?
Si votre organisation partage des données Workspace avec Google Cloud, les journaux d’audit apparaissent dans Cloud Logging au niveau de l’organisation, et notre [guide des journaux d’audit Google Cloud] s’applique.
Le centre d’alertes n’est-il pas suffisant ?
Le centre d’alertes montre ce que Google a décidé de signaler. Les journaux d’audit montrent tout, y compris ce qui n’a pas été signalé.