Определение настраиваемых атрибутов в Azure Active Directory B2C
Для начала с помощью селектора Choose a policy type (Выбрать тип политики) выберите тип пользовательской политики. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.
В статье "Добавление утверждений" и настройка входных данных пользователей с помощью настраиваемых политик вы узнаете, как использовать встроенные атрибуты профиля пользователя. В этой статье описана активация настраиваемого атрибута в каталоге Azure Active Directory B2C (Azure AD B2C). Позже вы сможете использовать новый атрибут в качестве настраиваемого утверждения в пользовательских потоках или пользовательских политиках одновременно.
Каталог Azure AD B2C прилагается ко встроенному набору атрибутов. Однако часто приходится создавать собственные атрибуты для управления конкретной ситуацией, например:
- Приложению, ориентированному на клиента, необходимо сохранить атрибут LoyaltyId.
- Поставщик удостоверений имеет уникальный идентификатор пользователя, uniqueUserGUID, который необходимо сохранить.
- Настраиваемый путь взаимодействия пользователя должен сохранить состояние пользователя migrationStatus для выполнения другой логики.
В контексте этой статьи свойство расширения, настраиваемый атрибут и пользовательское утверждение подразумевают одно и то же. Имя изменяется в зависимости от контекста, например приложения, объекта, политики.
Azure AD B2C позволяет расширить набор атрибутов, хранящихся в каждой учетной записи пользователя. Эти атрибуты можно также считывать и записывать с помощью Microsoft API Graph.
Необходимые компоненты
- Создайте поток пользователя, чтобы пользователи могли зарегистрироваться и входить в ваше приложение.
- Зарегистрируйте веб-приложение.
- Выполните шаги, описанные в статье Начало работы с настраиваемыми политиками в Azure Active Directory B2C.
- Зарегистрируйте веб-приложение.
Создание настраиваемого атрибута
- Войдите на портал Azure с правами глобального администратора клиента Azure AD B2C.
- Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
- Выберите Все службы в левом верхнем углу окна портала Azure, найдите службу Azure AD B2C и выберите ее.
- Выберите Атрибуты пользователя, а затем щелкните Добавить.
- Введите Имя настраиваемого атрибута (например, ShoeSize).
- Выберите Тип данных. Здесь доступны только варианты String, Boolean и Int.
- При желании введите Описание, которое используется только в информационных целях.
- Выберите Создать.
Теперь настраиваемый атрибут доступен в списке Атрибуты пользователя и может использоваться в ваших потоках пользователей. Настраиваемый атрибут создается только при первом использовании в любом потоке пользователя, а не при добавлении его в список атрибутов пользователя.
Использование настраиваемого атрибута в потоке пользователя
- В клиенте Azure AD B2C выберите Потоки пользователей.
- Откройте политику (например B2C_1_SignupSignin), щелкнув ее.
- Выберите Атрибуты пользователя, а затем — настраиваемый атрибут (например, ShoeSize). Выберите Сохранить.
- Щелкните Утверждения приложения и выберите настраиваемый атрибут.
- Выберите Сохранить.
После создания нового пользователя с помощью потока пользователя можно применить функцию запуска потока пользователя, чтобы проверить взаимодействие потока пользователя с клиентом. Теперь вы увидите ShoeSize в списке атрибутов, собираемых в процессе регистрации, а также в токене, возвращаемом в приложение.
Azure AD B2C: приложение расширений
Атрибуты расширения можно зарегистрировать только в объекте приложения, даже если они могут содержать данные для пользователя. Атрибут расширения прикрепляется к приложению b2c-extensions-app
. Не изменяйте это приложение, так как оно используется Azure AD B2C для хранения пользовательских данных. Это приложение находится в разделе регистрации приложений Azure AD B2C.
Получение идентификатора приложения расширений
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
- В меню слева выберите Azure AD B2C. Либо щелкните Все службы, а затем найдите и выберите Azure AD B2C
- Нажмите App registrations (Регистрации приложения) и выберите All applications (Все приложения).
- Выберите приложение
b2c-extensions-app. Do not modify. Used by AADB2C for storing user data.
. - Скопируйте идентификатор приложения. Пример:
11111111-1111-1111-1111-111111111111
.
Получение свойств приложения расширений
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
- В меню слева выберите Azure AD B2C. Либо щелкните Все службы, а затем найдите и выберите Azure AD B2C
- Нажмите App registrations (Регистрации приложения) и выберите All applications (Все приложения).
- Выберите b2c-extensions-app. Не изменяйте его. Используется AADB2C для хранения пользовательских данных. приложение.
- Скопируйте следующие идентификаторы в буфер обмена и сохраните их:
- Идентификатор приложения. Пример:
11111111-1111-1111-1111-111111111111
. - Идентификатор объекта. Пример:
22222222-2222-2222-2222-222222222222
.
- Идентификатор приложения. Пример:
Изменение настраиваемой политики
Чтобы включить пользовательские атрибуты в политике, укажите идентификатор приложения и идентификатор объекта приложения в метаданных технического профиля AAD-Common. Технический профиль AAD-Common* находится в базовом техническом профиле идентификатора Microsoft Entra ID и обеспечивает поддержку управления пользователями Microsoft Entra. Другие технические профили Идентификатора Записи Майкрософт включают AAD-Common для использования его конфигурации. Переопределите технический профиль AAD-Common в файле расширения.
Откройте файл расширения политики. Например,
SocialAndLocalAccounts/
TrustFrameworkExtensions.xml
.Найдите элемент ClaimsProviders. Добавьте нового поставщика утверждений в элемент ClaimsProviders.
Вставьте ранее записанный идентификатор приложения между открывающим
<Item Key="ClientId">
и закрывающим</Item>
элементами.Вставьте ранее записанный идентификатор объекта приложения между открывающим
<Item Key="ApplicationObjectId">
и закрывающим</Item>
элементами.<!-- <ClaimsProviders> --> <ClaimsProvider> <DisplayName>Azure Active Directory</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="AAD-Common"> <Metadata> <!--Insert b2c-extensions-app application ID here, for example: 11111111-1111-1111-1111-111111111111--> <Item Key="ClientId"></Item> <!--Insert b2c-extensions-app application ObjectId here, for example: 22222222-2222-2222-2222-222222222222--> <Item Key="ApplicationObjectId"></Item> </Metadata> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider> <!-- </ClaimsProviders> -->
Отправка настраиваемой политики
- Войдите на портал Azure.
- Если у вас есть доступ к нескольким клиентам, выберите значок Параметры в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню каталогов и подписок.
- Выберите Все службы в левом верхнем углу окна портала Azure, а затем найдите и выберите Регистрация приложений.
- Выберите Инфраструктура процедур идентификации.
- Выберите Upload Custom Policy (Отправить пользовательскую политику) и отправьте файл политики TrustFrameworkExtensions.xml, который вы изменили.
Примечание.
При первом техническом профиле идентификатора Microsoft Entra id сохраняется утверждение в каталоге, оно проверка, существует ли пользовательский атрибут. Если это не так, он создает пользовательский атрибут.
Создание настраиваемого атрибута с помощью портала Azure
Одинаковые атрибуты расширения общие для встроенных и пользовательских политик. При добавлении атрибутов пользовательских атрибутов на портал они регистрируются с помощью приложения b2c-extensions-app, содержащегося в каждом клиенте B2C.
Вы можете создать эти атрибуты с помощью пользовательского интерфейса портала, до или после их использования в пользовательских политиках. При создании атрибута loyaltyId на портале необходимо обратиться к нему следующим образом.
Имя. | Используется в |
---|---|
extension_loyaltyId |
Настраиваемая политика |
extension_<b2c-extensions-app-guid>_loyaltyId |
API Microsoft Graph |
Примечание.
При использовании настраиваемого атрибута в настраиваемых политиках, необходимо добавить extension_
в качестве префикса к идентификатору типа утверждения, чтобы обеспечить правильное сопоставление данных в каталоге Azure AD B2C.
В следующем примере показано использование настраиваемых атрибутов в определении утверждения настраиваемой политики Azure AD B2C.
<BuildingBlocks>
<ClaimsSchema>
<ClaimType Id="extension_loyaltyId">
<DisplayName>Loyalty Identification</DisplayName>
<DataType>string</DataType>
<UserHelpText>Your loyalty number from your membership card</UserHelpText>
<UserInputType>TextBox</UserInputType>
</ClaimType>
</ClaimsSchema>
</BuildingBlocks>
В следующем примере демонстрируется использование настраиваемого атрибута в Azure AD B2C настраиваемой политики в техническом профиле, вводе, выходе и сохраненных утверждениях.
<InputClaims>
<InputClaim ClaimTypeReferenceId="extension_loyaltyId" />
</InputClaims>
<PersistedClaims>
<PersistedClaim ClaimTypeReferenceId="extension_loyaltyId" />
</PersistedClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="extension_loyaltyId" />
</OutputClaims>
Управление атрибутами расширения с помощью Microsoft Graph
Вы можете использовать Microsoft Graph для создания пользовательских атрибутов и управления ими, а затем задать их значения для пользователя. Атрибуты расширения также называются расширениями каталога или Microsoft Entra.
Для именования пользовательских атрибутов (расширений каталога) в Microsoft API Graph используется соглашение extension_{appId-without-hyphens}_{extensionProperty-name}
,где {appId-without-hyphens}
обозначает чередуемую версию appId (идентификатора клиента на портале Azure AD B2C) для b2c-extensions-app
, в котором допускаются только символы 0-9 и A-Z. Например, если идентификатор appId b2c-extensions-app
приложения и 25883231-668a-43a7-80b2-5685c3f874bc
имя атрибута имеет значение loyaltyId
, то пользовательский атрибут называется extension_25883231668a43a780b25685c3f874bc_loyaltyId
.
Узнайте, как управлять атрибутами расширения в клиенте Azure AD B2C с помощью API Microsoft Graph.
Удаление атрибута расширения
В отличие от встроенных атрибутов, настраиваемые атрибуты можно удалить. Значения атрибутов расширения также можно удалить.
Важно!
Прежде чем удалить настраиваемый атрибут, для каждой учетной записи в каталоге задайте значение null
для атрибута расширения. Таким образом, вы явно удалите значения атрибута расширения. Затем перейдите к удалению самого атрибута расширения. Пользовательские атрибуты можно запрашивать с помощью API Microsoft Graph.
Чтобы удалить настраиваемый атрибут из потока пользователя в клиенте, выполните следующие действия.
- Войдите на портал Azure с правами глобального администратора клиента Azure AD B2C.
- Убедитесь, что вы используете каталог, содержащий клиент Azure AD B2C:
- На панели инструментов портала выберите значок Каталоги и подписки.
- На странице Настройки портала | Каталоги и подписки в списке "Имя каталога" найдите свой каталог Azure AD B2C и выберите Переключить
- Выберите Все службы в левом верхнем углу окна портала Azure, найдите службу Azure AD B2C и выберите ее.
- Выберите Атрибуты пользователя, а затем — атрибут, который хотите удалить.
- Выберите Удалить, а затем — Да для подтверждения вашего выбора.
Используйте API Microsoft Graph для управления настраиваемыми атрибутами.
Следующие шаги
Узнайте, как добавлять утверждения и настраивать входные данные пользователей с помощью пользовательских политик. В этом образце используется встроенное утверждение "city". Чтобы использовать настраиваемый атрибут, замените "city" на собственные настраиваемые атрибуты.