Compartir a través de


Configuración de los requisitos de complejidad para contraseñas en Azure Active Directory B2C

Importante

A partir del 1 de mayo de 2025, Azure AD B2C ya no estará disponible para ser adquirido por nuevos clientes. Obtenga más información en nuestras preguntas más frecuentes.

Antes de empezar, use el selector Elegir un tipo de directiva en la parte superior de esta página para elegir el tipo de directiva que está configurando. Azure Active Directory B2C ofrece dos métodos para definir cómo interactúan los usuarios con las aplicaciones: a través de flujos de usuario predefinidos o mediante directivas personalizadas totalmente configurables. Los pasos necesarios en este artículo son diferentes para cada método.

Azure Active Directory B2C (Azure AD B2C) admite el cambio de los requisitos de complejidad de las contraseñas proporcionadas por un usuario final al crear una cuenta. De forma predeterminada, Azure AD B2C usa contraseñas seguras . Azure AD B2C también admite opciones de configuración para controlar la complejidad de las contraseñas que los clientes pueden usar.

Prerrequisitos

Aplicación de reglas de contraseña

Durante el registro o el restablecimiento de contraseña, un usuario final debe proporcionar una contraseña que cumpla con las reglas de complejidad. Las reglas de complejidad de contraseñas se aplican por flujo de usuario. Es posible que un flujo de usuario requiera un pin de cuatro dígitos durante el registro, mientras que otro flujo de usuario requiere una cadena de ocho caracteres durante el registro. Por ejemplo, puede utilizar un flujo de usuario con una complejidad de contraseña diferente para adultos que para niños.

La complejidad de la contraseña nunca se aplica durante el inicio de sesión. Durante el inicio de sesión, nunca se pide a los usuarios que cambien su contraseña porque no cumple el requisito de complejidad actual.

Puede configurar la complejidad de las contraseñas en los siguientes tipos de flujos de usuario:

  • Flujo de usuario de registro o inicio de sesión
  • Flujo de usuario de restablecimiento de contraseña

Si usa políticas personalizadas, puede configurar la complejidad de las contraseñas en una política personalizada.

Configurar la complejidad de las contraseñas

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar a su inquilino de Azure AD B2C desde el menú Directorios y suscripciones.
  3. En Azure Portal, busque y seleccione Azure AD B2C.
  4. Seleccione Flujos de usuario.
  5. Seleccione un flujo de usuario y, a continuación, seleccione Propiedades.
  6. En Complejidad de la contraseña, cambie la complejidad de la contraseña para este flujo de usuario a Simple, Seguro o Personalizado.

Cuadro comparativo

Complejidad Descripción
Sencillo Una contraseña que tenga al menos entre 8 y 64 caracteres.
Alta Una contraseña que tenga al menos entre 8 y 64 caracteres. Requiere 3 de 4 de minúsculas, mayúsculas, números o símbolos.
Personalizado Esta opción proporciona el mayor control sobre las reglas de complejidad de las contraseñas. Permite configurar una longitud personalizada. También permite aceptar contraseñas de solo número (pin).

Opciones personalizadas

Juego de caracteres

Permite aceptar solo dígitos (PIN) o el juego completo de caracteres.

  • Solo números permite solo dígitos (0-9) al ingresar una contraseña.
  • Todo permite cualquier letra, número o símbolo.

Largura

Permite controlar los requisitos de longitud de la contraseña.

  • La longitud mínima debe ser de al menos 4.
  • La longitud máxima debe ser mayor o igual que la longitud mínima y, como máximo, puede ser de 256 caracteres.

Clases de caracteres

Permite controlar los diferentes tipos de caracteres utilizados en la contraseña.

  • 2 de 4: Carácter en minúsculas, Carácter en mayúsculas, Número (0-9), Símbolo garantiza que la contraseña contenga al menos dos tipos de caracteres. Por ejemplo, un número y un carácter en minúsculas.

  • 3 de 4: Carácter en minúsculas, Carácter en mayúsculas, Número (0-9), Símbolo garantiza que la contraseña contenga al menos tres tipos de caracteres. Por ejemplo, un número, un carácter en minúsculas y un carácter en mayúsculas.

  • 4 de 4: caracteres en minúsculas, caracteres en mayúsculas, Número (0-9), Symbol garantiza que la contraseña contenga los cuatro tipos de caracteres.

    Nota:

    Requerir 4 de 4 puede resultar en frustración para el usuario final. Algunos estudios han demostrado que este requisito no mejora la entropía de las contraseñas. Consulte las pautas de contraseñas del NIST

Validación de predicados de contraseña

Para configurar la complejidad de la contraseña, reemplace los newPassword de reenterPassword y por una referencia a las validaciones de predicado. El elemento PredicateValidations agrupa un conjunto de predicados para crear una validación de entrada para datos de usuario que puede aplicarse a un tipo de reclamación. Abra el archivo de extensiones de su política. Por ejemplo: SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Busque el elemento BuildingBlocks . Si el elemento no existe, agréguelo.

  2. Busque el elemento ClaimsSchema . Si el elemento no existe, agréguelo.

  3. Agregue las notificaciones newPassword y reenterPassword al elemento ClaimsSchema.

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Predicados definen una validación básica para comprobar el valor de un tipo de reclamación y devuelven verdadero o falso. La validación se realiza mediante un elemento de método especificado y un conjunto de parámetros relevantes para el método. Agregue los siguientes predicados al elemento BuildingBlocks , inmediatamente después del cierre del </ClaimsSchema> 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. Agregue las siguientes validaciones de predicado al elemento BuildingBlocks , inmediatamente después del cierre del </Predicates> 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>-->
    

Desactivar contraseña segura

Los siguientes perfiles técnicos son perfiles técnicos de Active Directory, que leen y escriben datos en Microsoft Entra ID. Invalide estos perfiles técnicos en el archivo de extensión. Utilícelo PersistedClaims para desactivar la política de contraseñas seguras. Busque el elemento ClaimsProviders. Agregue los siguientes proveedores de declaraciones de la siguiente manera:

<!-- 
<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>-->

Si usa la directiva de inicio de sesión basada en nombre de usuario, actualice los perfiles técnicos AAD-UserWriteUsingLogonEmail, AAD-UserWritePasswordUsingObjectId y LocalAccountWritePasswordUsingObjectId con la directiva DisableStrongPassword.

Guarde el archivo de directiva.

Prueba de la directiva

Carga de los archivos

  1. Inicie sesión en Azure Portal.
  2. Si tiene acceso a varios inquilinos, seleccione el icono Configuración en el menú superior para cambiar a su inquilino de Azure AD B2C desde el menú Directorios y suscripciones.
  3. Elija Todos los servicios en la esquina superior izquierda de Azure Portal y busque y seleccione Azure AD B2C.
  4. Seleccione Marco de experiencia de identidad.
  5. En la página Directivas personalizadas, seleccione Directiva de carga.
  6. Seleccione Sobrescribir la política si existe, y busque y seleccione el archivo TrustFrameworkExtensions.xml.
  7. Seleccione Cargar.

Ejecuta la política

  1. Abra la política de registro o inicio de sesión, como B2C_1A_signup_signin.
  2. En Aplicación, seleccione la aplicación que registró anteriormente. Para ver el token, la dirección URL de respuesta debe mostrar https://jwt.ms.
  3. Seleccione Ejecutar ahora.
  4. Seleccione Registrarse ahora, ingrese una dirección de correo electrónico e ingrese una nueva contraseña. Se presenta orientación sobre las restricciones de contraseñas. Termine de escribir la información del usuario y, a continuación, seleccione Crear. Debería ver el contenido del token que se devolvió.