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

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

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

Совет

Действия, описанные в этой статье, могут немного отличаться на портале, с который вы начинаете работу.

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

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

Требуемая роль: глобальный администратор

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

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

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

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

    Diagnostics settings pane

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

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

    Log Analytics workspaces pane

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

    1. Перейдите к книгам мониторинга и работоспособности>удостоверений>.

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

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

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

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

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

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

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

  3. Выберите книгу, которая называется Действие пакета для доступа.

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

    View access package events

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

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

    View app role assignments

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

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

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

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

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

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

    Click Run to start query

В таблице показаны события журнала аудита для управления правами за последний час по умолчанию. Вы можете изменить параметр "Диапазон времени", чтобы просмотреть старые события. Однако изменение этого параметра будет отображать только события, произошедшие после настройки идентификатора 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 без необходимости быть глобальным Администратор istrator в клиенте.

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

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

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

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

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

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

    Add a role assignment

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

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

install-module -Name az -allowClobber -Scope CurrentUser

Теперь вы готовы выполнить проверку подлинности в идентификаторе Microsoft Entra и получить идентификатор рабочей области 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 

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