Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
A partir de 1º de maio de 2025, o Azure AD B2C não estará mais disponível para compra para novos clientes. Saiba mais em nossas perguntas frequentes.
Observação
No Azure Active Directory B2C, as políticas personalizadas são projetadas principalmente para tratar de cenários complexos. Para a maioria dos cenários, recomendamos que você use fluxos de usuários predefinidos. Se você ainda não fez isso, saiba mais sobre o pacote de início de política personalizado em Introdução às políticas personalizadas no Active Directory B2C.
O Azure AD B2C (Azure Active Directory B2C) oferece suporte para o gerenciamento de usuários do Microsoft Entra. Este artigo descreve as especificidades de um perfil técnico para interagir com um provedor de declarações que dá suporte a esse protocolo padronizado.
Protocolo
O atributo Name do elemento Protocol precisa ser definido como Proprietary. O atributo do manipulador deve conter o nome totalmente qualificado do assembly Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nulldo manipulador de protocolo.
Os perfis técnicos do Microsoft Entra do pacote de início de política personalizado incluem o perfil técnico AAD-Common . Os perfis técnicos do Microsoft Entra não especificam o protocolo porque o protocolo está configurado no perfil técnico AAD-Common :
- AAD-UserReadUsingAlternativeSecurityId e AAD-UserReadUsingAlternativeSecurityId-NoError – procure uma conta social no diretório.
- AAD-UserWriteUsingAlternativeSecurityId – Criar uma nova conta social.
- AAD-UserReadUsingEmailAddress – procure uma conta local no diretório.
- AAD-UserWriteUsingLogonEmail – Criar uma nova conta local.
- AAD-UserWritePasswordUsingObjectId – atualize uma senha de uma conta local.
- AAD-UserWriteProfileUsingObjectId – atualizar um perfil de usuário de uma conta local ou social.
- AAD-UserReadUsingObjectId – Ler um perfil de usuário de uma conta local ou social.
- AAD-UserWritePhoneNumberUsingObjectId – gravar o número de telefone MFA de uma conta local ou social
O exemplo a seguir mostra o perfil técnico AAD-Common :
<TechnicalProfile Id="AAD-Common">
<DisplayName>Azure Active Directory</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.AzureActiveDirectoryProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
<CryptographicKeys>
<Key Id="issuer_secret" StorageReferenceId="B2C_1A_TokenSigningKeyContainer" />
</CryptographicKeys>
<!-- We need this here to suppress the SelfAsserted provider from invoking SSO on validation profiles. -->
<IncludeInSso>false</IncludeInSso>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Noop" />
</TechnicalProfile>
Declarações de entrada
O elemento InputClaims contém uma declaração, que é usada para pesquisar uma conta no diretório ou criar uma nova. Deve haver exatamente um elemento InputClaim na coleção de declarações de entrada para todos os perfis técnicos do Microsoft Entra. Talvez seja necessário mapear o nome da declaração definida em sua política para o nome definido na ID do Microsoft Entra.
Para ler, atualizar ou excluir uma conta de usuário existente, a declaração de entrada é uma chave que identifica exclusivamente a conta no diretório do Microsoft Entra. Por exemplo, objectId, userPrincipalName, signInNames.emailAddress, signInNames.userName ou alternativeSecurityId.
Para criar uma nova conta de usuário, a declaração de entrada é uma chave que identifica exclusivamente uma conta local ou federada. Por exemplo, conta local: signInNames.emailAddress ou signInNames.userName. Para uma conta federada: a alternativeSecurityId.
O elemento InputClaimsTransformations pode conter uma coleção de elementos de transformação de declarações de entrada que são usados para modificar a declaração de entrada ou gerar uma nova.
Declarações de saída
O elemento OutputClaims contém uma lista de declarações retornadas pelo perfil técnico do Microsoft Entra. Talvez seja necessário mapear o nome da declaração definida em sua política para o nome definido na ID do Microsoft Entra. Você também pode incluir declarações que não são retornadas pela ID do Microsoft Entra, desde que defina o DefaultValue atributo.
O elemento OutputClaimsTransformations pode conter uma coleção de elementos OutputClaimsTransformation que são usados para modificar as declarações de saída ou gerar novas.
Por exemplo, o perfil técnico AAD-UserWriteUsingLogonEmail cria uma conta local e retorna as seguintes declarações:
- objectId, que é o identificador da nova conta
- newUser, que indica se o usuário é novo
-
authenticationSource, que define a autenticação como
localAccountAuthentication - userPrincipalName, que é o nome principal do usuário da nova conta
- signInNames.emailAddress, que é o nome de entrada da conta, semelhante à declaração de entrada de email
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="newUser" PartnerClaimType="newClaimsPrincipalCreated" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="localAccountAuthentication" />
<OutputClaim ClaimTypeReferenceId="userPrincipalName" />
<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
</OutputClaims>
Reivindicações persistentes
O elemento PersistedClaims contém todos os valores que devem ser persistidos pela ID do Microsoft Entra com possíveis informações de mapeamento entre um tipo de declaração já definido na seção ClaimsSchema na política e o nome do atributo Microsoft Entra.
O perfil técnico AAD-UserWriteUsingLogonEmail , que cria uma nova conta local, persiste as seguintes declarações:
<PersistedClaims>
<!-- Required claims -->
<PersistedClaim ClaimTypeReferenceId="email" PartnerClaimType="signInNames.emailAddress" />
<PersistedClaim ClaimTypeReferenceId="newPassword" PartnerClaimType="password"/>
<PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />
<PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration" />
<!-- Optional claims. -->
<PersistedClaim ClaimTypeReferenceId="givenName" />
<PersistedClaim ClaimTypeReferenceId="surname" />
</PersistedClaims>
O nome da declaração é o nome do atributo Microsoft Entra, a menos que o atributo PartnerClaimType seja especificado, que contém o nome do atributo Microsoft Entra.
Requisitos de uma operação
- Deve haver exatamente um elemento InputClaim no recipiente de declarações para todos os perfis técnicos do Microsoft Entra.
- O artigo de atributos de perfil de usuário descreve os atributos de perfil de usuário do Azure AD B2C com suporte que você pode usar nas declarações de entrada, declarações de saída e declarações persistentes.
- Se a operação for
WriteouDeleteClaims, então, ela também deverá aparecer em um elemento PersistedClaims . - O valor da declaração userPrincipalName deve estar no formato de
user@tenant.onmicrosoft.com. - A declaração displayName é necessária e não pode ser uma cadeia de caracteres vazia.
Operações de perfil técnico do Microsoft Entra
Leitura
A operação de leitura lê dados sobre uma única conta de usuário. O seguinte perfil técnico lê dados sobre uma conta de usuário usando a objectId do usuário:
<TechnicalProfile Id="AAD-UserReadUsingObjectId">
<Metadata>
<Item Key="Operation">Read</Item>
<Item Key="RaiseErrorIfClaimsPrincipalDoesNotExist">true</Item>
</Metadata>
<IncludeInSso>false</IncludeInSso>
<InputClaims>
<InputClaim ClaimTypeReferenceId="objectId" Required="true" />
</InputClaims>
<OutputClaims>
<!-- Required claims -->
<OutputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
<!-- Optional claims -->
<OutputClaim ClaimTypeReferenceId="signInNames.emailAddress" />
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="otherMails" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
</OutputClaims>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
Escrever
A operação de gravação cria ou atualiza uma única conta de usuário. O seguinte perfil técnico cria uma nova conta social:
<TechnicalProfile Id="AAD-UserWriteUsingAlternativeSecurityId">
<Metadata>
<Item Key="Operation">Write</Item>
<Item Key="RaiseErrorIfClaimsPrincipalAlreadyExists">true</Item>
<Item Key="UserMessageIfClaimsPrincipalAlreadyExists">You are already registered, please press the back button and sign in instead.</Item>
</Metadata>
<IncludeInSso>false</IncludeInSso>
<InputClaimsTransformations>
<InputClaimsTransformation ReferenceId="CreateOtherMailsFromEmail" />
</InputClaimsTransformations>
<InputClaims>
<InputClaim ClaimTypeReferenceId="AlternativeSecurityId" PartnerClaimType="alternativeSecurityId" Required="true" />
</InputClaims>
<PersistedClaims>
<!-- Required claims -->
<PersistedClaim ClaimTypeReferenceId="alternativeSecurityId" />
<PersistedClaim ClaimTypeReferenceId="userPrincipalName" />
<PersistedClaim ClaimTypeReferenceId="mailNickName" DefaultValue="unknown" />
<PersistedClaim ClaimTypeReferenceId="displayName" DefaultValue="unknown" />
<!-- Optional claims -->
<PersistedClaim ClaimTypeReferenceId="otherMails" />
<PersistedClaim ClaimTypeReferenceId="givenName" />
<PersistedClaim ClaimTypeReferenceId="surname" />
</PersistedClaims>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="objectId" />
<OutputClaim ClaimTypeReferenceId="newUser" PartnerClaimType="newClaimsPrincipalCreated" />
<OutputClaim ClaimTypeReferenceId="otherMails" />
</OutputClaims>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
<UseTechnicalProfileForSessionManagement ReferenceId="SM-AAD" />
</TechnicalProfile>
Excluir reivindicações
A operação DeleteClaims limpa as informações de uma lista fornecida de declarações. O seguinte perfil técnico exclui declarações:
<TechnicalProfile Id="AAD-DeleteClaimsUsingObjectId">
<Metadata>
<Item Key="Operation">DeleteClaims</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="objectId" Required="true" />
</InputClaims>
<PersistedClaims>
<PersistedClaim ClaimTypeReferenceId="objectId" />
<PersistedClaim ClaimTypeReferenceId="Verified.strongAuthenticationPhoneNumber" PartnerClaimType="strongAuthenticationPhoneNumber" />
</PersistedClaims>
<OutputClaims />
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
ExcluirClaimsPrincipal
A operação DeleteClaimsPrincipal exclui uma única conta de usuário do diretório. O seguinte perfil técnico exclui uma conta de usuário do diretório usando o nome de entidade de segurança do usuário:
<TechnicalProfile Id="AAD-DeleteUserUsingObjectId">
<Metadata>
<Item Key="Operation">DeleteClaimsPrincipal</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="objectId" Required="true" />
</InputClaims>
<OutputClaims/>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
O seguinte perfil técnico exclui uma conta de usuário social usando alternativeSecurityId:
<TechnicalProfile Id="AAD-DeleteUserUsingAlternativeSecurityId">
<Metadata>
<Item Key="Operation">DeleteClaimsPrincipal</Item>
</Metadata>
<InputClaims>
<InputClaim ClaimTypeReferenceId="alternativeSecurityId" Required="true" />
</InputClaims>
<OutputClaims/>
<IncludeTechnicalProfile ReferenceId="AAD-Common" />
</TechnicalProfile>
Metadados
| Atributo | Obrigatório | Descrição |
|---|---|---|
| Operação | Sim | A operação a ser executada. Valores possíveis: Read, Write, DeleteClaims ou DeleteClaimsPrincipal. |
| RaiseErrorIfClaimsPrincipalDoesNotExist | Não | Gerará um erro se o objeto de usuário não existir no diretório. Valores possíveis: true ou false. |
| RaiseErrorIfClaimsPrincipalAlreadyExists | Não | Gerará um erro se o objeto de usuário já existir. Valores possíveis: true ou false. Esses metadados são aplicáveis somente para a operação de gravação. |
| ApplicationObjectId | Não | O identificador de objeto do aplicativo para atributos de extensão. Valor: ObjectId de um aplicativo. Para obter mais informações, consulte Usar atributos personalizados. |
| ClientId | Não | O identificador do cliente para acessar o locatário como um terceiro. Para obter mais informações, consulte Usar atributos personalizados em uma política de edição de perfil personalizado |
| IncludeClaimResolvingInClaimsHandling | Não | Para declarações de entrada e saída, especifica se a resolução de declarações está incluída no perfil técnico. Valores possíveis: true ou false (padrão). Se você quiser usar um resolvedor de declarações no perfil técnico, defina-o como true. |
Elementos da interface do usuário
As configurações a seguir podem ser usadas para configurar a mensagem de erro exibida após a falha. Os metadados devem ser configurados no perfil técnico autodeclarado . A mensagem de erro pode ser localizada.
| Atributo | Obrigatório | Descrição |
|---|---|---|
| UserMessageIfClaimsPrincipalAlreadyExists | Não | Se um erro for gerado (consulte a descrição do atributo RaiseErrorIfClaimsPrincipalAlreadyExists), especifique a mensagem a ser mostrada ao usuário se o objeto de usuário já existir. |
| UserMessageIfClaimsPrincipalDoesNotExist | Não | Se um erro for gerado (consulte a descrição do atributo RaiseErrorIfClaimsPrincipalDoesNotExist), especifique a mensagem a ser mostrada ao usuário se o objeto de usuário não existir. |
Próximas etapas
Consulte o seguinte artigo, por exemplo, usando o perfil técnico do Microsoft Entra: