Доступ, экспорт и фильтрация журнала аудита

Azure DevOps Services

Примечание.

Аудит в настоящее время находится в общедоступной предварительной версии.

Логи аудита уровня организации в Azure DevOps помогают поддерживать безопасность и соответствие требованиям. В этой статье объясняется, как включить аудит, доступ к журналу аудита и фильтрацию журналов аудита и экспортировать события аудита.

Внимание

Аудит доступен только для организаций, поддерживаемых Microsoft Entra ID. Дополнительные сведения см. в разделе Connect your organization to Microsoft Entra ID.

Событие аудита записывается каждый раз, когда пользователь или учетная запись службы в организации изменяет состояние артефакта. Примеры зарегистрированных событий:

  • Изменения разрешений
  • Удаленные ресурсы
  • Изменения политики ветви
  • Доступ к журналам и скачивание

Полный список событий см. в разделе "Аудит событий".

События аудита хранятся в течение 90 дней, после чего удаляются. Чтобы сохранить данные аудита дольше, создайте резервную копию данных событий во внешней локации или используйте потоковую передачу аудита.

Аудит недоступен для локальных развертываний Azure DevOps Server. Однако вы можете подключить поток аудита из экземпляра Azure DevOps Services к локальному или облачному экземпляру Splunk. Убедитесь, что вы разрешаете диапазоны IP-адресов для входящих подключений. Дополнительные сведения см. в списках разрешенных адресов и сетевых подключениях, IP-адресах и ограничениях диапазона.

Подсказка

Вы можете использовать ИИ, чтобы помочь с этой задачей позже в этой статье или ознакомиться с включение помощи ИИ в Azure DevOps MCP Server, чтобы начать работу.

Предварительные условия

Аудит отключен по умолчанию для всех организаций Azure DevOps Services. Убедитесь, что только авторизованный персонал имеет доступ к конфиденциальным сведениям аудита.

Категория Требования
Разрешения — член группы администраторов коллекции проектов (владельцы организации автоматически являются членами) или
— Для каждого пользователя или группы заданы следующие разрешения аудита: управление потоками аудита, просмотр журнала аудита.

Администраторы коллекции проектов могут предоставлять эти разрешения любым пользователям или группам для управления потоками организации, включая удаление потоков аудита.

Примечание.

Если для организации включена функция "Ограничение видимости пользователей и совместной работы только до определенных проектов", пользователи в группе Project-Scoped Users не могут получить доступ к аудиту и имеют ограниченный доступ к страницам параметров организации. Дополнительные сведения и важные сведения о безопасности см. в разделе "Ограничение видимости пользователей для проектов и многое другое".

Включение и отключение аудита

  1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

  2. Выберите значок шестеренкиНастройки организации.

  3. В заголовке "Безопасность " выберите "Политики".

  4. Включите кнопку "События аудита журнала".

    Снимок экрана: включена политика аудита.

    Это действие позволяет выполнять аудит для организации. Обновите страницу, а затем на боковой панели появится Аудит. События аудита начинают отображаться в журналах аудита и с помощью любых настроенных потоков аудита.

  5. Если вы больше не хотите получать события аудита, выключите кнопку Включить аудитOFF. Это действие удаляет страницу аудита с боковой панели и делает страницу журналов аудита недоступной. Все потоки аудита перестают получать события.

Аудит доступа

  1. Войдите в свою организацию (https://dev.azure.com/{yourorganization}).

  2. Выберите значок шестеренкиНастройки организации.

    Снимок экрана: выделенная кнопка

  3. Выберите "Аудит".

    Предварительный просмотр страницы аудита

  4. Если аудит не отображается в параметрах организации, у вас нет доступа к событиям аудита. Группа администраторов коллекции проектов может предоставлять разрешения другим пользователям и группам, чтобы они могли получить доступ к страницам аудита. Для этого выберите "Разрешения", а затем найдите группу или пользователей, чтобы предоставить доступ к аудиту.

    Снимок экрана: выделенная вкладка

  5. Задайте Просмотреть журнал аудита на Разрешить, а затем выберите Сохранить изменения.

    Снимок экрана: предварительная версия разрешений на аудит доступа.

    Теперь пользователи или члены группы имеют доступ к просмотру событий аудита организации.

Проверка журнала аудита

Страница аудита предоставляет простое представление о событиях аудита, записанных для вашей организации. В следующей таблице описываются сведения, доступные на странице аудита :

Информация и детали о событиях аудита

Информация Сведения
Субъект Отображает имя пользователя, активировавшее событие аудита.
IP-адрес IP-адрес пользователя, активировавший событие аудита.
Отметка времени Время, когда произошло активированное событие. Время локализуется в соответствующем часовом поясе.
Область Область продукта в Azure DevOps, где произошло событие.
Категория Описание типа действия, которое произошло (например, изменение, переименование, создание, удаление, убрать, выполнение и получение доступа).
Сведения Краткое описание того, что произошло во время события.

Каждое событие аудита также фиксирует дополнительные сведения, выходящие за рамки доступных на странице Аудита. Эти сведения включают механизм проверки подлинности, идентификатор корреляции для связывания аналогичных событий, агента пользователя и дополнительных данных в зависимости от типа события аудита. Доступ к этой информации можно получить только путем экспорта событий аудита через CSV или JSON.

Идентификатор и идентификатор корреляции

Каждое событие аудита имеет уникальные идентификаторы, называемые ID и CorrelationID. Идентификатор корреляции полезен для поиска связанных событий аудита. Например, создание проекта может создавать несколько десятков событий аудита, все связанные с тем же идентификатором корреляции.

Если идентификатор события аудита соответствует идентификатору корреляции, он указывает, что событие аудита является родительским или исходным событием. Чтобы просмотреть только исходящие события, найдите события, в которых ID равно Correlation ID. Если вы хотите исследовать событие и связанные с ним события, просмотрите все события с идентификатором корреляции, соответствующим идентификатору исходного события. Не все события имеют сопутствующие события.

Массовые события

Некоторые события аудита, известные как "события массового аудита", включают несколько действий, которые происходят одновременно. Эти события можно распознать значком сведений в правом углу события. Чтобы просмотреть сведения о каждом действии массового аудита, проверьте скачанные данные аудита.

Снимок экрана показывает значок с дополнительной информацией для аудита.

При выборе значка сведений отображаются дополнительные сведения о событии аудита.

При просмотре событий аудита используйте столбцы категории и области для фильтрации и поиска определенных типов событий. В следующих таблицах перечислены категории и области, а также их описания:

Список событий

Группа продуктов работает над добавлением новых событий аудита каждый месяц. Если вы хотите, чтобы событие отслеживалось, которое сейчас недоступно, поделитесь своим предложением в сообществе разработчиков.

Полный список всех событий, которые функция аудита может выдавать, см. в списке событий аудита.

Примечание.

Хотите узнать, какие области событий регистрирует ваша организация? Ознакомьтесь с API запросов журнала аудита: https://auditservice.dev.azure.com/{YOUR_ORGANIZATION}/_apis/audit/actions Замените {YOUR_ORGANIZATION} именем вашей организации. Этот API возвращает список всех событий аудита (или действий), которые ваша организация может излучать.

Фильтрация журнала аудита по дате и времени

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

  1. Чтобы сузить отображаемые события аудита, выберите фильтр времени.

    Снимок экрана показывает фильтр записи аудита по дате и по времени.

  2. Используйте фильтры, чтобы выбрать диапазон времени за последние 90 дней и ограничить его до минуты.

  3. Нажмите кнопку "Применить " в селекторе диапазона времени, чтобы начать поиск. По умолчанию возвращаются первые 200 результатов для выбранного временного диапазона. Если есть дополнительные результаты, можно прокрутить вниз, чтобы загрузить дополнительные записи на страницу.

Экспорт событий аудита

Чтобы выполнить более подробный поиск по данным аудита или хранить данные более 90 дней, экспортируйте существующие события аудита. Экспортированные данные можно хранить в другом расположении или службе.

Чтобы экспортировать события аудита, нажмите кнопку "Скачать ". Вы можете скачать данные в виде CSV-файла или JSON.

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

Примечание.

Для долгосрочного хранения и анализа событий аудита рекомендуется использовать функцию потоковой передачи аудита для отправки событий в средство управления сведениями и событиями безопасности (SIEM). Экспортируйте журналы аудита для поверхностного анализа данных.

  • Чтобы отфильтровать данные за пределами диапазона даты и времени, скачайте журналы в виде CSV-файлов и импортируйте их в Microsoft Excel или другие средства синтаксического анализа CSV для просмотра столбцов "Область" и "Категория".
  • Чтобы проанализировать более крупные наборы данных, отправьте экспортированные события аудита в средство управления инцидентами безопасности и событиями (SIEM) с помощью функции потоковой передачи аудита. Средства SIEM позволяют хранить более 90 дней событий, выполнять поиск, создавать отчеты и настраивать оповещения на основе событий аудита.

Ограничения

Система может выполнять аудит только следующих ограничений:

  • Изменения членства в группах Microsoft Entra: журналы аудита включают обновления для групп Azure DevOps и членства в группах при возникновении AreaсобытияGroups. Однако если вы управляете членством через группы Microsoft Entra, эти журналы не включают дополнения и удаление пользователей из этих групп Microsoft Entra. Просмотрите журналы аудита Microsoft Entra, чтобы узнать, когда пользователь или группа были добавлены или удалены из группы Microsoft Entra.
  • События авторизации: Azure DevOps не отслеживает события авторизации. Чтобы просмотреть события входа в Microsoft Entra ID, просмотрите журналы аудита Microsoft Entra.
  • Косвенные добавления пользователей: В некоторых случаях пользователи добавляются в вашу организацию косвенно и отображаются в журнале аудита как добавленные сервисами Azure DevOps. Например, если назначить пользователя рабочему элементу, вы можете автоматически добавить их в организацию. Хотя событие аудита создается для добавляемого пользователя, отсутствует соответствующее событие аудита для назначения рабочего элемента, которое активировало добавление пользователя. Чтобы отслеживать эти события, рассмотрите следующие действия:
    • Просмотрите журнал рабочих элементов для соответствующих меток времени, чтобы узнать, назначен ли этот пользователь любому рабочему элементу.
    • Проверьте журнал аудита для любых связанных событий, которые могут предоставить контекст.

Часто задаваемые вопросы

Вопрос. Что такое группа DirectoryServiceAddMember и почему она отображается в журнале аудита?

Ответ. Группа DirectoryServiceAddMember помогает управлять членством в организации. Многие системные, пользовательские и административные действия могут повлиять на членство в этой системной группе. Так как эта группа используется только для внутренних процессов, игнорируйте записи журнала аудита, которые фиксируют изменения членства в этой группе.

Использование ИИ для запроса и анализа журналов аудита

Если настроить Azure DevOps MCP Server, можно использовать помощники ИИ для запроса и анализа событий аудита с помощью запросов на естественном языке. Сервер MCP предоставляет помощнику по искусственному интеллекту безопасный доступ к данным Azure DevOps, чтобы вы могли исследовать действия, отслеживать изменения и выявлять проблемы безопасности без ручной фильтрации через экспорт журналов аудита.

Пример запроса на анализ журнала аудита

задачи Пример запроса
Изучение изменений разрешений Show me all permission changes in <organization-name> over the last 7 days, including who made the change and what was modified
Отслеживание действий пользователей после инцидента Find all audit events for <user-email> in <organization-name> from the last 48 hours, grouped by action category
Обнаружение необычных удалений List all resource deletions in <organization-name> in the past 30 days, including repos, pipelines, and projects, and who performed each deletion
Аудит событий PAT и токенов Show me all PAT creation, modification, and revocation events in <organization-name> this month and flag any full-scope tokens that were created
Обзор изменений политики What security policy or organization setting changes were made in <organization-name> in the last 14 days and by whom?
Проверка соответствия требованиям Generate a summary of audit activity in <organization-name> for the last 90 days, grouped by category - permissions, groups, policy changes, and resource modifications

Подсказка

Если вы используете Visual Studio Code, агентный режим особенно полезно для сопоставления событий аудита в нескольких категориях для расследования инцидентов безопасности.

  • Чтобы избежать использования устаревших или кэшированных данных из предыдущих запросов, добавьте в запрос Do not use previously fetched data.