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:
Identidades - Com pelo menos uma entidade (uma conta local ou federada).
Perfil de senha- Se você criar uma conta local, forneça o perfil de senha.
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 , , , , userName emailAddress1 emailAddress2 emailAddress3 , 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 é federated o 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:
|
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) dob2c-extensions-app
aplicativo. 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: