Як експортувати журнали аудиту Google Workspace

Як експортувати журнали аудиту Google Workspace

SOC Prime Team
SOC Prime Team linkedin icon Стежити

У консолі адміністратора 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

  1. Завантажити. Відкрийте logtotal.com і внесіть .jsonl файл.
  2. Очистити. 
  3. Перевірити. 

Коли щось йде не так

СимптомЙмовірна причинаFix
403 або недостатні дозволиУ адміністратора немає привілеїв звітів, або делегований режим не дозволеноПеревірте роль адміністратора; перевірте запис делегування на весь домен
Порожні результатиНеправильне applicationName, події занадто недавні, або за межами утриманняПеревірте ім’я; почекайте; перевірте дати
Зупиняється на 1,000 подіяхНе виконано перегортанняВикористовуйте pageToken або list_next
Немає подій повідомлень GmailНе є частиною API звітівВикористовуйте Пошук журналів пошти або BigQuery

FAQ

Чи можу я отримати ці журнали через Google Cloud замість цього?

Якщо ваша організація ділиться даними Workspace з Google Cloud, журнали аудиту з’являються в Cloud Logging на рівні організації, і наш [керівництво з журналів аудиту Google Cloud] застосовується.

Хіба центр оповіщень не є достатнім?

Центр оповіщень показує, що Google вирішив виділити. Журнали аудиту показують все, включаючи те, що не було виділено.

Приєднуйтесь до платформи Detection as Code від SOC Prime щоб покращити видимість загроз, найбільш актуальних для вашого бізнесу. Щоб допомогти вам розпочати та отримати негайну цінність, забронюйте зустріч зараз з експертами SOC Prime.