Atributos de perfil de usuario

El perfil de usuario del directorio de Azure Active Directory B2C (Azure AD B2C) incluye un conjunto integrado de atributos, por ejemplo, givenName, surname, city, postalCode y telephoneNumber. Puede extender el perfil de usuario con sus propios datos de aplicación sin necesitar un almacén de datos externo.

Microsoft Graph API admite la mayoría de los atributos que puede usar con Azure. En este artículo se describen los atributos de perfil de usuario que admite Azure AD B2C. También indica los atributos que Microsoft Graph no admite y los atributos de Microsoft Graph API que Azure AD B2C no debe usar.

Importante

No debe utilizar atributos de extensión o integrados para almacenar datos personales confidenciales, como credenciales de cuenta, números de identificación gubernamental, datos de titulares de tarjetas, datos de cuentas financieras, información sanitaria o la información básica confidencial.

También pueden integrarse con sistemas externos. Por ejemplo, puede usar Azure AD B2C para la autenticación, pero delegar en una base de datos externa de administración de las relaciones con el cliente (CRM) o de fidelización de clientes como el origen de autoridad de los datos de los clientes. Para obtener más información, consulte la solución de perfil remoto.

Tipo de recurso de usuario de Microsoft Entra

El perfil de usuario de directorio de Azure AD B2C admite los atributos de tipo de recurso de usuario enumerados en la tabla siguiente. En la tabla siguiente se proporciona información sobre cada atributo:

  • El nombre de atributo que usa Azure AD B2C (seguido del nombre de Microsoft Graph entre paréntesis, si es diferente).
  • El tipo de datos del atributo.
  • La descripción del atributo.
  • Si el atributo está disponible en Azure Portal
  • Si el atributo se puede usar en un flujo de usuario
  • Si el atributo se puede usar en un perfil técnico de Microsoft Entra ID de una directiva personalizada, y en qué sección (<InputClaims>, <OutputClaims>o <PersistedClaims>)
Nombre Tipo de fecha Descripción Disponible en Azure Portal Se usa en flujos de usuario Se usa en la directiva personalizada
accountEnabled Boolean Si la cuenta de usuario está habilitada o deshabilitada: true si la cuenta está habilitada; en caso contrario, false. No Persistente, salida
ageGroup String Grupo de edad del usuario. Valores posibles: null, Undefined, Minor, Adult y NotAdult. No Persistente, salida
alternativeSecurityId (Identidades) String Una única identidad de usuario del proveedor de identidades externo. No No Entrada, persistente, salida
alternativeSecurityIds (Identidades) Colección de identidades de seguridad alternativa Una colección de identidades de usuario de proveedores de identidades externos. No No Persistente, salida
city String Ciudad de residencia del usuario. La longitud máxima es 128. Persistente, salida
consentProvidedForMinor String Indica si se ha proporcionado el consentimiento para un menor. Valores permitidos: null, granted, denied o notRequired. No Persistente, salida
country String País o región de residencia del usuario. Por ejemplo: Estados Unidos o Reino Unido. La longitud máxima es 128. Persistente, salida
createdDateTime DateTime La fecha de creación del objeto de usuario. Solo lectura. No No Persistente, salida
creationType String Si la cuenta de usuario se creó como una cuenta local para un inquilino de Azure Active Directory B2C, el valor es LocalAccount o nameCoexistence. Solo lectura. No No Persistente, salida
dateOfBirth Date La fecha de nacimiento. No No Persistente, salida
department String El nombre del departamento en el que trabaja el usuario. La longitud máxima es 64. No Persistente, salida
DisplayName String El nombre para mostrar del usuario. La longitud máxima es 256. No se admiten los caracteres <>. Persistente, salida
facsimileTelephoneNumber1 String El número de teléfono del equipo de fax del trabajo del usuario. No Persistente, salida
givenName String EL nombre del usuario. La longitud máxima es 64. Persistente, salida
jobTitle String El puesto del usuario. La longitud máxima es 128. Persistente, salida
immutableId String Un identificador que se usa normalmente para los usuarios migrados desde Active Directory local. No No Persistente, salida
legalAgeGroupClassification String La clasificación de grupo de edad legal. Valor de solo lectura que se calcula en función de las propiedades ageGroup y consentProvidedForMinor. Valores permitidos: null, minorWithOutParentalConsent, minorWithParentalConsent, minorNoParentalConsentRequired, notAdult y adult. No Persistente, salida
legalCountry1 String País o región para fines legales. No No Persistente, salida
mailNickName String El alias de correo electrónico del usuario. La longitud máxima es 64. No No Persistente, salida
mobile (mobilePhone) String EL número de teléfono móvil principal del usuario. La longitud máxima es 64. No Persistente, salida
netId String El identificador de red. No No Persistente, salida
objectId String El identificador único global (GUID) que es el identificador único del usuario. Ejemplo: 12345678-9abc-def0-1234-56789abcde. Valor de solo lectura e inmutable. Solo lectura Entrada, persistente, salida
otherMails Colección de cadenas Una lista de otras direcciones de correo electrónico del usuario. Ejemplo: ["bob@contoso.com", "Robert@fabrikam.com"]. NOTA: no se permiten caracteres con acento. Sí (correo electrónico alternativo) No Persistente, salida
password String La contraseña de la cuenta local durante la creación del usuario. No No Guardado
passwordPolicies String La directiva de la contraseña. Es una cadena que consta de un nombre de directiva diferente separado por una coma. Por ejemplo, "DisablePasswordExpiration, DisableStrongPassword". No No Persistente, salida
physicalDeliveryOfficeName (officeLocation) String La ubicación del lugar de trabajo del usuario. La longitud máxima es 128. No Persistente, salida
postalCode String El código postal de la dirección del usuario. El código postal es específico del país o la región del usuario. En Estados Unidos de América, este atributo contiene el código ZIP. La longitud máxima es 40. No Persistente, salida
preferredLanguage String El idioma preferido del usuario. El formato de idioma preferido se basa en RFC 4646. El nombre es una combinación de un código de referencia cultural ISO 639 de dos letras en minúsculas asociado con un idioma y un código de referencia cultural secundaria ISO 3166 de dos letras en mayúsculas asociado con un país o región. Por ejemplo: en-US o es-ES. No No Persistente, salida
refreshTokensValidFromDateTime (signInSessionsValidFromDateTime) DateTime Los tokens de actualización emitidos antes de esta hora no son válidos. Las aplicaciones obtienen un error al usar un token de actualización no válido para adquirir un nuevo token de acceso. En este caso, la aplicación debe adquirir un nuevo token de actualización realizando una solicitud al punto de conexión de autorización. Sólo lectura. No No Output
signInNames (Identidades) String El nombre de inicio de sesión único del usuario de cuenta local de cualquier tipo en el directorio. Use este atributo para obtener un usuario con el valor de inicio de sesión sin especificar el tipo de cuenta local. No No Entrada
signInNames.userName (Identidades) String El nombre de inicio de sesión único del usuario de cuenta local en el directorio. Use este atributo para crear u obtener un usuario con un nombre de usuario de inicio de sesión específico. Si se especifica este atributo en PersistedClaims solo durante la operación de revisión, se quitan otros tipos de signInNames. Si desea agregar un nuevo tipo de signInNames, también debe conservar los atributos signInNames que ya existan. NOTA: No se permiten caracteres con acento en el nombre de usuario. No No Entrada, persistente, salida
signInNames.phoneNumber (Identidades) String El número de teléfono único del usuario de cuenta local en el directorio. Use este atributo para crear u obtener un usuario con un número de teléfono de inicio de sesión específico. Si se especifica este atributo en PersistedClaims solo durante la operación de revisión, se quitan otros tipos de signInNames. Si desea agregar un nuevo tipo de signInNames, también debe conservar los atributos signInNames que ya existan. No No Entrada, persistente, salida
signInNames.emailAddress (Identidades) String La dirección de correo electrónico única del usuario de cuenta local en el directorio. Use este atributo para crear u obtener un usuario con una dirección de correo electrónico de inicio de sesión específica. Si se especifica este atributo en PersistedClaims solo durante la operación de revisión, se quitan otros tipos de signInNames. Si desea agregar un nuevo tipo de signInNames, también debe conservar los atributos signInNames que ya existan. No No Entrada, persistente, salida
state String El estado o provincia de la dirección del usuario. La longitud máxima es 128. Persistente, salida
streetAddress String La dirección postal del lugar de trabajo del usuario. La longitud máxima es 1024. Persistente, salida
strongAuthentication AlternativePhoneNumber1 String El número de teléfono secundario del usuario que se usa para la autenticación multifactor. No Persistente, salida
strongAuthenticationEmailAddress1 String La dirección SMTP del usuario. Ejemplo: "bob@contoso.com". Este atributo se usa para el inicio de sesión con la directiva de nombre de usuario, para almacenar la dirección de correo electrónico del usuario. La dirección de correo electrónico que se usa en un flujo de restablecimiento de contraseña. No se permiten caracteres con acento en este atributo. No Persistente, salida
strongAuthenticationPhoneNumber2 String El número de teléfono principal del usuario que se usa para la autenticación multifactor. No Persistente, salida
surname String Los apellidos del usuario. La longitud máxima es 64. Persistente, salida
telephoneNumber (primera entrada de businessPhones) String El número de teléfono principal del lugar de trabajo del usuario. No Persistente, salida
userPrincipalName String El nombre principal de usuario (UPN) del usuario. El UPN es un nombre de inicio de sesión del estilo de Internet del usuario basado en el estándar de Internet RFC 822. El dominio debe encontrarse en la colección de dominios comprobados del inquilino. Esta propiedad es necesaria cuando se crea una cuenta. El valor es inmutable. No No Entrada, persistente, salida
usageLocation String Es necesario para los usuarios a los que se asignan licencias debido al requisito legal de comprobar la disponibilidad de los servicios en los países o regiones. No acepta valores NULL. Código de país o región de dos letras (norma ISO 3166). Para obtener ejemplos, US, JP y GB. No Persistente, salida
userType String Un valor de cadena que se puede usar para clasificar tipos de usuario en el directorio. El valor debe ser Miembro. Solo lectura. Solo lectura No Persistente, salida
userState (externalUserState)3 String Solo para la cuenta de Microsoft Entra B2B e indica si la invitación está en el estado PendingAcceptance o Accepted. No No Persistente, salida
userStateChangedOn (externalUserStateChangeDateTime)2 DateTime Muestra la marca de tiempo del cambio más reciente de la propiedad UserState. No No Persistente, salida

No es compatible con Microsoft Graph.
2 Para más información, consulte Atributo de número de teléfono para MFA
No debe utilizarse con Azure AD B2C

Atributos necesarios

Para crear una cuenta de usuario en el directorio de Azure AD B2C, proporcione los siguientes atributos obligatorios:

Atributo de nombre para mostrar

displayName es el nombre que se va a mostrar en la administración de usuarios de Azure Portal para el usuario y, en el token de acceso que Azure AD B2C devuelve a la aplicación. Esta propiedad es obligatoria.

Atributo de identidades

Una cuenta de cliente, que podría ser un consumidor, un asociado o un ciudadano, puede asociarse con estos tipos de identidad:

  • Identidad Local: el nombre de usuario y la contraseña almacenados localmente en el directorio de Azure AD B2C. A menudo se hace referencia a estas identidades como "cuentas locales".
  • Identidad Federado: también denominada cuenta social o de empresa, la identidad del usuario se administra mediante un proveedor de identidades federado, como Facebook, Microsoft, ADFS o Salesforce.

Un usuario con una cuenta de cliente puede iniciar sesión con varias identidades. Por ejemplo, el nombre de usuario, el correo electrónico, el Id. de empleado, el Id. oficial y otros. Una sola cuenta puede tener varias identidades, tanto locales como sociales, con la misma contraseña.

En Microsoft Graph API, las identidades locales y federadas se almacenan en el atributo identities de usuario, que es de tipo objectIdentity. La colección identities representa un conjunto de identidades que se usan para iniciar sesión en una cuenta de usuario. Esta colección permite al usuario iniciar sesión en la cuenta de usuario con cualquiera de sus identidades asociadas. El atributo Identities puede contener hasta 10 objetos objectIdentity. Cada objeto contiene las siguientes propiedades:

Nombre Escriba Descripción
signInType string Especifica los tipos de inicio de sesión de usuario del directorio. Para la cuenta local: emailAddress, emailAddress1, emailAddress2, emailAddress3, userName o cualquier otro tipo que desee. La cuenta social debe estar establecida en federated.
issuer string Especifica el emisor de la identidad. En el caso de las cuentas locales (donde signInType no es federated), esta propiedad es el nombre de dominio predeterminado del inquilino de B2C local, por ejemplo contoso.onmicrosoft.com. En el caso de la identidad social (donde signInType es federated), el valor es el nombre del emisor; por ejemplo, facebook.com
issuerAssignedId string Especifica el identificador único asignado al usuario por el emisor. La combinación de issuer e issuerAssignedId debe ser única dentro del inquilino. En el caso de la cuenta local, cuando signInType se establece en emailAddress o userName, representa el nombre de inicio de sesión del usuario.
Cuando signInType se establece en:
  • emailAddress (o empieza por emailAddress como emailAddress1) issuerAssignedId debe ser una dirección de correo electrónico válida.
  • userName (o cualquier otro valor), issuerAssignedId debe ser una parte local válida de una dirección de correo electrónico.
  • federated, issuerAssignedId representa el identificador único de la cuenta federada.

El siguiente fragmento JSON muestra el atributo Identities, con una identidad de cuenta local con un nombre de inicio de sesión, una dirección de correo electrónico como inicio de sesión y con una identidad social.

"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"
  }
]

En las identidades federadas, en función del proveedor de identidades, issuerAssignedId es un valor único para un usuario determinado por aplicación o cuenta de desarrollo. Configure la directiva de Azure AD B2C con el mismo identificador de aplicación que asigna el proveedor de redes sociales u otra aplicación con la misma cuenta de desarrollo.

Propiedad de perfil de contraseña

En el caso de una identidad local, se necesita el atributo passwordProfile, que contiene la contraseña del usuario. El atributo forceChangePasswordNextSignIn indica si un usuario debe restablecer la contraseña en el siguiente inicio de sesión. Para administrar un restablecimiento de contraseña forzado, siga las instrucciones de configuración del flujo de restablecimiento de contraseña forzado.

En el caso de una identidad federada (social), no se necesita el atributo passwordProfile.

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

Atributo de directiva de contraseñas

La directiva de contraseñas de Azure AD B2C (para cuentas locales) se basa en la directiva de seguridad de contraseña segura de Microsoft Entra ID. Las directivas de restablecimiento de la contraseña, registro e inicio de sesión de Azure AD B2C requieren esta seguridad de contraseña segura y las contraseñas no expiran.

En los escenarios de migración de usuarios, si las cuentas que se van a migrar cuentan con una seguridad de contraseña inferior a la seguridad de contraseña segura que exige Azure AD B2C, puede deshabilitar el requisito de contraseña segura. Para cambiar la directiva de contraseñas predeterminada, establezca el atributo passwordPolicies en DisableStrongPassword. Por ejemplo, puede modificar la solicitud de creación de usuario de la siguiente manera:

"passwordPolicies": "DisablePasswordExpiration, DisableStrongPassword"

Atributo de número de teléfono para MFA

Cuando se usa un teléfono para autenticación multifactor (MFA), el teléfono móvil se usa para comprobar la identidad del usuario. Para agregar un número de teléfono nuevo mediante programación, actualizar, obtener o eliminar el número de teléfono, use el método de autenticación de teléfono de MS Graph API.

En las directivas personalizadas de Azure AD B2C, el número de teléfono está disponible a través del tipo de notificación strongAuthenticationPhoneNumber.

Atributos de extensión

Todas las aplicaciones orientadas al cliente tienen requisitos únicos para la información que debe recopilarse. El inquilino de Azure AD B2C incluye un conjunto integrado de información almacenada en propiedades, como el nombre propio, los apellidos y el código postal. Con Azure AD B2C, puede ampliar el conjunto de propiedades que se almacenan en cada cuenta de cliente. Para más información, consulte Adición de atributos de usuario y personalización de entradas de usuario en Azure Active Directory B2C.

Los atributos de extensión extienden el esquema de los objetos de usuario en el directorio. Los atributos de extensión solo se pueden registrar en un objeto de aplicación, aunque podrían contener datos de un usuario. El atributo de extensión está conectado a la aplicación denominada b2c-extensions-app. No modifique esta aplicación, ya que Azure AD B2C la usa para almacenar los datos de usuario. Puede encontrar esta aplicación en los registros de aplicaciones de Microsoft Entra. Más información sobre Azure AD B2Cb2c-extensions-app.

Nota

  • Puede escribir hasta 100 atributos de extensión en cualquier cuenta de usuario.
  • Si se elimina la aplicación b2c-extensions-app, estos atributos de extensión se quitan de todos los usuarios, junto con los datos que contienen.
  • Si la aplicación elimina un atributo de extensión, se quita de todas las cuentas de usuario y los valores se eliminan.

Los atributos de extensión en Graph API se denominan mediante la convención extension_ApplicationClientID_AttributeName, donde:

El id. de aplicación (cliente) cuando se usa para crear el nombre del atributo de extensión no incluye guiones. Por ejemplo:

"extension_831374b3bd5041bfaa54263ec9e050fc_loyaltyNumber": "212342"

Al definir un atributo en una extensión de esquema, se admiten los siguientes tipos de datos:

Tipo Observaciones
Boolean Valores posibles: true o false.
DateTime Debe especificarse en formato ISO 8601. El valor se almacena en UTC.
Entero Valor de 32 bits.
String 256 caracteres como máximo.

Pasos siguientes

Obtenga más información sobre los atributos de extensión: