Configurar requisitos de complexidade para senhas no Azure Ative Directory B2C

Antes de começar, use o seletor Escolha um tipo de política para escolher o tipo de política que você está configurando. O Azure Ative Directory B2C oferece dois métodos para definir como os usuários interagem com seus aplicativos: por meio de fluxos de usuário predefinidos ou por meio de políticas personalizadas totalmente configuráveis. As etapas exigidas neste artigo são diferentes para cada método.

O Azure Ative Directory B2C (Azure AD B2C) dá suporte à alteração dos requisitos de complexidade para senhas fornecidas por um usuário final ao criar uma conta. Por padrão, o Azure AD B2C usa senhas fortes . O Azure AD B2C também dá suporte a opções de configuração para controlar a complexidade das senhas que os clientes podem usar.

Pré-requisitos

Aplicação de regras de senha

Durante a inscrição ou redefinição de senha, um usuário final deve fornecer uma senha que atenda às regras de complexidade. As regras de complexidade de senha são impostas por fluxo de usuário. É possível que um fluxo de usuário exija um pino de quatro dígitos durante a inscrição, enquanto outro fluxo de usuário exija uma cadeia de caracteres de oito caracteres durante a inscrição. Por exemplo, você pode usar um fluxo de usuário com complexidade de senha diferente para adultos e para crianças.

A complexidade da palavra-passe nunca é imposta durante o início de sessão. Durante o início de sessão, os utilizadores nunca são solicitados a alterar a palavra-passe porque esta não cumpre o requisito de complexidade atual.

Você pode configurar a complexidade da senha nos seguintes tipos de fluxos de usuário:

  • Fluxo de usuário de inscrição ou entrada
  • Fluxo de usuário de redefinição de senha

Se você estiver usando políticas personalizadas, poderá configurar a complexidade da senha em uma política personalizada.

Configurar a complexidade da senha

  1. Inicie sessão no portal do Azure.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para seu locatário do Azure AD B2C no menu Diretórios + assinaturas .
  3. No portal do Azure, procure e selecione Azure AD B2C.
  4. Selecione Fluxos de usuário.
  5. Selecione um fluxo de usuário e clique em Propriedades.
  6. Em Complexidade da senha, altere a complexidade da senha para esse fluxo de usuário para Simples, Forte ou Personalizada.

Gráfico Comparativo

Complexidade Description
Simples Uma palavra-passe com pelo menos 8 a 64 caracteres.
Forte Uma palavra-passe com pelo menos 8 a 64 caracteres. Requer 3 de 4 de minúsculas , maiúsculas, números ou símbolos.
Personalizar Esta opção fornece o maior controle sobre as regras de complexidade de senha. Permite configurar um comprimento personalizado. Também permite aceitar palavras-passe apenas numéricas (pins).

Opções personalizadas

Conjunto de caracteres

Permite aceitar apenas dígitos (pinos) ou o conjunto completo de caracteres.

  • O Numbers só permite dígitos (0-9) ao introduzir uma palavra-passe.
  • Tudo permite qualquer letra, número ou símbolo.

Duração

Permite controlar os requisitos de comprimento da senha.

  • O comprimento mínimo deve ser de pelo menos 4.
  • O comprimento máximo deve ser maior ou igual ao comprimento mínimo e no máximo pode ter 256 caracteres.

Classes de personagens

Permite controlar os diferentes tipos de caracteres usados na senha.

  • 2 de 4: Caractere minúsculo, Caractere maiúsculo, Número (0-9), Símbolo garante que a senha contenha pelo menos dois tipos de caracteres. Por exemplo, um número e um caractere minúsculo.

  • 3 de 4: Caractere minúsculo, Caractere maiúsculo, Número (0-9), Símbolo garante que a senha contenha pelo menos três tipos de caracteres. Por exemplo, um número, um caractere minúsculo e um caractere maiúsculo.

  • 4 de 4: Caractere minúsculo, Caractere maiúsculo, Número (0-9), Símbolo garante que a senha contém todos os tipos de caracteres.

    Nota

    Exigir 4 de 4 pode resultar em frustração do usuário final. Alguns estudos mostraram que este requisito não melhora a entropia da palavra-passe. Consulte as diretrizes de senha do NIST

Validação de predicados de senha

Para configurar a complexidade da senha, substitua os newPassword tipos e reenterPassworddeclaração por uma referência às validações de predicados. O elemento PredicateValidations agrupa um conjunto de predicados para formar uma validação de entrada do usuário que pode ser aplicada a um tipo de declaração. Abra o arquivo de extensões da sua política. Por exemplo, SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Procure o elemento BuildingBlocks . Se o elemento não existir, adicione-o.

  2. Localize o elemento ClaimsSchema . Se o elemento não existir, adicione-o.

  3. Adicione as newPassword declarações e reenterPassword ao elemento ClaimsSchema .

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Predicados define uma validação básica para verificar o valor de um tipo de declaração e retorna true ou false. A validação é feita usando um elemento de método especificado e um conjunto de parâmetros relevantes para o método. Adicione os seguintes predicados ao elemento BuildingBlocks , imediatamente após o </ClaimsSchema> fechamento do elemento:

    <!-- 
    <BuildingBlocks>-->
      <Predicates>
        <Predicate Id="LengthRange" Method="IsLengthRange">
          <UserHelpText>The password must be between 6 and 64 characters.</UserHelpText>
          <Parameters>
            <Parameter Id="Minimum">6</Parameter>
            <Parameter Id="Maximum">64</Parameter>
          </Parameters>
        </Predicate>
        <Predicate Id="Lowercase" Method="IncludesCharacters">
          <UserHelpText>a lowercase letter</UserHelpText>
          <Parameters>
            <Parameter Id="CharacterSet">a-z</Parameter>
          </Parameters>
        </Predicate>
        <Predicate Id="Uppercase" Method="IncludesCharacters">
          <UserHelpText>an uppercase letter</UserHelpText>
          <Parameters>
            <Parameter Id="CharacterSet">A-Z</Parameter>
          </Parameters>
        </Predicate>
        <Predicate Id="Number" Method="IncludesCharacters">
          <UserHelpText>a digit</UserHelpText>
          <Parameters>
            <Parameter Id="CharacterSet">0-9</Parameter>
          </Parameters>
        </Predicate>
        <Predicate Id="Symbol" Method="IncludesCharacters">
          <UserHelpText>a symbol</UserHelpText>
          <Parameters>
            <Parameter Id="CharacterSet">@#$%^&amp;*\-_+=[]{}|\\:',.?/`~"();!</Parameter>
          </Parameters>
        </Predicate>
      </Predicates>
    <!-- 
    </BuildingBlocks>-->
    
  5. Adicione as seguintes validações de predicados ao elemento BuildingBlocks , imediatamente após o </Predicates> fechamento do elemento:

    <!-- 
    <BuildingBlocks>-->
      <PredicateValidations>
        <PredicateValidation Id="CustomPassword">
          <PredicateGroups>
            <PredicateGroup Id="LengthGroup">
              <PredicateReferences MatchAtLeast="1">
                <PredicateReference Id="LengthRange" />
              </PredicateReferences>
            </PredicateGroup>
            <PredicateGroup Id="CharacterClasses">
              <UserHelpText>The password must have at least 3 of the following:</UserHelpText>
              <PredicateReferences MatchAtLeast="3">
                <PredicateReference Id="Lowercase" />
                <PredicateReference Id="Uppercase" />
                <PredicateReference Id="Number" />
                <PredicateReference Id="Symbol" />
              </PredicateReferences>
            </PredicateGroup>
          </PredicateGroups>
        </PredicateValidation>
      </PredicateValidations>
    <!-- 
    </BuildingBlocks>-->
    

Desativar palavra-passe forte

Os perfis técnicos a seguir são perfis técnicos do Ative Directory, que leem e gravam dados no Microsoft Entra ID. Substitua esses perfis técnicos no arquivo de extensão. Use PersistedClaims para desativar a política de senha forte. Encontre o elemento ClaimsProviders . Adicione os seguintes provedores de declarações da seguinte maneira:

<!-- 
<ClaimsProviders>-->
  <ClaimsProvider>
    <DisplayName>Azure Active Directory</DisplayName>
    <TechnicalProfiles>
      <TechnicalProfile Id="AAD-UserWriteUsingLogonEmail">
        <PersistedClaims>
          <PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration, DisableStrongPassword"/>
        </PersistedClaims>
      </TechnicalProfile>
      <TechnicalProfile Id="AAD-UserWritePasswordUsingObjectId">
        <PersistedClaims>
          <PersistedClaim ClaimTypeReferenceId="passwordPolicies" DefaultValue="DisablePasswordExpiration, DisableStrongPassword"/>
        </PersistedClaims>
      </TechnicalProfile>
    </TechnicalProfiles>
  </ClaimsProvider>
<!-- 
</ClaimsProviders>-->

Se você usar a política de entrada baseada em nome de usuário, atualize os AAD-UserWriteUsingLogonEmailperfis , AAD-UserWritePasswordUsingObjectIde LocalAccountWritePasswordUsingObjectId técnico com a política DisableStrongPassword.

Salve o arquivo de política.

Testar a política

Carregar os ficheiros

  1. Inicie sessão no portal do Azure.
  2. Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para seu locatário do Azure AD B2C no menu Diretórios + assinaturas .
  3. Escolha Todos os serviços no canto superior esquerdo do portal do Azure e, em seguida, procure e selecione Azure AD B2C.
  4. Selecione Identity Experience Framework.
  5. Na página Políticas Personalizadas, selecione Política de Carregamento.
  6. Selecione Substituir a política, se ela existir, e procure e selecione o arquivo TrustFrameworkExtensions.xml .
  7. Selecione Carregar.

Executar a política

  1. Abra a política de inscrição ou entrada, como B2C_1A_signup_signin.
  2. Em Aplicativo, selecione o aplicativo que você registrou anteriormente. Para ver o token, o URL de resposta deve mostrar https://jwt.ms.
  3. Selecione Executar agora.
  4. Selecione Inscrever-se agora, insira um endereço de e-mail e insira uma nova senha. São apresentadas orientações sobre restrições de palavra-passe. Termine de inserir as informações do usuário e selecione Criar. Você deve ver o conteúdo do token que foi retornado.

Próximos passos