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

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

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

Використовуйте gcloud logging read з фільтром на cloudaudit.googleapis.com, або виконайте той самий запит у Logs Explorer та завантажте результати у форматі 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

Журнали перевірки адміністративної діяльності завжди ввімкнені і зберігаються протягом 400 днів. Журнали доступу до даних вимкнені за замовчуванням, за винятком BigQuery, і зберігаються протягом 30 днів після увімкнення.

Cloud Audit Logs записують, хто які зміни вніс у ваші проекти Google Cloud: надання прав IAM, нові ключі облікових записів служби, змінення брандмауера, запуск віртуальних машин у незвичайних регіонах. Prime Core має 140 правил виявлення для журналів аудиту Google Cloud, які мапуються на 74 техніки MITRE ATT&CK. Серед них: зловживання обліковими записами в хмарі (T1078.004), додаткові облікові дані, такі як нові ключі облікових записів служби (T1098.001) та втручання в логування (T1562.008).

Почніть безкоштовно

Перш ніж почати

Знати, який журнал перевірки вам потрібен.

ТипВключено за замовчуванням?УтриманняЩо в ньому є
Адміністративна діяльністьЗавжди, не може бути вимкнено400 днівЗміни конфігурації та IAM
Системна подіяЗавжди400 днівДії, які системи Google здійснили над вашими ресурсами
Доступ до данихНі (за винятком BigQuery)30 днівЧитання даних і метаданих
Відмова в політиціYes30 днівЗапити, заблоковані політиками безпеки

Якщо питання “хто прочитав цей бакет?” і журнали доступу до даних ніколи не були увімкнені, відповіді немає в Cloud Logging.

Дозволи. Logs Viewer (roles/logging.viewer) покриває адміністрування діяльності, системні події та відмови в політиках. Журнали доступу до даних потребують Private Logs Viewer (roles/logging.privateLogViewer).

Сфера. Журнали перевірки живуть по проекту. Активність на рівні організації та папки має окремі журнали. Запити до них виконуйте з –organization=<ORG_ID> або –folder=<FOLDER_ID> замість –project.

Варіант 1: Logs Explorer

У консолі, відкрийте Logging → Logs Explorer, введіть logName:”cloudaudit.googleapis.com”, встановіть діапазон часу, виконайте запит, а потім завантажте результати у форматі JSON. Завантаження обмежене. Для більших діапазонів використовуйте gcloud.

Варіант 2: gcloud logging read

Команда на початку є базовою формою. Три деталі економлять час.

Завжди вказуйте часовий проміжок у фільтрі. Без умови за часовою міткою gcloud logging read тишком обмежує себе останнім днем (–freshness за замовчуванням дорівнює 1d). Це дивує майже всіх один раз.

Підвищте ліміт, коли це потрібно. Додайте –limit=100000 (або що там підходить) для великих вікон.

Зробіть плоским для завантаження. Вихід – це один JSON масив. Перетворіть його в один запис на рядок:

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

Корисні вужчі фільтри:

# лише адміністрування діяльності

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


# нові ключі облікових записів служби

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


# все, що зробила одна ідентичність

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

Варіант 3: Масова історія з переборів

Якщо ваша організація направляє журнали перевірки через перебір до Cloud Storage або BigQuery, ця копія може йти далі, ніж вказані вище бакети. Витягуйте файли з gcloud storage cp, або запитуйте BigQuery і експортуйте результат у форматі JSON.

На що звертати увагу

Метод або полеЧому це важливо
CreateServiceAccountKeyДовгострокові облікові дані, які може вкрасти зловмисник
SetIamPolicyНадання ролей; спостерігайте за roles/owner, roles/editor і allUsers
UpdateSink, DeleteSink, нові виключенняХтось перенаправляє або знешкоджує журнали
v1.compute.instances.insert в незвичайних регіонахКласичний слід криптомайнінгу
Сплески зі статусом.code: 7 (PERMISSION_DENIED)Вкрадені облікові дані, які пробують, що вони можуть зробити

Завантажте, очистіть і перегляньте в LogTotal

  1. Завантажити. Відкрити logtotal.com і перетягніть файл .jsonl.
  2. Очистити. [what gets masked: principal emails, project IDs, IPs, resource names]. Look it over before you continue.
  3. Переглянути. 

Коли це йде не так

СимптомЙмовірна причинаFix
Повертаються лише останні 24 годиниУ фільтрі не було часової мітки, тому застосовується –freshness=1dВкажіть вікно в фільтрі
Відсутні записи доступу до данихЖурнали доступу до даних ніколи не були увімкненіОчікувано; увімкніть їх на майбутнє
PERMISSION_DENIED при читанні журналівВідсутній Private Logs Viewer для доступу до данихЗапитуйте roles/logging.privateLogViewer
Результати обриваються ранішеДосягнуто за замовчуванням або явно встановленого –limitЗбільшіть –limit або розбийте вікно
Відсутні зміни на рівні організаціїВи запитували проектВикористовуйте –organization

FAQ

Чи є тут журнали Google Workspace?

Тільки якщо ваша організація ділиться даними Workspace з Google Cloud, і потім на рівні організації.

А як щодо GKE?

GKE записує свої журнали аудитів Kubernetes у Cloud Audit Logs також.

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