Atributos de perfil do usuário

Seu perfil do usuário do diretório do Azure Active Directory B2C (Azure AD B2C) é fornecido com um conjunto interno de atributos, como nome, sobrenome, cidade, CEP e número de telefone. Você pode estender o perfil do usuário com seus próprios dados de aplicativo sem a necessidade de um armazenamento de dados externo.

A API do Microsoft Graph dá suporte à maioria dos atributos que você pode usar com o Azure Este artigo descreve atributos de perfil de usuário compatíveis com o Azure AD B2C. Ele também aponta os atributos aos quais o Microsoft Graph não dá suporte e os atributos da API do Microsoft Graph que o Azure AD B2C não deve usar.

Importante

Você não deve usar atributos internos ou de extensão para armazenar dados pessoais confidenciais, como credenciais de conta, números de identificação governamental, dados de titulares de cartão, dados de contas financeiras, informações de saúde ou informações de histórico confidenciais.

Você também pode integrar com sistemas externos. Por exemplo, você pode usar o Azure AD B2C para autenticação, mas delegar para um CRM (gerenciamento de relacionamento com o cliente) externo ou a um banco de dados de fidelidade do cliente como a fonte de verdade dos dados do cliente. Para obter mais informações, consulte a solução de perfil remoto.

Tipo de recurso de usuário do Microsoft Entra

O perfil de usuário do diretório do Azure AD B2C dá suporte aos atributos de tipo de recurso de usuário listados na tabela abaixo. Ela contém as seguintes informações sobre cada atributo:

  • Nome do atributo usado pelo Azure AD B2C (seguido pelo nome do Microsoft Graph em parênteses, se for diferente)
  • Tipo de dados de atributo
  • Descrição do atributo
  • Se o atributo estiver disponível no portal do Azure
  • Se o atributo pode ser usado em um fluxo de usuário
  • Se o atributo pode ser usado em um perfil técnico do Microsoft Entra ID de política personalizada, e em qual seção (<InputClaims>, <OutputClaims>ou <PersistedClaims>)
Nome Tipo de data Descrição Disponível no portal do Azure Usado em fluxos de usuário Usado na política personalizada
accountEnabled Boolean Se a conta de usuário está habilitada ou desabilitada: true se a conta estiver habilitada; caso contrário, false. Sim Não Persistente, Saída
ageGroup String O grupo de idade do usuário. Valores possíveis: null, Undefined, Minor, Adult, NotAdult. Sim Não Persistente, Saída
alternativeSecurityId (Identidades) String Uma identidade de usuário único do provedor de identidade externo. Não Não Entrada, Persistente, Saída
alternativeSecurityIds (Identidades) coleção securityid alternativa Uma coleção de identidades de usuário de provedores de identidade externos. Não Não Persistente, Saída
city String A cidade de residência do usuário.. Comprimento máximo de 128. Sim Sim Persistente, Saída
consentProvidedForMinor String Se o consentimento foi fornecido a um menor. Valores permitidos: null, granted, denied ou notRequired. Sim Não Persistente, Saída
country String O país/região de residência do usuário.. Por exemplo: EUA ou Reino Unido. Comprimento máximo de 128. Sim Sim Persistente, Saída
createdDateTime Datetime A data em que o objeto do usuário foi criado. Somente leitura. Não Não Persistente, Saída
creationType String Se a conta de usuário foi criada como uma conta local para um locatário do Azure Active Directory B2C, o valor será LocalAccount ou nameCoexistence. Somente leitura. Não Não Persistente, Saída
dateOfBirth Data Data de nascimento. Não Não Persistente, Saída
department String O nome do departamento no qual o usuário trabalha. Comprimento máximo de 64. Sim Não Persistente, Saída
displayName String O nome de exibição do usuário. Comprimento máximo de 256. Caracteres <> não são permitidos. Yes Sim Persistente, Saída
facsimileTelephoneNumber1 String O número de telefone do aparelho de fax comercial do usuário. Sim Não Persistente, Saída
givenName String O nome (primeiro nome) do usuário. Comprimento máximo de 64. Sim Sim Persistente, Saída
jobTitle String O cargo do usuário. Comprimento máximo de 128. Sim Sim Persistente, Saída
immutableId String Um identificador normalmente usado para usuários migrados do Active Directory local. Não Não Persistente, Saída
legalAgeGroupClassification String Classificação de grupo de faixa etária. Somente leitura e calculado com base nas propriedades ageGroup e consentProvidedForMinor. Valores permitidos: null, minorWithOutParentalConsent, minorWithParentalConsent, minorNoParentalConsentRequired, notAdult e adult. Sim Não Persistente, Saída
legalCountry1 String País/Região para fins legais. Não Não Persistente, Saída
mailNickName String O alias de email para o usuário. Comprimento máximo de 64. Não Não Persistente, Saída
mobile (mobilePhone) String O número do telefone celular principal do usuário. Comprimento máximo de 64. Sim Não Persistente, Saída
netId String ID do Net. Não Não Persistente, Saída
objectId String Um GUID (identificador global exclusivo) que é o identificador exclusivo do usuário. Exemplo: 12345678-9abc-def0-1234-56789abcde. Somente leitura, Imutável. Somente leitura Sim Entrada, Persistente, Saída
otherMails Coleção de Cadeias de Caracteres Uma lista dos outros endereços de email do usuário. Exemplo: ["bob@contoso.com", "Robert@fabrikam.com"]. OBSERVAÇÃO: caracteres de ênfase não são permitidos. Sim (E-mail alternativo) Não Persistente, Saída
password String A senha da conta local durante a criação do usuário. Não Não Persistente
passwordPolicies String Política da senha. É uma cadeia de caracteres que consiste em um nome de política diferente separado por vírgula. Por exemplo, "DisablePasswordExpiration, DisableStrongPassword". Não Não Persistente, Saída
physicalDeliveryOfficeName (officeLocation) String A localização do escritório na sede da empresa do usuário. Comprimento máximo de 128. Sim Não Persistente, Saída
postalCode String O CEP do endereço postal do usuário. O CEP é específico do país/região do usuário. No Estados Unidos da América, esse atributo contém o código ZIP. Comprimento máximo de 40. Sim Não Persistente, Saída
preferredLanguage String O idioma preferencial do usuário. O formato de idioma preferencial é baseado em RFC 4646. O nome é uma combinação de um código de cultura de duas letras minúsculas ISO 639 associado a um idioma e um código de subcultura de duas letras maiúsculas ISO 3166 associado ao país ou à região. Por exemplo: en-USou es-ES. Não Não Persistente, Saída
refreshTokensValidFromDateTime (signInSessionsValidFromDateTime) DateTime Todos os tokens de atualização emitidos antes dessa hora são inválidos e os aplicativos recebem um erro ao usar um token de atualização inválido para adquirir um novo token de acesso. Nesse caso, o aplicativo precisa adquirir um novo token de atualização fazendo uma solicitação para o ponto de extremidade autorizado. Somente leitura. Não Não Saída
signInNames (Identidades) String O nome de entrada exclusivo do usuário da conta local de qualquer tipo no diretório. Use esse atributo para obter um usuário com valor de entrada sem especificar o tipo de conta local. Não Não Entrada
signInNames.userName (Identidades) String O nome de usuário exclusivo do usuário da conta local no diretório. Use esse atributo para criar ou obter um usuário com um nome de usuário específico para entrada. Especificar esse atributo somente em PersistedClaims durante a operação do Patch remove outros tipos de signInNames. Se quiser adicionar um novo tipo de signInNames, também precisará manter o signInNames existente. OBSERVAÇÃO: caracteres de ênfase não são permitidos no nome de usuário. Não Não Entrada, Persistente, Saída
signInNames.phoneNumber (Identidades) String O número de telefone exclusivo do usuário da conta local no diretório. Use esse atributo para criar ou obter um usuário com um número de telefone específico para entrada. Especificar esse atributo somente em PersistedClaims durante a operação do Patch remove outros tipos de signInNames. Se quiser adicionar um novo tipo de signInNames, também precisará manter o signInNames existente. Não Não Entrada, Persistente, Saída
signInNames.emailAddress (Identidades) String O endereço de e-mail exclusivo do usuário da conta local no diretório. Use este atributo para criar ou obter um usuário com um endereço de email de entrada específico. Especificar esse atributo somente em PersistedClaims durante a operação do Patch remove outros tipos de signInNames. Se quiser adicionar um novo tipo de signInNames, também precisará manter o signInNames existente. Não Não Entrada, Persistente, Saída
state String O estado ou a província no endereço do usuário. Comprimento máximo de 128. Sim Sim Persistente, Saída
streetAddress String O endereço da sede da empresa do usuário. Comprimento máximo de 1024. Sim Sim Persistente, Saída
strongAuthentication AlternativePhoneNumber1 String O número de telefone secundário do usuário, usado para autenticação multifator. Sim Não Persistente, Saída
strongAuthenticationEmailAddress1 String O endereço SMTP do usuário. Exemplo: "bob@contoso.com". Esse atributo é usado para entrar com a política de nome de usuário, para armazenar o endereço de e-mail do usuário. O endereço de e-mail é usado em um fluxo de redefinição de senha. Caracteres de ênfase não são permitidos neste atributo. Sim Não Persistente, Saída
strongAuthenticationPhoneNumber2 String O número de telefone primário do usuário, usado para autenticação multifator. Sim Não Persistente, Saída
sobrenome String O sobrenome do usuário (nome de família ou último nome). Comprimento máximo de 64. Sim Sim Persistente, Saída
telephoneNumber (primeira entrada de businessPhones) String O número de telefone principal do sede da empresa do usuário. Sim Não Persistente, Saída
userPrincipalName String O UPN (nome principal do usuário) do usuário. O UPN é um nome de entrada de um usuário, no estilo da Internet, para o usuário com base no padrão RFC 822 da Internet. O domínio deve estar presente na coleção de domínios verificados do locatário. Essa propriedade é necessária ao criar uma conta. Imutável. Não Não Entrada, Persistente, Saída
usageLocation String Necessário para usuários que recebem licenças, devido a requisitos legais de verificação de disponibilidade de serviços em países/regiões. Não permite valor nulo. Um código de país/região de duas letras (padrão ISO 3166). Para exemplo, EUA, JP e GB. Sim Não Persistente, Saída
userType String Um valor de cadeia de caracteres que pode ser usado para classificar os tipos de usuário em seu diretório. O valor deve ser Member. Somente leitura. Somente leitura Não Persistente, Saída
userState (externalUserState)3 String Exclusivamente para a conta do Microsoft Entra B2B, indica se o convite é PendingAcceptance ou Accepted. Não Não Persistente, Saída
userStateChangedOn (externalUserStateChangeDateTime)2 Datetime Mostra o carimbo de data/hora para a alteração mais recente da propriedade UserState. Não Não Persistente, Saída

1 Não tem suporte do Microsoft Graph
2 Para obter mais informações, confira Atributo de número de telefone de MFA
3 Não deve ser usado com o Azure AD B2C

Atributos obrigatórios

Para criar uma conta de usuário no diretório do Azure AD B2C, forneça os seguintes atributos necessários:

Atributo de nome de exibição

O displayName é o nome a ser exibido no gerenciamento de usuário portal do Azure ao usuário e no token de acesso que o Azure AD B2C retorna ao aplicativo. Esta propriedade é necessária.

Atributo de identidades

Uma conta de cliente, de um consumidor, parceiro ou cidadão, pode ser associada a esses tipos de identidade:

  • Identidade local - O nome de usuário e a senha armazenados localmente no diretório do Azure AD B2C. Geralmente, nos referimos a essas identidades como "contas locais".
  • Identidade federada - Conhecida também como contas social ou empresarial, a identidade do usuário é gerenciada por um provedor de identidade federada, como Facebook, Microsoft, ADFS ou Salesforce.

Um usuário com uma conta de consumidor pode entrar com várias identidades. Por exemplo, nome de usuário, email, ID de funcionário, ID de governo e outros. Uma única conta pode ter várias identidades locais e sociais com a mesma senha.

Na API do Microsoft Graph, as identidades local e federada são armazenadas no atributo identities do usuário, que é do tipo objectIdentity. A coleção identities representa um conjunto de identidades usada para entrar em uma conta de usuário. Essa coleção permite que o usuário entre na conta de usuário com qualquer identidade associada. O atributo de identidades pode conter até 10 objetos objectIdentity. Cada objeto contém as seguintes propriedades:

Nome Digitar Descrição
signInType string Especifica os tipos de entrada do usuário no seu diretório. Para conta local, emailAddress, emailAddress1, emailAddress2, emailAddress3, userName, ou qualquer tipo da sua escolha. Contas sociais devem ser configuradas em federated.
emissor string Especifica o emissor da identidade. Para contas locais (em que signInType não é federated), essa propriedade é o nome de domínio padrão do locatário B2C local, por exemplo contoso.onmicrosoft.com. Para identidade social (em que signInType é federated) o valor é o nome do emissor, por exemplo facebook.com
issuerAssignedId string Especifica o identificador exclusivo atribuído ao usuário pelo emissor. A combinação de emissor e issuerAssignedId precisa ser exclusiva no seu locatário. Para conta local, quando signInType é definido como emailAddress ou userName, ele representa o nome de entrada para o usuário.
Quando signInType é definido como:
  • emailAddress (ou começa com emailAddress como emailAddress1) issuerAssignedId precisa ser um endereço de email válido
  • userName (ou qualquer outro valor), issuerAssignedId precisa ser uma parte local válida de um endereço de email
  • federated, issuerAssignedId representa o identificador exclusivo da conta federada

O trecho de código JSON abaixo mostra o atributoIdentities, com uma identidade de conta local com um nome de entrada, um endereço de email como entrada e com uma identidade 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"
  }
]

Para identidades federadas, dependendo do provedor de identidade, o issuerAssignedId é um valor exclusivo para um determinado usuário por aplicativo ou uma conta de desenvolvimento. Configure a política do Azure AD B2C com a mesma ID de aplicativo que o provedor social ou outro aplicativo na mesma conta de desenvolvimento atribui.

Propriedade de perfil de senha

Para uma identidade local, o atributo passwordProfile é necessário e contém a senha do usuário. O atributo forceChangePasswordNextSignIn indica se um usuário precisa redefinir a senha na próxima entrada. Para lidar com uma redefinição de senha forçada, use as instruções em configurar o fluxo de redefinição de senha forçada.

Para uma identidade federada (social), o atributo passwordProfile não é necessário.

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

Atributo de política de senha

A política de senha do Azure AD B2C (para contas locais) se baseia na política de força de senha forte da ID do Microsoft Entra. As políticas de inscrição ou entrada e redefinição de senha do Azure AD B2C exigem esse nível de segurança de senha forte e não expiram as senhas.

Em cenários de migração de usuário, se as contas que você quer migrar têm um nível de segurança de senha mais fraco do que o nível de segurança de senha forte imposto pelo Azure AD B2C, você poderá desabilitar o requisito de senha forte. Para mudar a política de senha padrão, defina o atributo passwordPolicies como DisableStrongPassword. Por exemplo, você pode modificar a solicitação de criação de usuário da seguinte maneira:

"passwordPolicies": "DisablePasswordExpiration, DisableStrongPassword"

Atributo de número de telefone de MFA

Ao usar um telefone para autenticação multifator (MFA), o telefone celular é usado para verificar a identidade do usuário. Para adicionar um novo número de telefone de maneira programática, atualize, obtenha ou exclua o número de telefone, use o método de autenticação por telefone da API do Microsoft Graph.

Nas políticas personalizadas do Azure AD B2C, o número de telefone está disponível por meio do tipo de declaração strongAuthenticationPhoneNumber.

Atributos de extensão

Todo aplicativo voltado para o cliente tem requisitos exclusivos para as informações a serem coletadas. Seu locatário do Azure AD B2C é fornecido com um conjunto interno de informações armazenadas em propriedades, como Nome, Sobrenome e CEP. Com o Azure AD B2C, você pode estender o conjunto de propriedades armazenadas em cada conta de cliente. Para obter mais informações, confira Adicionar atributos de usuário e personalizar entrada do usuário no Azure Active Directory B2C

Os atributos de extensão estender o esquema dos objetos de usuário no diretório. Os atributos de extensão só podem ser registrados em um objeto de aplicativo, mesmo que possam conter dados para um usuário. O atributo de extensão é anexado ao aplicativo chamado de b2c-extensions-app. Não modifique esse aplicativo, pois ele é usado pelo Azure AD B2C para armazenar dados do usuário. Encontre esse aplicativo em Registros de aplicativo do Microsoft Entra. Saiba mais sobre o Azure AD B2Cb2c-extensions-app.

Observação

  • Você pode escrever até 100 atributos de extensão em qualquer conta de usuário.
  • Se o aplicativo b2c-extensions-app for excluído, esses atributos de extensão serão removidos de todos os usuários junto com os dados que eles contêm.
  • Se um atributo de extensão for excluído pelo aplicativo, ele será removido de todas as contas de usuário e os valores serão excluídos.

Atributos de extensão na API do Graph são nomeados usando a convenção extension_ApplicationClientID_AttributeName, onde:

Quando usada para criar o nome do atributo de extensão, a ID do aplicativo (cliente) não inclui hifens. Por exemplo:

"extension_831374b3bd5041bfaa54263ec9e050fc_loyaltyNumber": "212342"

Os tipos de dados a seguir têm suporte ao definir um atributo em uma extensão de esquema:

Tipo Comentários
Boolean Os valores possíveis: true ou false.
Datetime Deve ser especificado no formato ISO 8601. O valor é armazenado em UTC.
Inteiro Valor de 32 bits.
String Máximo de 256 caracteres.

Próximas etapas

Saiba mais sobre os atributos de extensão: