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


Определение настраиваемых атрибутов в Azure Active Directory B2C

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

Прежде чем начать, используйте селектор типа политики в верхней части этой страницы, чтобы выбрать тип политики, которую вы настроите. Azure Active Directory B2C предлагает два метода определения способа взаимодействия пользователей с вашими приложениями: с помощью предопределенных потоков пользователей или полностью настраиваемых пользовательских политик. Действия, которые необходимо выполнить, отличаются для каждого метода.

В статье "Добавление утверждений" и настройка входных данных пользователей с помощью настраиваемых политик вы узнаете, как использовать встроенные атрибуты профиля пользователя. В этой статье описано, как включить настраиваемый атрибут в каталоге Azure Active Directory B2C (Azure AD B2C). Позже можно использовать новый атрибут в качестве настраиваемого утверждения в потоках пользователей или пользовательских политиках одновременно.

Каталог Azure AD B2C поставляется со встроенным набором атрибутов. Однако часто необходимо создать собственные атрибуты для управления конкретным сценарием, например, когда:

  • Приложение, на которое сталкивается клиент, должно сохранить атрибут loyaltyId .
  • Поставщик удостоверений имеет уникальный идентификатор пользователя, уникальный ИдентификаторUserGUID, который должен быть сохранен.
  • Пользовательское путешествие пользователя должно сохранять состояние пользователя, migrationStatus, чтобы другая логика работала.

Свойство расширения терминов, настраиваемый атрибут и пользовательское утверждение ссылаются на то же самое в контексте этой статьи. Имя зависит от контекста, например приложения, объекта или политики.

Azure AD B2C позволяет расширить набор атрибутов, хранящихся в каждой учетной записи пользователя. Вы также можете читать и записывать эти атрибуты с помощью API Microsoft Graph.

Предпосылки

Создание настраиваемого атрибута

  1. Войдите на портал Azure как минимум внешний администратор атрибута пользовательского потока идентификатора azure AD B2C.
  2. Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
  3. Выберите все службы в левом верхнем углу портала Azure, найдите и выберите Azure AD B2C.
  4. Выберите атрибуты пользователя и нажмите кнопку "Добавить".
  5. Укажите имя настраиваемого атрибута (например, "ShoeSize")
  6. Выберите тип данных. Доступны только String, Boolean и Int .
  7. При необходимости введите описание для информационных целей.
  8. Нажмите кнопку "Создать".

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

Использование пользовательского атрибута в потоке пользователя

  1. В клиенте Azure AD B2C выберите потоки пользователей.
  2. Выберите политику (например, B2C_1_SignupSignin), чтобы открыть ее.
  3. Выберите атрибуты пользователя и выберите пользовательский атрибут (например, "ShoeSize"). Нажмите кнопку "Сохранить".
  4. Выберите утверждения приложения и выберите пользовательский атрибут.
  5. Нажмите кнопку "Сохранить".

После создания нового пользователя с помощью потока пользователя можно использовать функцию запуска потока пользователя в потоке пользователя для проверки взаимодействия с клиентом. Теперь вы увидите ShoeSize в списке атрибутов, собранных во время регистрации, и увидите его в маркере, отправленном в приложение.

Приложение расширений Azure AD B2C

Атрибуты расширения могут быть зарегистрированы только в объекте приложения, даже если они могут содержать данные для пользователя. Атрибут расширения присоединен к приложению под названием b2c-extensions-app. Не изменяйте это приложение, так как оно используется Azure AD B2C для хранения пользовательских данных. Приложение можно найти в разделе Azure AD B2C, регистрации приложений.

Получение идентификатора приложения расширений

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
  3. В меню слева выберите Azure AD B2C. Или выберите все службы и найдите и выберите Azure AD B2C.
  4. Выберите регистрации приложений и выберите "Все приложения".
  5. b2c-extensions-app. Do not modify. Used by AADB2C for storing user data. Выберите приложение.
  6. Скопируйте идентификатор приложения. Пример: 00001111-aaaa-2222-bbbb-3333cccc4444.

Получите свойства приложения для расширений

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
  3. В меню слева выберите Azure AD B2C. Или выберите все службы и найдите и выберите Azure AD B2C.
  4. Выберите регистрации приложений и выберите "Все приложения".
  5. Выберите приложение b2c-extensions-app. Не изменяйте его. Приложение используется AADB2C для хранения пользовательских данных.
  6. Скопируйте следующие идентификаторы в буфер обмена и сохраните их:
    • Идентификатор приложения. Пример: 00001111-aaaa-2222-bbbb-3333cccc4444.
    • Идентификатор объекта. Пример: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb.

Изменение настраиваемой политики

Чтобы включить пользовательские атрибуты в политике, укажите идентификатор приложения и идентификатор объекта приложения в метаданных технического профиля AAD-Common . Технический профиль AAD-Common* находится в базовом техническом профиле идентификатора Microsoft Entra ID и обеспечивает поддержку управления пользователями Microsoft Entra. Другие технические профили Microsoft Entra ID включают AAD-Common для использования его конфигурации. Переопределите технический профиль AAD-Common в файле расширения.

  1. Откройте файл расширений вашей политики. Например: SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  2. Найдите элемент ClaimsProviders. Добавьте новый ClaimsProvider в элемент ClaimsProviders.

  3. Вставьте идентификатор приложения , записанный ранее, между открывающим <Item Key="ClientId"> и закрывающим </Item> элементами.

  4. Вставьте идентификатор объекта application, записанный ранее, между открывающими <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: 00001111-aaaa-2222-bbbb-3333cccc4444-->  
              <Item Key="ClientId"></Item>
              <!--Insert b2c-extensions-app application ObjectId here, for example: aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb-->
              <Item Key="ApplicationObjectId"></Item>
            </Metadata>
          </TechnicalProfile>
        </TechnicalProfiles> 
      </ClaimsProvider>
    <!-- 
    </ClaimsProviders> -->
    

Отправка настраиваемой политики

  1. Войдите на портал Azure.
  2. Если у вас есть доступ к нескольким клиентам, щелкните значок Настройки в верхнем меню, чтобы переключиться на клиент Azure AD B2C из меню Каталоги и подписки.
  3. Выберите все службы в левом верхнем углу портала Azure, а затем найдите и выберите регистрацию приложений.
  4. Выберите Identity Experience Framework.
  5. Выберите "Отправить настраиваемую политику", а затем отправьте измененные файлы политики TrustFrameworkExtensions.xml.

Замечание

Впервые технический профиль Microsoft Entra ID сохраняет утверждение в директории, проверяя, существует ли настраиваемый атрибут. Если этого не происходит, создается пользовательский атрибут.

Создание пользовательского атрибута с помощью портала Azure

Одни и те же атрибуты расширения используются между встроенными и пользовательскими политиками. При добавлении пользовательских атрибутов через интерфейс портала эти атрибуты регистрируются с помощью приложения b2c-extensions-app , которое существует в каждом клиенте B2C.

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

Имя Используется в
extension_loyaltyId Настраиваемая политика
extension_<b2c-extensions-app-guid>_loyaltyId Microsoft Graph API

Замечание

При использовании пользовательского атрибута в настраиваемых политиках необходимо добавить префикс 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.

Пользовательские атрибуты (расширения каталогов) в API Microsoft 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, а имя атрибута — 11112222-bbbb-3333-cccc-4444dddd5555, то пользовательский атрибут называется loyaltyId.

Узнайте, как управлять атрибутами расширения в клиенте Azure AD B2C с помощью API Microsoft Graph.

Удаление атрибута расширения

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

Это важно

Перед тем как удалить пользовательский атрибут, для каждой учетной записи в каталоге, установите значение атрибута расширения на null. Таким образом, вы явно удалите значения атрибута расширения. Затем перейдите к удалению самого атрибута расширения. Пользовательские атрибуты можно запрашивать с помощью API Microsoft Graph.

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

  1. Войдите на портал Azure как минимум внешний администратор атрибута пользовательского потока идентификатора azure AD B2C.
  2. Убедитесь, что вы используете каталог, который содержит подписчика Azure AD B2C.
    1. На панели инструментов портала выберите значок Каталоги и подписки.
    2. На странице Параметры портала | Каталоги и подписки найдите каталог Azure AD B2C в списке имен каталогов, а затем выберите Переключить
  3. Выберите все службы в левом верхнем углу портала Azure, найдите и выберите Azure AD B2C.
  4. Выберите атрибуты пользователя и выберите атрибут, который требуется удалить.
  5. Выберите Удалить, а затем выберите Да для подтверждения.

Используйте API Microsoft Graph для управления пользовательскими атрибутами.

Дальнейшие шаги

Узнайте, как добавлять утверждения и настраивать входные данные пользователей с помощью пользовательских политик. В этом примере используется встроенный атрибут «city». Чтобы использовать настраиваемый атрибут, замените "city" собственными настраиваемыми атрибутами.