Поделиться через


Архивирование журналов и отчетов об управлении правами в Azure Monitor

Microsoft Entra ID хранит события аудита для управления доступом и других функций управления Microsoft Entra ID до 30 дней в журнале аудита. Однако данные аудита можно хранить дольше, чем срок хранения по умолчанию, описанный в разделе "Как долго Microsoft Entra ID хранит данные отчетов?", направляя их в учетную запись хранилища Azure или используя Azure Monitor. Затем вы можете использовать рабочие книги, а также пользовательские запросы и отчеты на основе этих данных.

В этой статье описывается, как использовать Azure Monitor для хранения журналов аудита. Чтобы сохранить или создать отчет об объектах Microsoft Entra, таких как пользователи или назначения ролей приложений, см. в статье Настраиваемые отчеты в Azure Data Explorer (ADX) с помощью данных из идентификатора Microsoft Entra.

Настройка идентификатора Microsoft Entra для использования Azure Monitor

Прежде чем использовать рабочие книги Azure Monitor, необходимо настроить Microsoft Entra ID для отправки копии журналов аудита в Azure Monitor.

Архивация журналов аудита Microsoft Entra требует наличия Azure Monitor в подписке Azure. Дополнительные сведения о предварительных требованиях и предполагаемых затратах на использование Azure Monitor в журналах действий Microsoft Entra см. в Azure Monitor.

  1. Войдите в Центр администрирования Microsoft Entra как минимум Администратор безопасности. Убедитесь, что у вас есть доступ к группе ресурсов, в которой содержится рабочая область Azure Monitor.

  2. Перейдите к Удостоверение>Мониторинг и работоспособность>Параметры диагностики.

  3. Проверьте, существует ли уже параметр для отправки журналов аудита в эту рабочую область.

  4. Если еще нет параметра, нажмите кнопку "Добавить параметр диагностики". Используйте инструкции по интеграции журналов Microsoft Entra с журналами Azure Monitor, чтобы отправить журнал аудита Microsoft Entra в рабочую область Azure Monitor.

    Область параметров диагностики.

  5. После отправки журнала в Azure Monitor выберите рабочие области Log Analytics и выберите рабочую область, содержащую журналы аудита Microsoft Entra.

  6. Выберите "Использование" и "Предполагаемые затраты " и выберите " Хранение данных". С помощью ползунка выберите количество дней, в течение которых будут храниться данные, чтобы они соответствовали требованиям аудита.

    Панель рабочих областей Log Analytics.

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

    1. Перейдите в раздел Идентификатор>, Мониторинг и работоспособность>, Рабочие книги.

    2. Разверните раздел «Устранение неполадок Microsoft Entra» и выберите диапазон дат архивированного журнала.

Просмотр событий для пакета доступа

Чтобы просмотреть события для пакета доступа, необходимо иметь доступ к базовой рабочей области Azure Monitor (Дополнительные сведения см. в статье Управление доступом к данным журнала и рабочим областям в Azure Monitor) и в одной из следующих ролей:

  • Глобальный администратор
  • Администратор безопасности
  • Читатель сведений о безопасности
  • Просмотрщик отчетов
  • Администратор приложений

Чтобы просматривать события, используйте следующую процедуру:

  1. В Центре администрирования Microsoft Entra выберите «Удостоверение», а затем выберите Рабочие книги. Если у вас только одна подписка, переходите к 3 шагу:

  2. Если у вас несколько подписок, выберите подписку, содержащую рабочую область.

  3. Выберите книгу под названием Активность пакета доступа.

  4. В этой книге выберите диапазон времени (измените значение на Все, если не уверены), а затем выберите идентификатор пакета доступа из раскрывающегося списка всех пакетов доступа, в которых была активность в течение этого интервала времени. Отображаются события, связанные с пакетом доступа, который произошел во время выбранного диапазона времени.

    Просмотр событий пакета доступа.

    Каждая строка включает время, идентификатор пакета доступа, наименование операции, идентификатор объекта, UPN и отображаемое имя пользователя, запустившего операцию. Дополнительные сведения включены в JSON.

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

    Просмотр назначений ролей приложения.

Создание пользовательских запросов Azure Monitor с помощью Центра администрирования Microsoft Entra

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

  1. В Центре администрирования Microsoft Entra выберите Журналы в разделе "Мониторинг" в меню навигации слева, чтобы создать новую страницу запроса.

  2. Ваша рабочая область должна отображаться в левом верхнем углу страницы запроса. Если у вас несколько рабочих областей Azure Monitor, а используемая для хранения событий аудита Microsoft Entra не отображается, выберите " Выбрать область". Затем выберите нужную подписку и рабочую область.

  3. Затем в текстовом поле запроса удалите строку "search *" и замените ее следующим запросом:

    AuditLogs | where Category == "EntitlementManagement"
    
  4. Затем выберите Выполнить.

    Нажмите кнопку

В таблице показаны события журнала аудита для управления правами за последний час по умолчанию. Вы можете изменить параметр "Диапазон времени", чтобы просмотреть старые события. Однако изменение этого параметра будет отображать только события, произошедшие после настройки идентификатора Microsoft Entra для отправки событий в Azure Monitor.

Если вы хотите получить сведения о самых старых и новых событиях аудита, которые хранятся в Azure Monitor, используйте следующий запрос:

AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type

Дополнительные сведения о столбцах, хранящихся для событий аудита в Azure Monitor, см. в статье "Интерпретация схемы журналов аудита Microsoft Entra" в Azure Monitor.

Создание пользовательских запросов Azure Monitor с помощью Azure PowerShell

Вы можете получить доступ к журналам с помощью PowerShell после настройки идентификатора Microsoft Entra для отправки журналов в Azure Monitor. Затем отправьте запросы из скриптов или командной строки PowerShell без необходимости быть глобальным администратором в клиенте.

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

Убедитесь, что пользователь или субъект-служба, прошедшие проверку подлинности в идентификаторе Microsoft Entra, находятся в соответствующей роли Azure в рабочей области Log Analytics. Роли могут быть либо читатель Log Analytics или участник Log Analytics. Если вы уже находитесь в одной из этих ролей, перейдите к Получите идентификатор Log Analytics, используя подписку Azure.

Чтобы задать назначение ролей и создать запрос, выполните следующие действия:

  1. В Центре администрирования Microsoft Entra найдите рабочую область Log Analytics.

  2. Выберите Управление доступом (IAM).

  3. Затем нажмите кнопку "Добавить ", чтобы добавить назначение роли.

    Добавьте назначение роли.

Установка модуля Azure PowerShell

Получив необходимое назначение ролей, запустите PowerShell и установите модуль Azure PowerShell (если вы еще этого не сделали), введя:

install-module -Name az -allowClobber -Scope CurrentUser

Теперь вы готовы авторизоваться в Microsoft Entra ID и получить идентификатор рабочей области Log Analytics, которую вы запрашиваете.

Получить идентификатор Log Analytics с одной подпиской Azure

Если у вас есть только одна подписка Azure и одна рабочая область Log Analytics, введите следующую команду для проверки подлинности в идентификаторе Microsoft Entra, подключитесь к этой подписке и получите эту рабочую область:

Connect-AzAccount
$wks = Get-AzOperationalInsightsWorkspace

Получение идентификатора Log Analytics для нескольких подписок Azure

Командлет Get-AzOperationalInsightsWorkspace работает в одной подписке за раз. Таким образом, если у вас несколько подписок Azure, необходимо убедиться, что вы подключаетесь к той, которая имеет рабочую область Log Analytics с журналами Microsoft Entra.

Следующие командлеты отображают список подписок и находят идентификатор подписки, которая имеет рабочее пространство Log Analytics.

Connect-AzAccount
$subs = Get-AzSubscription
$subs | ft

Вы можете повторно пройти аутентификацию и связать сеанс PowerShell с этой подпиской с помощью команды, например Connect-AzAccount –Subscription $subs[0].id. Дополнительные сведения о аутентификации в Azure с помощью PowerShell, в том числе в неинтерактивном режиме, см. в разделе Войти используя Azure PowerShell.

Если в этой подписке имеется несколько рабочих областей Log Analytics, командлет Get-AzOperationalInsightsWorkspace возвращает список рабочих областей. Затем можно найти тот, который содержит журналы Microsoft Entra. Поле CustomerId , возвращаемое этим командлетом, совпадает со значением идентификатора рабочей области, отображаемого в Центре администрирования Microsoft Entra в обзоре рабочей области Log Analytics.

$wks = Get-AzOperationalInsightsWorkspace
$wks | ft CustomerId, Name

Отправьте запрос в рабочую область Log Analytics

Наконец, после определения рабочей области можно использовать Invoke-AzOperationalInsightsQuery, чтобы отправить запрос Kusto в эту рабочую область. Эти запросы написаны на языке запросов Kusto.

Например, можно получить диапазон дат записей событий аудита из рабочей области Log Analytics, используя командлеты PowerShell для отправки запроса:

$aQuery = "AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type"
$aResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $aQuery
$aResponse.Results |ft

Вы также можете получать события управления правами с помощью запроса, например:

$bQuery = 'AuditLogs | where Category == "EntitlementManagement"'
$bResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $Query
$bResponse.Results |ft 

Использование фильтров запросов

Можно включить поле TimeGenerated для ограничения запроса определённым временным диапазоном. Например, чтобы получить события журнала аудита для политик назначения пакетов управления доступом для управления правами, созданных или обновленных за последние 90 дней, можно указать запрос, включающий это поле, а также категорию и тип операции.

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
project ActivityDateTime,OperationName, InitiatedBy, AdditionalDetails, TargetResources

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

AuditLogs | 
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") | 
mv-expand TargetResources | 
where TargetResources.type == "AccessPackageAssignmentPolicy" | 
project ActivityDateTime,OperationName,InitiatedBy,PolicyId=TargetResources.id,PolicyDisplayName=TargetResources.displayName,MP1=TargetResources.modifiedProperties | 
mv-expand MP1 | 
where (MP1.displayName == "IsApprovalRequiredForAdd" and MP1.newValue == "\"False\"") |
order by ActivityDateTime desc 

Следующие шаги