Аудит безопасности — это детальный анализ вашей инфраструктуры, направленный на выявление потенциальных уязвимостей и небезопасных практик. Code помогает упростить процесс аудита с помощью событий аудита, которые позволяют отслеживать широкий спектр действий, происходящих в системе.

Примеры использования событий аудита:

  • Отслеживание, кто и когда изменил уровень доступа пользователя в проекте Code.
  • Отслеживание случаев создания и удаления пользователей.

События аудита помогают:

  • оценивать риски и усиливать меры безопасности;
  • реагировать на инциденты.

Некоторые сценарии использования:

  • Выявление подозрительной активности — например, массового изменения email-адресов сотрудников или удаления репозиториев.
  • Отслеживание изменений переменных окружения в CI.
  • Отслеживание изменений уровня видимости проектов и групп.

Все события аудита хранятся бессрочно, что позволяет в любой момент обратиться ко всей истории событий.

Чтобы получить доступ к событиям аудита, войдите в режим администратора и в боковом меню выберите пункт «Аудит событий».

Доступ к событиям аудита через API

Code также предоставляет API-метод для получения списка событий аудита с возможностью фильтрации и сортировки.

Метод:
POST /api/v4/admin/audit_events/search

Описание:
Возвращает список событий аудита. Допускается фильтрация по датам, текстовому поиску и типам сущностей.

Диапазон дат должен находиться в пределах одного календарного месяца. Если значения created_after и created_before относятся к разным месяцам, параметр created_before будет автоматически приведён к последнему дню месяца, в который входит created_after.

Параметры запроса

Параметр Тип Обязательный Описание
created_after string Нет Начальная дата (включительно) в формате ISO8601. По умолчанию — начало текущего месяца.
created_before string Нет Конечная дата (включительно) в формате ISO8601. По умолчанию — конец текущего месяца.
q string Нет Полнотекстовый поиск по сообщению события.
sort string Нет Сортировка по дате создания. Возможные значения: created_asc, created_desc (по умолчанию).
entity_types array Нет Список типов сущностей для фильтрации: User, Project, Group, Gitlab::Audit::InstanceScope.

Пример запроса:

curl --request POST "https://example.com/api/v4/admin/audit_events/search" \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     --header "Content-Type: application/json" \
     --data '{
       "created_after": "2025-08-01",
       "created_before": "2025-08-31",
       "q": "repository",
       "sort": "created_desc",
       "entity_types": ["Project"]
     }'