Бөлісу құралы:


Атрибуты профиля пользователя

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

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

Важно!

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

Также поддерживается и интеграция с внешними системами. Например, вы можете использовать Azure AD B2C для проверки подлинности, а доверенным источником данных о пользователях назначить внешнюю систему CRM или базу данных лояльности клиентов. Дополнительные сведения см. в решении, посвященном удаленному профилю.

Тип ресурса пользователя Microsoft Entra

Профиль пользователя каталога Azure AD B2C поддерживает атрибуты типа ресурса пользователя, перечисленные в таблице ниже. В ней приведены сведения о каждом атрибуте.

  • Имя атрибута, используемое Azure AD B2C (за которым следует имя Microsoft Graph в круглых скобках, если оно отличается)
  • Тип данных атрибута
  • Описание атрибута
  • Доступен ли атрибут в портал Azure
  • Может ли атрибут использоваться в потоке пользователя
  • Можно ли использовать атрибут в техническом профиле microsoft Entra ID пользовательской политики и в каком разделе (<InputClaims, <OutputClaims> или <PersistedClaims>>)
Имя. Тип данных Description Доступно на портале Azure Используется в потоках пользователей Используется в пользовательской политике
AccountEnabled Логический Указывает на то, включена или отключена ли учетная запись пользователя: true, если учетная запись включена, в противном случае — false. Да Нет Persisted, Output
ageGroup Строка Возрастная группа пользователя. Возможные значения: null, Undefined, Minor, Adult, NotAdult. Да Нет Persisted, Output
alternativeSecurityId (удостоверения) Строка Единственное удостоверение пользователя от внешнего поставщика удостоверений. No No Input, Persisted, Output
alternativeSecurityIds (удостоверения) Альтернативная коллекция securityId Коллекция удостоверений пользователя от внешних поставщиков удостоверений. No No Persisted, Output
city Строка Город проживания пользователя.. Максимальная длина — 128 символов. Да Да Persisted, Output
consentProvidedForMinor Строка Предоставлено ли согласие для несовершеннолетнего. Допустимые значения: null, granted, denied или notRequired. Да Нет Persisted, Output
country Строка Страна или регион проживания пользователя. Например: США или Великобритания. Максимальная длина — 128 символов. Да Да Persisted, Output
createdDateTime Дата/время Дата создания объекта "пользователь". Только для чтения. No No Persisted, Output
creationType Строка Если учетная запись пользователя была создана как локальная учетная запись для клиента Azure Active Directory B2C, то используется значение LocalAccount или nameCoexistence. Только для чтения. No No Persisted, Output
dateOfBirth Date Дата рождения. No No Persisted, Output
department Строка Название отдела, в котором работает пользователь. Максимальная длина — 64 символа. Да Нет Persisted, Output
displayName Строка Отображаемое имя пользователя. Максимальная длина — 256 символов. <> Символы не допускаются. Да Да Persisted, Output
facsimileTelephoneNumber1 Строка Номер телефона факсимильного аппарата пользователя. Да Нет Persisted, Output
givenName Строка Имя пользователя. Максимальная длина — 64 символа. Да Да Persisted, Output
jobTitle Строка Название должности пользователя. Максимальная длина — 128 символов. Да Да Persisted, Output
immutableId Строка Идентификатор, который обычно используется для пользователей, перенесенных из локальной службы Active Directory. No No Persisted, Output
legalAgeGroupClassification Строка Юридическая классификация возрастных групп. Только для чтения и вычисляется на основе свойств ageGroup и consentProvidedForMinor. Допустимые значения: NULL, minorWithOutParentalConsent, minorWithParentalConsent, minorNoParentalConsentRequired, notAdult и adult. Да Нет Persisted, Output
legalCountry1 Строка Страна или регион для юридических целей. No No Persisted, Output
mailNickName Строка Псевдоним почты для пользователя. Максимальная длина — 64 символа. No No Persisted, Output
mobile (mobilePhone) Строка Основной номер сотового телефона для пользователя. Максимальная длина — 64 символа. Да Нет Persisted, Output
netId Строка Идентификатор сети. No No Persisted, Output
objectId Строка Глобальный уникальный идентификатор (GUID), который является уникальным идентификатором пользователя. Пример: 12345678-9abc-def0-1234-56789abcde. Только для чтения, неизменяемый. Только чтение Да Input, Persisted, Output
otherMails Коллекция строк Список других адресов электронной почты этого пользователя. Например: ["bob@contoso.com", "Robert@fabrikam.com"]. ПРИМЕЧАНИЕ. Символы акцента не допускаются. Да (дополнительный адрес электронной почты) No Persisted, Output
password Строка Пароль для локальной учетной записи во время создания пользователя. No No Сохранено
passwordPolicies Строка Политика пароля. Это строка, состоящая из имени другой политики через запятую. Например: "DisablePasswordExpiration, DisableStrongPassword". No No Persisted, Output
physicalDeliveryOfficeName (officeLocation) Строка Расположение офиса в компании пользователя. Максимальная длина — 128 символов. Да Нет Persisted, Output
postalCode Строка Почтовый индекс для почтового адреса пользователя. Почтовый индекс зависит от страны или региона пользователя. В США этот атрибут содержит ZIP-код. Максимальная длина — 40 символов. Да Нет Persisted, Output
preferredLanguage Строка Предпочитаемый язык для пользователя. Формат предпочитаемого языка основан на стандарте RFC 4646. Имя языка состоит их двухбуквенного кода культуры ISO 639 в нижнем регистре (определяет язык) и двухбуквенного кода субкультуры ISO 3166 в верхнем регистре (определяет страну или регион). Например, en-US или es-ES. No No Persisted, Output
refreshTokensValidFromDateTime (signInSessionsValidFromDateTime) Дата/время Все маркеры обновления, выданные до этого времени, недопустимы, и приложения получают ошибку при использовании недопустимого маркера обновления для получения нового маркера доступа. В этом случае приложению необходимо получить новый маркер обновления, выполнив запрос к конечной точке авторизации. Только чтение. No No Выходные данные
signInNames (удостоверения) Строка Уникальное имя для входа пользователя локальной учетной записи любого типа в каталоге. Используйте этот атрибут, чтобы получить пользователя со значением входа без указания типа локальной учетной записи. No No Входные данные
signInNames.userName (удостоверения) Строка Уникальное имя пользователя локальной учетной записи в каталоге. Используйте этот атрибут, чтобы создать или получить пользователя с указанным именем пользователя для входа. Указание этого атрибута в файл PersistedClaims только во время операции исправления удаляет другие типы signInNames. Чтобы добавить новый тип signInNames, необходимо также сохранить существующий signInNames. ПРИМЕЧАНИЕ. Символы акцента не допускаются в имени пользователя. No No Input, Persisted, Output
signInNames.phoneNumber (удостоверения) Строка Уникальный номер телефона локальной учетной записи в каталоге. Используйте этот атрибут, чтобы создать или получить пользователя с указанным номером телефона. Указание этого атрибута в файл PersistedClaims только во время операции исправления удаляет другие типы signInNames. Чтобы добавить новый тип signInNames, необходимо также сохранить существующий signInNames. No No Input, Persisted, Output
signInNames.emailAddress (удостоверения) Строка Уникальный адрес электронной почты локальной учетной записи в каталоге. Используйте этот атрибут для создания или получения пользователя с определенным адресом электронной почты для входа. Указание этого атрибута в файл PersistedClaims только во время операции исправления удаляет другие типы signInNames. Чтобы добавить новый тип signInNames, необходимо также сохранить существующий signInNames. No No Input, Persisted, Output
state Строка Область или край в адресе пользователя. Максимальная длина — 128 символов. Да Да Persisted, Output
streetAddress Строка Почтовый адрес организации пользователя. Максимальная длина — 1024 символа. Да Да Persisted, Output
strongAuthentication AlternativePhoneNumber1 Строка Дополнительный номер телефона пользователя, используемый для многофакторной проверки подлинности. Да Нет Persisted, Output
strongAuthenticationEmailAddress1 Строка SMTP-адрес для пользователя. Пример: "bob@contoso.com". Этот атрибут используется для входа с помощью политики имени пользователя для хранения адреса электронной почты пользователя. Адрес электронной почты, который затем используется в потоке сброса пароля. Символы акцента не допускаются в этом атрибуте. Да Нет Persisted, Output
strongAuthenticationPhoneNumber2 Строка Основной номер телефона пользователя, используемый для многофакторной проверки подлинности. Да Нет Persisted, Output
surname; Строка Фамилия пользователя. Максимальная длина — 64 символа. Да Да Persisted, Output
telephoneNumber (первая запись businessPhones) Строка Основной номер телефона организации пользователя. Да Нет Persisted, Output
userPrincipalName Строка Имя участника-пользователя (UPN) этого пользователя. UPN — это атрибут, который является именем пользователя для входа через Интернет на основе интернет-стандарта RFC 822. Домен должен присутствовать в коллекции подтвержденных доменов клиента. Это свойство является обязательным при создании учетной записи. Неизменяемый. No No Input, Persisted, Output
usageLocation Строка Требуется для пользователей, которым назначены лицензии из-за юридических требований, проверка для доступности служб в странах или регионах. Не допускает значения NULL. Двухбуквенный код региона или страны (в соответствии со стандартом ISO 3166). Например, US, JP и ГБ. Да Нет Persisted, Output
userType Строка Значение строки, которое будет использоваться для классификации типов пользователей в вашем каталоге. Значение должно быть "Member". Только чтение. Только чтение No Persisted, Output
userState (externalUserState)3 Строка Только для учетной записи Microsoft Entra B2B и указывает, является ли приглашение ожидающей или принятой. No No Persisted, Output
userStateChangedOn (externalUserStateChangeDateTime)2 Дата/время Показывает метку времени для последних изменений в свойстве UserState. No No Persisted, Output

1 Не поддерживается Microsoft Graph
2 Дополнительные сведения см. в статье об атрибуте номера телефона для MFA
3 Не следует использовать с Azure AD B2C

Требуемые атрибуты

Чтобы создать учетную запись пользователя в каталоге Azure AD B2C, укажите следующие необходимые атрибуты:

Атрибут отображаемого имени

Это displayName имя, отображаемое в портал Azure управлении пользователями, и в маркере доступа, возвращаемом в приложение Azure AD B2C. Это обязательное свойство.

Атрибут identities

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

  • Локальное удостоверение, имя пользователя и пароль для которого хранятся локально в каталоге Azure AD B2C. Часто мы называем такие удостоверения "локальными учетными записями".
  • Федеративное удостоверение — удостоверение социальных сетей или предприятий, управление которым выполняет федеративный поставщик удостоверений, например Facebook, Майкрософт, ADFS или Salesforce.

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

В API Microsoft Graph локальные и федеративные удостоверения хранятся в атрибуте пользователя identities, который имеет тип objectIdentity. Коллекция identities предоставляет набор удостоверений для входа в учетную запись пользователя. Эта коллекция позволяет пользователю входить в учетную запись с любыми связанными удостоверениями. Атрибут удостоверений может содержать до 10 объектов objectIdentity . Каждый объект содержит указанные ниже свойства.

Имя. Тип Описание
signInType строка Указывает типы входа пользователей в каталоге. Для локальной учетной записи это может быть emailAddress, emailAddress1, emailAddress2, emailAddress3, userName или любой другой тип на ваш выбор. Для учетной записи социальной сети необходимо задать значение federated.
Издатель строка Указывает издателя удостоверения. Для локальных учетных записей (где нет signInTypefederated), это свойство является локальным доменным именем клиента B2C по умолчанию, напримерcontoso.onmicrosoft.com. Для удостоверений социальных сетей (у которых signInType имеет значение federated) здесь указывается имя издателя, например facebook.com.
issuerAssignedId строка Определяет уникальный идентификатор, назначенный пользователю издателем. Сочетание значений issuer и issuerAssignedId должно быть уникальным в пределах клиента. Для локальной учетной записи, у которой signInType имеет значение emailAddress или userName, здесь указано имя входа для пользователя.
Если для signInType задано значение:
  • emailAddress (или начинается с emailAddress, напримерemailAddress1), то issuerAssignedId должен содержать допустимый адрес электронной почты;
  • userName (или любое другое значение), то issuerAssignedId должен содержать допустимую локальную часть адреса электронной почты;
  • federated, то issuerAssignedId представляет уникальный идентификатор федеративной учетной записи.

В следующем фрагменте JSON показан атрибут Identityes , идентификатор локальной учетной записи с именем входа, адресом электронной почты в качестве входа и с удостоверением социальных удостоверений.

"identities": [
  {
    "signInType": "userName",
    "issuer": "contoso.onmicrosoft.com",
    "issuerAssignedId": "johnsmith"
  },
  {
    "signInType": "emailAddress",
    "issuer": "contoso.onmicrosoft.com",
    "issuerAssignedId": "jsmith@yahoo.com"
  },
  {
    "signInType": "federated",
    "issuer": "facebook.com",
    "issuerAssignedId": "5eecb0cd"
  }
]

Для федеративных удостоверений значение issuerAssignedId является уникальным идентификатором пользователя для приложения или учетной записи разработки, как определено поставщиком удостоверений. Настройте политику Azure AD B2C с тем же идентификатором приложения, что и поставщик социальных сетей или другое приложение в той же учетной записи разработки.

Свойство профиля пароля

Для локального удостоверения обязательным является атрибут passwordProfile, который содержит пароль пользователя. Атрибут forceChangePasswordNextSignIn указывает, должен ли пользователь сбрасывать пароль при следующем входе в систему. Для обработки принудительного сброса пароля используйте инструкции, описанные в настройке потока принудительного сброса пароля.

Для федеративного (социального) удостоверения атрибут passwordProfile не требуется.

"passwordProfile" : {
    "password": "password-value",
    "forceChangePasswordNextSignIn": false
  }

Атрибут политики паролей

Политика паролей Azure AD B2C (для локальных учетных записей) основана на политике строгой надежности паролей Microsoft Entra ID. В политиках регистрации, входа и сброса пароля Azure AD B2C предусмотрено использование надежного пароля, а срок действия паролей не истекает.

Если при миграции пользователей у переносимых учетных записей надежность пароля слабее, чем высокая в соответствии с требованиями Azure AD B2C, вы можете отключить требование надежного пароля. Чтобы изменить политику паролей по умолчанию, задайте для атрибута passwordPolicies значение DisableStrongPassword. Например, можно изменить запрос создания пользователя следующим образом:

"passwordPolicies": "DisablePasswordExpiration, DisableStrongPassword"

Атрибут номера телефона для многофакторной проверки подлинности

При использовании телефона для многофакторной проверки подлинности (MFA) мобильный телефон используется для проверки удостоверения пользователя. Чтобы добавить, обновить, получить или удалить номер телефона программным способом, используйте метод проверки подлинности с помощью телефона в API MS Graph.

В пользовательских политиках Azure AD B2C номер телефона доступен через тип утверждения strongAuthenticationPhoneNumber.

Атрибуты расширения

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

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

Примечание.

  • Атрибуты расширения можно записывать до 100 в любую учетную запись пользователя.
  • При удалении приложения b2c-extensions-app эти атрибуты расширения удаляются для всех пользователей вместе с любыми данными, которые они содержат.
  • Если атрибут расширения удаляется приложением, оно удаляется из всех учетных записей пользователей вместе со значениями.

Атрибуты расширения в API Graph именуются с помощью соглашения extension_ApplicationClientID_AttributeName, где:

Идентификатор приложения (клиента) при создании имени атрибута расширения не включает дефисы. Например:

"extension_831374b3bd5041bfaa54263ec9e050fc_loyaltyNumber": "212342"

При определении атрибута в расширении схемы поддерживаются следующие типы данных:

Тип Замечания
Логический Возможные значения: true или false.
Дата/время Необходимо указать в формате ISO 8601. Значение хранится в формате UTC.
Целое 32-разрядное значение.
Строка Не более 256 знаков.

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

Узнайте подробнее об атрибутах расширения: