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:
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á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:
|
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:
- A
ApplicationClientID
é a ID do aplicativo (cliente) do aplicativob2c-extensions-app
. Saiba como localizar o aplicativo de extensões. - O
AttributeName
é o nome do atributo de extensão.
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: