Журнал аудита
Кто, когда, откуда и что сделал в организации — включая отказы. Просмотр, фильтры, выгрузка и проверка целостности.
Журнал аудита — это неизменяемая запись всего, что происходило в организации: кто вошёл и откуда, кто изменил права участника, кто отправил задачу в работу или одобрил публикацию, что сделал пайплайн, что сделал оператор платформы с вашей организацией. Записываются и отказы — неверный пароль, попытка действия без права — потому что именно их ищет служба безопасности.
Не путайте с аудитом проекта: тот разбирает вашу кодовую базу, а журнал аудита фиксирует действия людей и системы в сервисе.
Где найти
Настройки → выбрать организацию → раздел «Журнал аудита». Раздел есть у каждой организации отдельно: то, что вы видите, относится только к выбранной.
Кто видит
- Владелец организации — всегда.
- Участник с правом «Просматривать и выгружать журнал аудита» — это отдельное право, которое не входит ни в одну роль по умолчанию, даже в Maintainer: журнал содержит адреса и браузеры всех участников, поэтому доступ к нему выдаётся явно. Обычно его получает офицер безопасности или комплаенс-специалист — читать журнал он сможет, не становясь владельцем и не получая прав на задачи.
Остальные участники раздел открыть не могут: сервер отвечает отказом, и этот отказ тоже попадает в журнал, если участник пытался сделать выгрузку.
Что в записи
| Поле | Что означает |
|---|---|
| Время | Момент события с точностью до микросекунды, в UTC; интерфейс показывает его в вашем часовом поясе. |
| Кто | Исполнитель: логин участника, идентификатор коннектора, «оператор» (сотрудник платформы) или «система» (пайплайн). |
| Сессия | Идентификатор сессии, в которой действовал участник — по нему видно, что несколько действий сделаны в одном входе. |
| Откуда | IP-адрес и браузер (User-Agent) подключения, как их увидел наш периметр. Не со слов браузера: адрес подставляет наш сервер по входящему соединению, подделать его клиент не может. |
| Событие | Код вида категория.действие (например, member.grant_set) и понятное описание («Изменены права участника alice»). Полный список — в каталоге событий. |
| Объект | На что направлено действие: задача #35, участник alice, репозиторий shop-web, коннектор. |
| Проект | Проект разработки, если действие относится к проекту. |
| Операция | Класс действия: создание, изменение, удаление, доступ, аутентификация, передача, выполнение. |
| Важность | инфо → заметное → предупреждение → критичное. Отказ во входе — предупреждение; смена владельца или отзыв коннектора — критичное. |
| Результат | Успех или отказ; для отказа — причина в той формулировке, которую увидел человек. |
| Детали | Структурированные параметры действия: какие права выданы, какое решение принято, сколько строк выгружено. |
| Хэш | Хэш записи и хэш предыдущей — звенья цепочки целостности. |
Секреты в журнал не попадают. Сохранение токена репозитория записывается как факт («сохранены учётные данные репозитория shop-web»), но ни значение токена, ни его отпечаток в журнале нет. Учётные данные в адресах репозиториев вырезаются до записи.
Как читать
Раскройте строку — откроется полная запись: все поля из таблицы выше, детали в JSON и оба хэша.
Фильтры применяются на сервере, поэтому работают по всему журналу, а не по загруженной странице:
- Период — «Сегодня», «7 дней», «30 дней», «Всё время» или две даты в формате дд.мм.гггг (границы включительно).
- Исполнитель — список всех, кто когда-либо действовал в организации.
- Результат — все, только успехи, только отказы. «Отказы» за неделю — самый быстрый способ увидеть, кто пытался сделать то, что ему не положено.
- Категории — сессии и вход, участники и права, задачи, ревью, коннекторы и так далее; можно выбрать несколько.
- Поиск — по описанию, объекту, исполнителю, коду события, адресу, причине отказа и деталям.
Журнал показывается страницами по сто записей; кнопка «Показать ещё» продолжает список до конца. Новые события появляются без перезагрузки.
Что записывается, а что нет
Записывается каждое действие — всё, что меняет состояние организации или касается входа, — и каждый отказ в таком действии. Полный перечень по категориям: Каталог событий.
Не записывается чтение: открытие задачи, просмотр диффа, список участников. Исключения из этого правила — действия над самим журналом: выгрузка и проверка целостности фиксируются всегда (как и попытка выгрузки без права). Не записываются и рутинные фоновые операции, если они прошли успешно: продление сессии, периодический отчёт коннектора; их отказы записываются, потому что отказ в продлении сессии — признак отозванного или украденного токена.
Действия пайплайна (задача закрыта, конфликт слияния, ревью готово, машина арендована) записываются как события системы. Действия оператора платформы над вашей организацией — пополнение и корректировка баланса, отключение коннектора — как события оператора: вы видите, что сделали с вами мы.
Хранение
Записи журнала не редактируются и не удаляются — ни пользователем, ни оператором. Журнал хранится всё время существования организации, без ограничения глубины: ни окна в 90 или 180 дней, ни лимита на количество записей. Каждая запись связана с предыдущей хэшем, поэтому вставить, изменить или убрать запись задним числом нельзя незаметно — см. Целостность.
Что дальше
- Каталог событий — все коды с описанием, операцией и важностью.
- Выгрузка и целостность — CSV и JSON Lines, формат, проверка цепочки своими средствами.
- Справочник прав — как выдать право на журнал офицеру безопасности.