Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
Замечание
Эта функция доступна в общедоступной предварительной версии.
Azure Active Directory B2C (Azure AD B2C) создает журналы аудита, содержащие сведения о действиях для ресурсов B2C, выданных токенах и доступе с правами администратора. В этой статье представлен краткий обзор сведений, доступных в журналах аудита, и инструкции по доступу к этим данным для клиента Azure AD B2C.
События журнала аудита хранятся только в течение семи дней. Запланируйте скачивание и хранение журналов с помощью одного из методов, показанных ниже, если требуется более длительный срок хранения.
Замечание
Вход пользователей для отдельных приложений Azure AD B2C не отображается в разделе "Пользователи " на страницах Microsoft Entra ID или Azure AD B2C на портале Azure. События входа отображают действия пользователя, но не могут быть связаны с приложением B2C, в которое пользователь вошёл. Для этого необходимо использовать журналы аудита, как описано далее в этой статье.
Обзор действий, доступных в журнале аудита категории B2C
Категория B2C в журналах аудита содержит следующие типы действий:
| Тип активности | Описание |
|---|---|
| Авторизация | Действия, касающиеся авторизации на доступ пользователя к ресурсам B2C (например, администратор, обращающийся к списку политик B2C). |
| Каталог | Действия, связанные с атрибутами каталога, получаемыми при входе администратора с помощью портала Azure. |
| Заявление | Операции создания, чтения, обновления и удаления (CRUD) в приложениях B2C. |
| Ключ | Операции CRUD с ключами, хранящимися в контейнере ключей B2C. |
| Ресурс | Операции CRUD с ресурсами B2C. Например, политики и поставщики удостоверений. |
| Аутентификация | Проверка учетных данных пользователя и выдача токена. |
Сведения о действиях CRUD объекта пользователя см. в категории "Основной каталог ".
Пример действия
На этом примере на портале Azure отображаются данные, полученные при входе пользователя с помощью внешнего поставщика удостоверений, в этом случае Facebook:
Панель сведений о действии содержит следующие важные сведения:
| Секция | Поле | Описание |
|---|---|---|
| Активность | Имя | Какое действие произошло. Например, выдайте токен идентификатора приложению, что завершает фактический вход пользователя. |
| Инициировано (действующим лицом) | ObjectId (идентификатор объекта) | Идентификатор объекта приложения B2C, в которое входит пользователь. Этот идентификатор не отображается на портале Azure, но доступен через API Microsoft Graph. |
| Инициировано (действующим лицом) | Спн | Идентификатор приложения B2C, в которое пользователь входит. |
| Целевые объекты | ObjectId (идентификатор объекта) | Идентификатор объекта пользователя, который выполняет вход. |
| Дополнительные сведения | Идентификатор арендатора (TenantId) | Идентификатор клиента Azure AD B2C. |
| Дополнительные сведения | Идентификатор политики | Идентификатор политики пользовательского потока (политики), используемого для входа пользователя. |
| Дополнительные сведения | ApplicationId | Идентификатор приложения B2C, в которое пользователь входит. |
Просмотр журналов аудита на портале Azure
Портал Azure предоставляет доступ к событиям журнала аудита в клиенте Azure AD B2C.
- Войдите на портал Azure.
- Перейдите в каталог, содержащий клиент Azure AD B2C, а затем перейдите к Azure AD B2C.
- В разделе "Действия " в меню слева выберите журналы аудита.
Отображается список событий действий, зарегистрированных за последние семь дней.
Доступны несколько вариантов фильтрации, в том числе:
- Тип ресурса действия — фильтрация по типам действий, отображаемым в таблице в разделе "Обзор доступных действий ".
- Дата — фильтрация диапазона дат отображаемых действий.
При выборе строки в списке отображаются подробности действия этого события.
Чтобы скачать список событий действий в CSV-файле с разделием запятыми, нажмите кнопку "Скачать".
Получение журналов аудита с помощью API отчетов Microsoft Entra
Журналы аудита публикуются в той же системе, как и другие активности для Microsoft Entra ID, чтобы их можно было получить через API отчетов Microsoft Entra. Дополнительные сведения см. в статье "Начало работы с API отчетов Microsoft Entra".
Включение доступа к API отчетов
Чтобы разрешить доступ к API отчетов Microsoft Entra на основе скриптов или приложений, вам потребуется приложение, зарегистрированное в клиенте Azure AD B2C со следующими разрешениями API. Эти разрешения можно включить для существующей регистрации приложения в клиенте B2C или создать новую специально для автоматизации журналов аудита.
- Разрешения > приложения Microsoft Graph > AuditLog AuditLog.Read.All >
Выполните действия, описанные в следующей статье, чтобы зарегистрировать приложение с необходимыми разрешениями:
Управление Azure AD B2C с помощью Microsoft Graph
После регистрации приложения с соответствующими разрешениями см. раздел со скриптом PowerShell далее в этой статье, чтобы получить события активности с помощью скрипта.
Доступ к API
Чтобы скачать события журнала аудита Azure AD B2C через API, отфильтруйте журналы в B2C категории. Чтобы отфильтровать по категориям, используйте filter параметр строки запроса при вызове конечной точки API отчетов Microsoft Entra.
https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?$filter=loggedByService eq 'B2C' and activityDateTime gt 2019-09-10T02:28:17Z
Сценарий PowerShell
В следующем скрипте PowerShell показан пример запроса API отчетов Microsoft Entra. После запроса API он выводит записанные события в стандартные выходные данные, а затем записывает выходные данные JSON в файл.
Этот сценарий можно попробовать в Azure Cloud Shell. Обязательно обновите его с идентификатором приложения, секретом клиента и именем клиента Azure AD B2C.
# This script requires an application registration that's granted Microsoft Graph API permission
# https://learn.microsoft.com/azure/active-directory-b2c/microsoft-graph-get-started
# Constants
$ClientID = "your-client-application-id-here" # Insert your application's client ID, a GUID
$ClientSecret = "your-client-application-secret-here" # Insert your application's client secret value
$tenantdomain = "your-b2c-tenant.onmicrosoft.com" # Insert your Azure AD B2C tenant domain name
$loginURL = "https://login.microsoftonline.com"
$resource = "https://graph.microsoft.com" # Microsoft Graph API resource URI
$7daysago = "{0:s}" -f (get-date).AddDays(-7) + "Z" # Use 'AddMinutes(-5)' to decrement minutes, for example
Write-Output "Searching for events starting $7daysago"
# Create HTTP header, get an OAuth2 access token based on client id, secret and tenant domain
$body = @{grant_type="client_credentials";resource=$resource;client_id=$ClientID;client_secret=$ClientSecret}
$oauth = Invoke-RestMethod -Method Post -Uri $loginURL/$tenantdomain/oauth2/token?api-version=1.0 -Body $body
# Parse audit report items, save output to file(s): auditX.json, where X = 0 through n for number of nextLink pages
if ($oauth.access_token -ne $null) {
$i=0
$headerParams = @{'Authorization'="$($oauth.token_type) $($oauth.access_token)"}
$url = "https://graph.microsoft.com/v1.0/auditLogs/directoryAudits?`$filter=loggedByService eq 'B2C' and activityDateTime gt " + $7daysago
# loop through each query page (1 through n)
Do {
# display each event on the console window
Write-Output "Fetching data using Uri: $url"
$myReport = (Invoke-WebRequest -UseBasicParsing -Headers $headerParams -Uri $url)
foreach ($event in ($myReport.Content | ConvertFrom-Json).value) {
Write-Output ($event | ConvertTo-Json)
}
# save the query page to an output file
Write-Output "Save the output to a file audit$i.json"
$myReport.Content | Out-File -FilePath audit$i.json -Force
$url = ($myReport.Content | ConvertFrom-Json).'@odata.nextLink'
$i = $i+1
} while($url -ne $null)
} else {
Write-Host "ERROR: No Access Token"
}
Ниже приведено представление JSON примера события действия, показанного ранее в статье:
{
"id": "B2C_DQO3J_4984536",
"category": "Authentication",
"correlationId": "aaaa0000-bb11-2222-33cc-444444dddddd",
"result": "success",
"resultReason": "N/A",
"activityDisplayName": "Issue an id_token to the application",
"activityDateTime": "2019-09-14T18:13:17.0618117Z",
"loggedByService": "B2C",
"operationType": "",
"initiatedBy": {
"user": null,
"app": {
"appId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"displayName": null,
"servicePrincipalId": null,
"servicePrincipalName": "00000000-0000-0000-0000-000000000000"
}
},
"targetResources": [
{
"id": "00000000-0000-0000-0000-000000000000",
"displayName": null,
"type": "User",
"userPrincipalName": null,
"groupType": null,
"modifiedProperties": []
}
],
"additionalDetails": [
{
"key": "TenantId",
"value": "test.onmicrosoft.com"
},
{
"key": "PolicyId",
"value": "B2C_1A_signup_signin"
},
{
"key": "ApplicationId",
"value": "00000000-0000-0000-0000-000000000000"
},
{
"key": "Client",
"value": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
},
{
"key": "IdentityProviderName",
"value": "facebook"
},
{
"key": "IdentityProviderApplicationId",
"value": "0000000000000000"
},
{
"key": "ClientIpAddress",
"value": "127.0.0.1"
}
]
}
Дальнейшие шаги
Вы можете автоматизировать другие задачи администрирования, например управлять учетными записями пользователей Azure AD B2C с помощью Microsoft Graph.