Atributos de perfil de utilizador

Seu perfil de usuário do diretório do Azure Ative Directory B2C (Azure AD B2C) vem com um conjunto de atributos internos, como nome próprio, sobrenome, cidade, código postal e número de telefone. Você pode estender o perfil de usuário com seus próprios dados de aplicativo sem exigir 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 os atributos de perfil de usuário que o Azure AD B2C suporta. Ele também observa os atributos que o Microsoft Graph não oferece 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 do governo, dados do titular do cartão, dados da conta financeira, informações de saúde ou informações confidenciais de antecedentes.

Você também pode integrar com sistemas externos. Por exemplo, você pode usar o Azure AD B2C para autenticação, mas delegar a um CRM (gerenciamento de relacionamento com o cliente) externo ou a um banco de dados de fidelidade do cliente como a fonte autorizada de 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 do usuário listados na tabela abaixo. Ele fornece as seguintes informações sobre cada atributo:

  • Nome do atributo usado pelo Azure AD B2C (seguido pelo nome do Microsoft Graph entre parênteses, se diferente)
  • Tipo de dados de atributo
  • Descrição do atributo
  • Se o atributo está 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 uma política personalizada Perfil técnico do Microsoft Entra ID e em qual seção (<InputClaims, <OutputClaims ou <PersistedClaims>>>)
Nome Tipo de data Description Disponível no portal do Azure Usado em fluxos de usuários Usado na política personalizada
accountEnabled Booleano Se a conta de usuário está habilitada ou desabilitada: true se a conta estiver habilitada, caso contrário , false. Sim No Persistente, Saída
grupo etário String A faixa etária do usuário. Valores possíveis: null, Undefined, Minor, Adult, NotAdult. Sim No Persistente, Saída
alternativeSecurityId (Identidades) String Uma única identidade de usuário do provedor de identidade externo. No 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. No Não Persistente, Saída
cidade String A cidade de residência do utilizador.. Comprimento máximo 128. Sim Sim Persistente, Saída
consentProvidedForMinor String Se o consentimento foi dado a um menor. Valores permitidos: null, granted, denied ou notRequired. Sim No Persistente, Saída
país/região String O país/região de residência do utilizador.. Por exemplo: EUA ou Reino Unido. Comprimento máximo 128. Sim Sim Persistente, Saída
createdDateTime DateTime A data em que o objeto de usuário foi criado. Somente leitura. No Não Persistente, Saída
criaçãoTipo String Se a conta de usuário foi criada como uma conta local para um locatário B2C do Azure Ative Directory, o valor é LocalAccount ou nameCoexistence. Somente leitura. No Não Persistente, Saída
datadenascimento Data Data de nascimento. No Não Persistente, Saída
departamento String O nome do departamento no qual o usuário trabalha. Comprimento máximo 64. Sim No Persistente, Saída
displayName String O nome para exibição do usuário. Comprimento máximo 256. <> caracteres não são permitidos. Sim Sim Persistente, Saída
fac-símileTelefoneNúmero1 String O número de telefone do aparelho de fax comercial do usuário. Sim No Persistente, Saída
givenName String O nome próprio (nome) do utilizador. Comprimento máximo 64. Sim Sim Persistente, Saída
jobTitle String O cargo do usuário. Comprimento máximo 128. Sim Sim Persistente, Saída
immutableId String Um identificador que normalmente é usado para usuários migrados do Ative Directory local. No Não Persistente, Saída
legalAgeGroupClassification String Classificação etária legal. Somente leitura e calculado com base nas propriedades ageGroup e consentProvidedForMinor. Valores permitidos: null, minorWithOutParentalConsent, minorWithParentalConsent, minorNoParentalConsentRequired, notAdult e adult. Sim No Persistente, Saída
legalPaís1 String País/Região para fins legais. No Não Persistente, Saída
mailNickName String O alias de email para o usuário. Comprimento máximo 64. No Não Persistente, Saída
telemóvel (telemóvel) String O número de telefone celular principal do usuário. Comprimento máximo 64. Sim No Persistente, Saída
netId String ID líquido. No Não Persistente, Saída
objectId String Um identificador global exclusivo (GUID) que é o identificador exclusivo para o usuário. Exemplo: 12345678-9abc-def0-1234-56789abcde. Somente leitura, Imutável. Só de Leitura Sim Entrada, Persistente, Saída
outrosE-mails Coleção String Uma lista de outros endereços de e-mail para o usuário. Exemplo: ["", ""bob@contoso.comRobert@fabrikam.com]. NOTA: Não são permitidos caracteres de destaque. Sim (Email alternativo) Não Persistente, Saída
password String A senha da conta local durante a criação do usuário. No Não Persistiu
passwordPolicies String Política da senha. É uma cadeia de caracteres que consiste em diferentes nomes de políticas separados por vírgula. Por exemplo, "DisablePasswordExpiration, DisableStrongPassword". No Não Persistente, Saída
physicalDeliveryOfficeName (officeLocation) String A localização do escritório no local de negócios do usuário. Comprimento máximo 128. Sim No Persistente, Saída
postalCode String O código postal do endereço postal do utilizador. O código postal é específico para o país/região do utilizador. Nos Estados Unidos da América, este atributo contém o código postal. Comprimento máximo 40. Sim No Persistente, Saída
preferredLanguage String O idioma preferido para o usuário. O formato de idioma preferido é baseado no RFC 4646. O nome é uma combinação de um código de cultura minúscula de duas letras ISO 639 associado ao idioma e um código de subcultura maiúscula de duas letras ISO 3166 associado ao país ou região. Por exemplo: en-US ou es-ES. No Não Persistente, Saída
refreshTokensValidFromDateTime (signInSessionsValidFromDateTime) DateTime Todos os tokens de atualização emitidos antes desse período 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 ao ponto de extremidade de autorização. Só de Leitura. No 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. No 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 de entrada específico. Especificar esse atributo somente em PersistedClaims durante a operação Patch remove outros tipos de signInNames. Se você quiser adicionar um novo tipo de signInNames, também precisará persistir signInNames existentes. NOTA: Não são permitidos caracteres de acento no nome de utilizador. No 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 de entrada específico. Especificar esse atributo somente em PersistedClaims durante a operação Patch remove outros tipos de signInNames. Se você quiser adicionar um novo tipo de signInNames, também precisará persistir signInNames existentes. No 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. Utilize este atributo para criar ou obter um utilizador com um endereço de e-mail de início de sessão específico. Especificar esse atributo somente em PersistedClaims durante a operação Patch remove outros tipos de signInNames. Se você quiser adicionar um novo tipo de signInNames, também precisará persistir signInNames existentes. No Não Entrada, Persistente, Saída
state String O estado ou província no endereço do usuário. Comprimento máximo 128. Sim Sim Persistente, Saída
streetAddress String O endereço do estabelecimento comercial do utilizador. Comprimento máximo 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 No Persistente, Saída
strongAuthenticationEmailAddress1 String O endereço SMTP do usuário. Exemplo: ""bob@contoso.com Este 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 destaque não são permitidos neste atributo. Sim No Persistente, Saída
strongAuthenticationPhoneNumber2 String O número de telefone principal do usuário, usado para autenticação multifator. Sim No Persistente, Saída
surname String O apelido do utilizador (apelido ou apelido). Comprimento máximo 64. Sim Sim Persistente, Saída
número de telefone (primeira entrada de businessPhones) String O número de telefone principal do local de trabalho do utilizador. Sim No Persistente, Saída
userPrincipalName String O nome principal de utilizador (UPN). O UPN é um nome de login no estilo Internet para o usuário baseado no padrão da Internet RFC 822. O domínio deve estar presente na coleção de domínios verificados do locatário. Esta propriedade é necessária quando uma conta é criada. Imutável. No Não Entrada, Persistente, Saída
usageLocation String Necessário para usuários que recebem licenças devido a requisitos legais para verificar a disponibilidade de serviços em países/regiões. Não anulável. Um código de país/região de duas letras (norma ISO 3166). Por exemplo, US, JP e GB. Sim No Persistente, Saída
userType String Um valor de cadeia de caracteres que pode ser usado para classificar tipos de usuário em seu diretório. O valor deve ser Membro. Só de Leitura. Só de Leitura Não Persistente, Saída
userState (externalUserState)3 String Apenas para a conta Microsoft Entra B2B e indica se o convite é PendingAcceptance ou Accepted. No Não Persistente, Saída
userStateChangedOn (externalUserStateChangeDateTime)2 DateTime Mostra o carimbo de data/hora da alteração mais recente na propriedade UserState. No Não Persistente, Saída

1 Não suportado pelo Microsoft Graph
2 Para obter mais informações, consulte Atributo de número de telefone 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ários do portal do Azure para o usuário e no token de acesso que o Azure AD B2C retorna ao aplicativo. Esta propriedade é necessária.

Atributo Identidades

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

  • Identidade local - O nome de usuário e a senha são armazenados localmente no diretório B2C do Azure AD. Muitas vezes nos referimos a essas identidades como "contas locais".
  • Identidade federada - Também conhecida como contas sociais ou empresariais, a identidade do usuário é gerenciada por um provedor de identidade federada como Facebook, Microsoft, ADFS ou Salesforce.

Um utilizador com uma conta de cliente pode iniciar sessão com várias identidades. Por exemplo, nome de usuário, e-mail, ID de funcionário, ID do 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 locais e federadas são armazenadas no atributo user identities , que é do tipo objectIdentity. A identities coleção representa um conjunto de identidades usadas para entrar em uma conta de usuário. Essa coleção permite que o usuário entre na conta de usuário com qualquer uma de suas identidades associadas. O atributo identities pode conter até 10 objetos objectIdentity . Cada objeto contém as seguintes propriedades:

Name Type Description
signInType string Especifica os tipos de entrada do usuário em seu diretório. Para conta local: emailAddress, , , , userNameemailAddress1emailAddress2emailAddress3, ou qualquer outro tipo que você gosta. A conta social deve ser definida como federated.
emitente string Especifica o emissor da identidade. Para contas locais (onde 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 (onde signInType é ) o valor é federatedo nome do emissor, por exemplo facebook.com
emissorAssignedId string Especifica o identificador exclusivo atribuído ao usuário pelo emissor. A combinação de emissor e emissorAssignedId deve ser exclusiva dentro do 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 está definido para:
  • emailAddress (ou começa com emailAddress like emailAddress1) issuerAssignedId deve ser um endereço de e-mail válido
  • userName (ou qualquer outro valor), issuerAssignedId deve ser uma parte local válida de um endereço de e-mail
  • federated, issuerAssignedId representa o identificador exclusivo da conta federada

O trecho JSON a seguir mostra o atributo Identities , 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 conta de desenvolvimento. Configure a política do Azure AD B2C com a mesma ID de aplicativo que o provedor social ou outro aplicativo dentro da mesma conta de desenvolvimento atribui.

Propriedade do perfil da palavra-passe

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

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) é baseada na política de força de senha forte do Microsoft Entra ID. As políticas de inscrição ou de entrada e redefinição de senha do Azure AD B2C exigem essa força de senha forte e não expiram senhas.

Em cenários de migração de usuário, se as contas que você deseja migrar tiverem força de senha mais fraca do que a força de senha forte imposta pelo Azure AD B2C, você poderá desabilitar o requisito de senha forte. Para alterar a política de senha padrão, defina o passwordPolicies atributo 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 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 programaticamente, atualizar, obter ou excluir o número de telefone, use o método de autenticação de telefone da API do MS Graph.

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

Atributos da extensão

Cada aplicativo voltado para o cliente tem requisitos exclusivos para as informações a serem coletadas. Seu locatário do Azure AD B2C vem com um conjunto interno de informações armazenadas em propriedades, como Nome Próprio, Sobrenome e Código Postal. Com o Azure AD B2C, você pode estender o conjunto de propriedades armazenadas em cada conta de cliente. Para obter mais informações, consulte Adicionar atributos de usuário e personalizar a entrada do usuário no Azure Ative Directory B2C

Os atributos de extensão estendem 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 extension é anexado ao aplicativo chamado b2c-extensions-app. Não modifique este aplicativo, pois ele é usado pelo Azure AD B2C para armazenar dados do usuário. Você pode encontrar este aplicativo em Registros do aplicativo Microsoft Entra. Saiba mais sobre o Azure AD B2Cb2c-extensions-app.

Nota

  • Você pode escrever até 100 atributos de extensão para 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, juntamente com quaisquer dados que eles contenham.
  • 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.

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

  • O ApplicationClientID é o ID do aplicativo (cliente) do b2c-extensions-appaplicativo. Saiba como encontrar o aplicativo de extensões.
  • O AttributeName é o nome do atributo de extensão.

O ID do aplicativo (cliente) quando usado para criar o nome do atributo de extensão não inclui hífenes. Por exemplo:

"extension_831374b3bd5041bfaa54263ec9e050fc_loyaltyNumber": "212342"

Os seguintes tipos de dados são suportados ao definir um atributo em uma extensão de esquema:

Tipo Observações
Booleano Valores possíveis: verdadeiro ou falso.
DateTime Deve ser especificado no formato ISO 8601. O valor é armazenado em UTC.
Número inteiro Valor de 32 bits.
String 256 caracteres no máximo.

Próximos passos

Saiba mais sobre atributos de extensão: