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
- Crie um fluxo de usuários para que os usuários possam se inscrever e entrar em seu aplicativo.
- Registe uma aplicação Web.
- Conclua as etapas em Introdução às políticas personalizadas no Ative Directory B2C
- Registe uma aplicação Web.
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
- Inicie sessão no portal do Azure.
- 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 .
- No portal do Azure, procure e selecione Azure AD B2C.
- Selecione Fluxos de usuário.
- Selecione um fluxo de usuário e clique em Propriedades.
- 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 reenterPassword
declaraçã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
.
Procure o elemento BuildingBlocks . Se o elemento não existir, adicione-o.
Localize o elemento ClaimsSchema . Se o elemento não existir, adicione-o.
Adicione as
newPassword
declarações ereenterPassword
ao elemento ClaimsSchema .<!-- <BuildingBlocks> <ClaimsSchema> --> <ClaimType Id="newPassword"> <PredicateValidationReference Id="CustomPassword" /> </ClaimType> <ClaimType Id="reenterPassword"> <PredicateValidationReference Id="CustomPassword" /> </ClaimType> <!-- </ClaimsSchema> </BuildingBlocks>-->
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">@#$%^&*\-_+=[]{}|\\:',.?/`~"();!</Parameter> </Parameters> </Predicate> </Predicates> <!-- </BuildingBlocks>-->
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-UserWriteUsingLogonEmail
perfis , AAD-UserWritePasswordUsingObjectId
e LocalAccountWritePasswordUsingObjectId
técnico com a política DisableStrongPassword.
Salve o arquivo de política.
Testar a política
Carregar os ficheiros
- Inicie sessão no portal do Azure.
- 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 .
- Escolha Todos os serviços no canto superior esquerdo do portal do Azure e, em seguida, procure e selecione Azure AD B2C.
- Selecione Identity Experience Framework.
- Na página Políticas Personalizadas, selecione Política de Carregamento.
- Selecione Substituir a política, se ela existir, e procure e selecione o arquivo TrustFrameworkExtensions.xml .
- Selecione Carregar.
Executar a política
- Abra a política de inscrição ou entrada, como B2C_1A_signup_signin.
- Em Aplicativo, selecione o aplicativo que você registrou anteriormente. Para ver o token, o URL de resposta deve mostrar
https://jwt.ms
. - Selecione Executar agora.
- 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
- Saiba como Configurar a alteração de senha no Azure Ative Directory B2C.
- Saiba mais sobre os elementos Predicados e Predicados Validações na referência do IEF.