У консолі адміністратора Google, Звітність → Аудит та розслідування містяться журнали (Вхід, Адміністратор, Диск, OAuth та інше), і кожен з них можна експортувати звідти. Для JSON використовуйте API звітів Admin SDK, метод activities.list. Для одноразового виконання вам навіть не потрібен код: на сторінці довідки по API є панель “Спробуйте цей метод”, яка запускає виклик від вашого імені. Більшість даних аудиту Workspace зберігаються протягом шести місяців.
Журнали аудиту Workspace показують, хто звідки увійшов, які сторонні додатки отримали доступ до пошти й файлів, і які документи раптово були поділені з зовнішнім світом. Prime Core має {N} правил виявлення для даних Google Workspace, відображених на {M} технік MITRE ATT&CK. Серед них: зловживання хмарними обліковими записами (T1078.004), шкідливе надання прав OAuth (T1528) і пересилання пошти на зовнішні адреси (T1114.003).
Перед початком
Дозволи. Суперадміністратор або призначення ролі з привілеєм звітів.
Виберіть правильний журнал. В API кожен журнал є applicationName: login, admin, drive, token (OAuth-запити), user_accounts, saml, groups і інші. Журнали повідомлень Gmail не є частиною цього API. Для них використовуйте Пошук журналів пошти в консолі адміністратора або експорт BigQuery, якщо ваша версія це підтримує.
Утримання та затримка. Більшість журналів аудиту мають збереження близько шести місяців. Нові події можуть з’явитися від декількох хвилин до годин, залежно від журналу.
Короткий скрипт на Python
Для повторюваних експортів обліковий запис служби з делегуванням на весь домен симулює адміністратора. Він потребує google-api-python-client і 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)
Делегування на весь домен є потужним. Надійдьте лише цей режим тільки для читання, тримайте файл ключа поза спільними дисками та видаліть делегування, коли закінчите. Запустіть скрипт один раз на applicationName, який вам потрібен.
Що шукати
| Журнал та подія | Чому це важливо |
|---|---|
| вхід: сплески login_failure, будь-які suspicious_login | Вгадування пароля або сам Google позначає спробу входу |
| token: авторизувати | Сторонньому додатку надано права; перевірте, що він може читати |
| admin: призначення ролей, створення користувачів, зміни політики двоетапної перевірки | Зміни привілеїв та ослаблення налаштувань безпеки |
| drive: зміни доступу або видимості для зовнішніх або “будь-хто з посиланням” | Дані розкриваються зовні |
| user_accounts: двоетапна верифікація відключена, змінено пароль | Очищення після захоплення облікового запису, або підготовка |
Завантажити, очистити і перевірити в LogTotal
- Завантажити. Відкрийте logtotal.com і внесіть .jsonl файл.
- Очистити.
- Перевірити.
Коли щось йде не так
| Симптом | Ймовірна причина | Fix |
|---|---|---|
| 403 або недостатні дозволи | У адміністратора немає привілеїв звітів, або делегований режим не дозволено | Перевірте роль адміністратора; перевірте запис делегування на весь домен |
| Порожні результати | Неправильне applicationName, події занадто недавні, або за межами утримання | Перевірте ім’я; почекайте; перевірте дати |
| Зупиняється на 1,000 подіях | Не виконано перегортання | Використовуйте pageToken або list_next |
| Немає подій повідомлень Gmail | Не є частиною API звітів | Використовуйте Пошук журналів пошти або BigQuery |
FAQ
Чи можу я отримати ці журнали через Google Cloud замість цього?
Якщо ваша організація ділиться даними Workspace з Google Cloud, журнали аудиту з’являються в Cloud Logging на рівні організації, і наш [керівництво з журналів аудиту Google Cloud] застосовується.
Хіба центр оповіщень не є достатнім?
Центр оповіщень показує, що Google вирішив виділити. Журнали аудиту показують все, включаючи те, що не було виділено.