Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода для определения взаимодействия пользователей с приложениями: через предопределенные потоки пользователей или с помощью полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
Эта функция доступна только для пользовательских политик. Для действий по настройке выберите пользовательскую политику в предыдущем селекторе.
Замечание
Эта функция доступна в общедоступной предварительной версии.
В этой статье приведены инструкции по сбору журналов из Active Directory B2C (Azure AD B2C), чтобы диагностировать проблемы с пользовательскими политиками. Application Insights позволяет диагностировать исключения и визуализировать проблемы производительности в приложениях. Служба Azure AD B2C содержит функцию отправки данных в Application Insights.
Подробные журналы действий, описанные здесь, должны быть включены ТОЛЬКО во время разработки пользовательских политик.
Предупреждение
Не задавайте DeploymentMode
как Development
в рабочих средах. Журналы собирают все запросы, отправленные к и от поставщиков удостоверений. Вы, как разработчик, несете ответственность за любые персональные данные, собранные в журналах Application Insights. Эти подробные журналы собираются только в том случае, если политика помещается в РЕЖИМ РАЗРАБОТЧИКА.
Настроить Application Insights
Если у вас еще нет, создайте экземпляр Application Insights в подписке.
Подсказка
Для нескольких клиентов Azure AD B2C можно использовать один экземпляр Application Insights. Затем в запросе можно отфильтровать по имени клиента или политики. Дополнительные сведения см. в журналах примеров Application Insights.
Чтобы использовать существующий экземпляр Application Insights в подписке, выполните следующие действия.
- Войдите на портал Azure.
- Убедитесь, что вы используете каталог Microsoft Entra, имеющий подписку Azure, а не каталог Azure AD B2C. Щелкните значок каталогов и подписок на панели инструментов портала.
- Параметры портала | На странице каталогов и подписок найдите каталог Microsoft Entra в списке имен каталогов , а затем выберите переключатель.
- Откройте созданный ранее ресурс Application Insights.
- На странице «Обзор» запишите строку подключения.
Чтобы создать экземпляр Application Insights в подписке, выполните следующие действия.
- Войдите на портал Azure.
- Убедитесь, что вы используете каталог Microsoft Entra, имеющий подписку Azure, а не каталог Azure AD B2C. Щелкните значок каталогов и подписок на панели инструментов портала.
- Параметры портала | На странице каталогов и подписок найдите каталог Microsoft Entra в списке имен каталогов , а затем выберите переключатель.
- Выберите "Создать ресурс" в меню навигации слева.
- Найдите и выберите Application Insights, а затем нажмите кнопку "Создать".
- Заполните форму, выберите "Просмотр и создание", а затем нажмите кнопку "Создать".
- После завершения развертывания выберите "Перейти к ресурсу".
- В разделе "Настройка " в меню Application Insights выберите "Свойства".
- Запишите СТРОКУ ПОДКЛЮЧЕНИЯ для использования на следующем шаге.
Настройка настраиваемой политики
Откройте файл доверяющей стороны (RP), например SignUpOrSignin.xml.
Добавьте в элемент следующие атрибуты
<TrustFrameworkPolicy>
:DeploymentMode="Development" UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights"
Если он еще не существует, добавьте дочерний
<UserJourneyBehaviors>
узел в<RelyingParty>
узел. Он должен находиться после<DefaultUserJourney ReferenceId="UserJourney Id" from your extensions policy, or equivalent (for example:SignUpOrSigninWithAAD" />
. См. справочник по схеме RelyingParty для получения полного порядка дочерних элементов RelyingParty.Добавьте следующий узел в качестве дочернего
<UserJourneyBehaviors>
элемента. Обязательно замените{Your Application Insights Key}
на строку подключения, которую вы записали ранее, для Application Insights.<JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="{Your Application Insights Connection String}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" />
-
DeveloperMode="true"
Указывает ApplicationInsights ускорить обработку телеметрии через конвейер обработки. Хорошо подходит для разработки, но имеет ограничения при больших объемах. УстановитеDeveloperMode
вfalse
в рабочей среде. -
ClientEnabled="true"
отправляет клиентский скрипт ApplicationInsights для отслеживания просмотров страниц и ошибок на клиентской стороне. Это можно просмотреть в таблице browserTimings на портале Application Insights. Задав параметрClientEnabled= "true"
, вы добавляете Application Insights в скрипт страницы и получаете данные о времени загрузки страницы и вызовов AJAX, количестве, подробностях исключений браузера и сбоях AJAX, а также количестве пользователей и сеансов. Это поле является необязательным и имеет значениеfalse
по умолчанию. -
ServerEnabled="true"
отправляет существующий JSON UserJourneyRecorder в качестве настраиваемого события в Application Insights.
Рассмотрим пример.
<TrustFrameworkPolicy ... TenantId="fabrikamb2c.onmicrosoft.com" PolicyId="SignUpOrSignInWithAAD" DeploymentMode="Development" UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights" > ... <RelyingParty> <DefaultUserJourney ReferenceId="UserJourney ID from your extensions policy, or equivalent (for example: SignUpOrSigninWithAzureAD)" /> <Endpoints> <!--points to refresh token journey when app makes refresh token request--> <Endpoint Id="Token" UserJourneyReferenceId="RedeemRefreshToken" /> </Endpoints> <UserJourneyBehaviors> <JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="{Your Application Insights Connection String}" DeveloperMode="true" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" /> </UserJourneyBehaviors> ... </TrustFrameworkPolicy>
-
Отправьте политику.
Просмотр журналов в Application Insights
Существует небольшая задержка, обычно менее чем пять минут, прежде чем вы сможете увидеть новые логи в Application Insights.
- Откройте ресурс Application Insights, созданный на портале Azure.
- На странице Обзор выберите Журналы.
- Откройте новую вкладку в Application Insights.
Ниже приведен список запросов, которые можно использовать для просмотра журналов:
Запрос | Описание |
---|---|
traces |
Получите все журналы, созданные Azure AD B2C |
traces | where timestamp > ago(1d) |
Получите все журналы, созданные Azure AD B2C за последний день. |
traces | where message contains "exception" | where timestamp > ago(2h) |
Получите все лог-файлы с ошибками за последние два часа. |
traces | where customDimensions.Tenant == "contoso.onmicrosoft.com" and customDimensions.UserJourney == "b2c_1a_signinandup" |
Получите все лог-файлы, созданные арендатором Azure AD B2C contoso.onmicrosoft.com, и пользовательское путешествие — b2c_1a_signinandup. |
traces | where customDimensions.CorrelationId == "aaaa0000-bb11-2222-33cc-444444dddddd" |
Получите все логи, созданные Azure AD B2C по идентификатору корреляции. Замените идентификатор корреляции своим идентификатором корреляции. |
Записи могут быть длинными. Экспорт в CSV для более подробного просмотра.
Дополнительные сведения о запросах см. в разделе "Обзор запросов журналов" в Azure Monitor.
Просмотр журналов в расширении VS Code
Рекомендуется установить расширение Azure AD B2C для VS Code. С расширением Azure AD B2C журналы упорядочиваются по имени политики, идентификаторам корреляции (Application Insights представляет с первой цифры идентификатора корреляции) и метке времени журнала. Эта функция помогает найти соответствующий журнал на основе локальной метки времени и просмотреть путь пользователя, выполняемый Azure AD B2C.
Замечание
Сообщество разработало расширение VS Code, чтобы помочь людям реализовать и поддерживать решения Azure AD B2C. Расширение не поддерживается компанией Майкрософт и доступно строго as-is.
Настройка доступа к API Application Insights
После настройки Application Insights и настройки настраиваемой политики необходимо получить идентификатор API Application Insights и создать ключ API. Идентификатор API и ключ API используются расширением Azure AD B2C для чтения событий Application Insights (телеметрии). Ключи API должны управляться как пароли. Держите его в секрете.
Замечание
Строка подключения Application Insights, которую вы создали ранее, используется Azure AD B2C для отправки данных телеметрии в Application Insights. Строка подключения используется только в политике Azure AD B2C, а не в расширении VS Code.
Чтобы получить идентификатор и ключ Application Insights, выполните приведенные ниже действия.
На портале Azure откройте ресурс Application Insights для приложения.
Выберите "Настроить", а затем выберите "Доступ к API".
Копирование идентификатора приложения
Выберите "Создать ключ API"
Установите флажок "Чтение телеметрии ".
Скопируйте ключ перед закрытием панели "Создание ключа API" и сохраните его в надежном месте. Если вы потеряете ключ, необходимо создать другой.
Настройка расширения Azure AD B2C для VS Code
Теперь, когда у вас есть идентификатор и ключ API Azure Application Insights, можно настроить расширение VS Code для чтения журналов. Расширение VS Code Azure AD B2C предоставляет две области для параметров:
- Глобальные параметры пользователя — параметры, которые применяются глобально к любому экземпляру VS Code, который вы открываете.
- Параметры рабочей области . Параметры, хранящиеся в рабочей области, применяются только при открытии рабочей области (с помощью открытой папки VS Code).
В проводнике трассировки Azure AD B2C щелкните значок настроек.
Укажите идентификатор и ключ Azure Application Insights.
Нажмите кнопку "Сохранить"
После сохранения параметров журналы Application Insights отображаются в окне трассировки Azure AD B2C (App Insights ).
Настройка Application Insights в рабочей среде
Чтобы повысить производительность рабочей среды и улучшить взаимодействие с пользователем, важно настроить политику, чтобы игнорировать сообщения, которые не имеют значения. Кроме того, необходимо убедиться, что вы не регистрируете личную информацию (PII). Используйте следующую конфигурацию в рабочих средах, так чтобы журналы не отправлялись в Application Insights.
Задайте значение
Production
для атрибута TrustFrameworkPolicy.<TrustFrameworkPolicy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06" PolicySchemaVersion="0.3.0.0" TenantId="yourtenant.onmicrosoft.com" PolicyId="B2C_1A_signup_signin" PublicPolicyUri="http://yourtenant.onmicrosoft.com/B2C_1A_signup_signin" DeploymentMode="Production" UserJourneyRecorderEndpoint="urn:journeyrecorder:applicationinsights">
Задайте значение
false
для свойства JourneyInsights.<UserJourneyBehaviors> <JourneyInsights TelemetryEngine="ApplicationInsights" ConnectionString="{Your Application Insights Connection String}" DeveloperMode="false" ClientEnabled="false" ServerEnabled="true" TelemetryVersion="1.0.0" /> </UserJourneyBehaviors>
Загрузите и проверьте политику.