Implementando Azure AD B2C com opções multifatoriais

Implementando Azure AD B2C com opções multifatoriais
Implementando Azure AD B2C com opções multifatoriais

Explorando a implementação da política personalizada do Azure AD B2C

A integração de vários métodos de autenticação no Azure AD B2C aumenta a segurança e a flexibilidade do utilizador. Em cenários em que os usuários precisam selecionar entre e-mail, telefone ou um aplicativo autenticador para autenticação multifator (MFA), as políticas personalizadas tornam-se cruciais. Essas políticas permitem jornadas de usuário personalizadas que acomodam diversas preferências de autenticação, garantindo uma experiência de usuário segura e contínua.

O desafio muitas vezes reside na execução técnica dentro da estrutura do Azure, especificamente ao integrar senhas únicas baseadas em tempo (TOTP) juntamente com outros métodos. A fusão bem-sucedida dessas opções no fluxo do usuário requer configuração e gerenciamento precisos das jornadas do usuário, o que muitas vezes pode levar a problemas como solicitações persistentes de seleção de MFA pós-configuração.

Comando Descrição
<ClaimType> Define um tipo de declaração na política, especificando o tipo de dados, propriedades de exibição e restrições.
<UserJourney> Descreve a sequência de etapas pelas quais um usuário passa em uma política personalizada.
<OrchestrationStep> Especifica uma etapa individual na jornada do usuário, incluindo seu tipo e ordem.
<Precondition> Define uma condição que deve ser atendida para a execução da etapa de orquestração, usada para controlar o fluxo com base em dados do usuário ou entradas anteriores.
<ClaimsProviderSelections> Especifica os provedores de declarações disponíveis para seleção durante uma etapa da jornada do usuário.
<ClaimsExchange> Define a troca de declarações com um provedor de declarações, especificando quais declarações são exigidas de qual provedor.

Explicando a integração das políticas personalizadas do Azure AD B2C

Os scripts detalhados acima são essenciais para implementar opções personalizadas de autenticação multifator (MFA) no Azure AD B2C. O uso do <ClaimType> tag é fundamental, pois define os tipos de declarações que os usuários podem selecionar, como telefone, e-mail ou TOTP (senha única baseada em tempo). Esse tipo de declaração também determina as opções de entrada disponíveis para o usuário, tornando-se a base para a criação de uma experiência de autenticação dinâmica e específica do usuário. As escolhas que os usuários fazem aqui influenciam o fluxo de sua jornada de autenticação, possibilitando medidas de segurança personalizadas.

O <UserJourney> e <OrchestrationStep> tags estruturam todo o processo de login ou inscrição. Cada etapa de orquestração pode conter pré-condições, que são usadas para orientar o fluxo com base na entrada anterior ou no status do usuário. Por exemplo, o <Precondition> avalia se uma declaração específica, como um método de MFA escolhido, foi definida e, com base nessa avaliação, pode pular determinadas etapas para agilizar o processo. Esta capacidade de personalização permite que o Azure AD B2C se adapte a vários cenários e preferências do utilizador, melhorando a segurança e a experiência do utilizador.

Integrando a autenticação multifator no Azure AD B2C

Configuração XML para políticas personalizadas

<ClaimType Id="extension_mfaByPhoneOrEmail">
    <DisplayName>Please select your preferred MFA method</DisplayName>
    <DataType>string</DataType>
    <UserInputType>RadioSingleSelect</UserInputType>
    <Restriction>
        <Enumeration Text="Phone" Value="phone" SelectByDefault="true" />
        <Enumeration Text="Email" Value="email" SelectByDefault="false" />
        <Enumeration Text="Authenticator App" Value="TOTP" SelectByDefault="false" />
    </Restriction>
</ClaimType>
<UserJourney Id="SignUpOrSignInMFAOption">
    <OrchestrationSteps>
        <OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
            <ClaimsProviderSelections>
                <ClaimsProviderSelection ValidationClaimsExchangeId="LocalAccountSigninEmailExchange" />
            </ClaimsProviderSelections>
            <ClaimsExchanges>
                <ClaimsExchange Id="LocalAccountSigninEmailExchange" TechnicalProfileReferenceId="SelfAsserted-LocalAccountSignin-Email" />
            </ClaimsExchanges>
        </OrchestrationStep>
    </OrchestrationSteps>
</UserJourney>

Script para seleção persistente de MFA

Configuração de política personalizada em XML

<OrchestrationStep Order="5" Type="ClaimsExchange">
    <Preconditions>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>email</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>phone</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
        <Precondition Type="ClaimEquals" ExecuteActionsIf="true">
            <Value>extension_mfaByPhoneOrEmail</Value>
            <Value>TOTP</Value>
            <Action>SkipThisOrchestrationStep</Action>
        </Precondition>
    </Preconditions>
</OrchestrationStep>

Técnicas avançadas de integração para políticas personalizadas do Azure AD B2C

Compreender os meandros mais profundos das políticas personalizadas do Azure AD B2C requer explorar como estas políticas interagem com sistemas externos e APIs. As políticas personalizadas no Azure AD B2C não só tratam da autenticação do utilizador, mas também podem ser configuradas para interagir com APIs externas para processos de verificação melhorados ou para recuperar dados adicionais do utilizador durante a jornada de autenticação. Esse recurso permite que as organizações implementem requisitos de segurança complexos e cenários de acesso condicional que vão além das configurações típicas de MFA.

Por exemplo, integrando a autenticação baseada em risco, onde o sistema avalia o risco associado a uma tentativa de login com base no comportamento do usuário e no contexto adicional fornecido por serviços externos de inteligência contra ameaças. Esta técnica avançada aproveita ClaimsExchange para chamar APIs externas e usos Preconditions decidir o fluxo com base na resposta da API, aumentando a segurança de forma dinâmica de acordo com avaliações em tempo real.

Consultas comuns sobre políticas personalizadas do Azure AD B2C

  1. Qual é o propósito do <ClaimType> nas políticas personalizadas do Azure AD B2C?
  2. O <ClaimType> define os elementos de dados que podem ser coletados, armazenados e manipulados durante as interações do usuário na plataforma de identidade.
  3. Como posso aplicar a MFA apenas sob determinadas condições?
  4. A MFA condicional pode ser aplicada usando <Precondition> tags dentro <OrchestrationStep>s para verificar condições específicas antes de solicitar MFA.
  5. As políticas personalizadas do Azure AD B2C podem chamar APIs externas?
  6. Sim, eles podem interagir com APIs externas através do uso de <ClaimsExchange> que permite que as políticas enviem e recebam informações de serviços de terceiros.
  7. Quais são os benefícios de usar <UserJourney>está no Azure AD B2C?
  8. <UserJourney>s permitem a definição de caminhos personalizados que os usuários podem seguir durante o processo de autenticação, adaptados aos diversos casos e condições do usuário.
  9. Como depuro uma política personalizada no Azure AD B2C?
  10. A depuração pode ser feita carregando políticas no modo "Desenvolvimento", permitindo logs de erros detalhados que ajudam a identificar problemas na execução da política.

Considerações finais sobre personalizações do Azure AD B2C

A implementação do Azure AD B2C com opções de autenticação por e-mail, telefone e TOTP não só proporciona flexibilidade, mas também aumenta a segurança, permitindo que os utilizadores escolham o seu método preferido. A jornada pela configuração dessas opções revela o poder das políticas personalizadas no gerenciamento eficaz de cenários complexos de autenticação. O desafio de integrar estes sistemas reside em manter a facilidade de utilização e, ao mesmo tempo, garantir uma segurança robusta, demonstrando a capacidade do Azure AD B2C de atender a diversas necessidades de uma forma escalonável.