Атрибуты профиля пользователя
Профиль пользователя каталога 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 задано значение:
|
В следующем фрагменте 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
, где:
- Идентификатор
ApplicationClientID
приложения (клиента).b2c-extensions-app
Узнайте, как найти приложение расширений. - Имя
AttributeName
атрибута расширения.
Идентификатор приложения (клиента) при создании имени атрибута расширения не включает дефисы. Например:
"extension_831374b3bd5041bfaa54263ec9e050fc_loyaltyNumber": "212342"
При определении атрибута в расширении схемы поддерживаются следующие типы данных:
Тип | Замечания |
---|---|
Логический | Возможные значения: true или false. |
Дата/время | Необходимо указать в формате ISO 8601. Значение хранится в формате UTC. |
Целое | 32-разрядное значение. |
Строка | Не более 256 знаков. |
Следующие шаги
Узнайте подробнее об атрибутах расширения: