Як і у випадку зі Snowflake, “журнали Databricks” можуть означати дані безпеки, які ви зберігаєте в таблицях Delta, або власний журнал аудиту Databricks у таблиці system.access.audit. Найпростіший експорт для обох — це планшетна комірка. Виконуйте запити за допомогою Spark SQL, записуйте результат у форматі JSON в обсяг Unity Catalog, а потім завантажте його за допомогою Databricks CLI. Spark записує JSON із розділенням по новій лінії, тому файли готові до завантаження.
Databricks все частіше використовують як озеро даних з безпеки, і його журнал аудиту важливий сам по собі: хто увійшов, хто створив токени, хто змінив дозволи. Prime Core має понад 24,000 унікальних правил виявлення, зіставлених з 676 MITRE ATT&CK техніками. Нижче показано, як отримати дані, очистити їх і безкоштовно дослідити в LogTotal.
Перш ніж розпочати
Доступ. Читання system.access.audit потребує увімкнутої системної схеми для вашого метахранилища та надання доступу SELECT від адміністратора акаунта або метахранилища. Для ваших власних таблиць, вам потрібні звичайні надання Unity Catalog.
Обсяг для запису. Вам потрібен обсяг Unity Catalog, до якого ви можете записати, наприклад, /Volumes/security/exports/logtotal, і налаштований Databricks CLI на вашій машині.
Обчислення. Блокнот потребує кластер або безсерверні обчислення. Фільтруйте за датою, щоб не сканувати більше, ніж потрібно.
Експорт з блокнота
(spark.sql("""
SELECT *
FROM system.access.audit
WHERE event_date = '2026-10-19'
AND action_name IN ('login', 'tokenLogin', 'generateDbToken')
""")
.write.mode("overwrite")
.json("/Volumes/security/exports/logtotal/audit_20261019"))
Spark записує кілька part-*.json файлів плюс маркерні файли. Завантажте та об’єднайте їх:
databricks fs cp -r dbfs:/Volumes/security/exports/logtotal/audit_20261019 ./audit_20261019
cat ./audit_20261019/part-*.json > databricks_audit_20261019.jsonl
Для ваших власних таблиць безпеки, змініть запит: виберіть із вашої таблиці та відфільтруйте за стовпцем часової мітки.
Без блокнота, API виконання SQL-запитів може виконати той самий запит на складі SQL і повернути JSON. Рядки повертаються як масиви, з назвами стовпців у окремому маніфесті, тому вам потрібен додатковий крок для перетворення їх у об’єкти. Для будь-якого великого, шлях через блокнот простіший.
Що шукати в журналі аудиту
Перевірте входи та входи за допомогою токенів з незвичайних IP-адрес, нові токени особистого доступу, зміни дозволів та членства у групах, а також зміни конфігурації робочого простору або кластера поза звичайними годинами. Завантаження блокнотів або результатів у великих обсягах також потрібно переглянути.
Завантаження, очищення та огляд у LogTotal
- Завантаження. Відкрийте logtotal.com і перетягніть .jsonl файл.
- Очистити.
- Переглянути.
Коли щось іде не так
| Симптом | Ймовірна причина | Fix |
|---|---|---|
| system.access.audit не знайдено | Системна схема не увімкнена | Попросіть адміністратора акаунта увімкнути її |
| Відмовлено в доступі до системної таблиці | Немає надання SELECT | Попросіть адміністратора метахранилища для надання |
| Неможливо записати в обсяг | Відсутня НАДАННЯ для запису ОБ’ЄМУ | Використовуйте обсяг, до якого ви можете записати |
| Завантаження містить _SUCCESS та інші файли | Маркерні файли Spark | Об’єднайте тільки part-*.json |
| Величезний, повільний запит | Немає фільтра по даті | Фільтруйте по event_date |
FAQ
Чи доставляють журнал аудиту також на хмарне сховище?
Робочі простори можуть доставляти журнали аудиту до вашого власного сховища також. Якщо це налаштовано, ви можете скопіювати ці файли безпосередньо.
Чи працює це на робочих просторах без Unity Catalog?
Системні таблиці потребують Unity Catalog. Старіші робочі простори залежать від доставки журналу аудиту до сховища, і ви пишете до шляхів DBFS замість обсягів.