Partager via


Configurer les exigences de complexité pour les mots de passe dans Azure Active Directory B2C

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

Avant de commencer, utilisez le sélecteur Choisir un type de stratégie en haut de cette page pour choisir le type de stratégie que vous configurez. Azure Active Directory B2C offre deux possibilités pour définir la façon dont les utilisateurs interagissent avec vos applications : via des flux utilisateurs prédéfinis ou via des stratégies personnalisées entièrement configurables. La procédure donnée dans cet article est différente pour chaque méthode.

Azure Active Directory B2C (Azure AD B2C) prend en charge la modification des exigences de complexité des mots de passe fournis par un utilisateur final lors de la création d’un compte. Par défaut, Azure AD B2C utilise des mots de passe forts . Azure AD B2C prend également en charge les options de configuration pour contrôler la complexité des mots de passe que les clients peuvent utiliser.

Conditions préalables

Application des règles de mot de passe

Lors de l’inscription ou de la réinitialisation du mot de passe, un utilisateur final doit fournir un mot de passe qui répond aux règles de complexité. Les règles de complexité des mots de passe sont appliquées par flux d’utilisateurs. Il est possible qu’un flux d’utilisateurs nécessite un code PIN à quatre chiffres lors de l’inscription, tandis qu’un autre flux d’utilisateurs nécessite une chaîne de huit caractères lors de l’inscription. Par exemple, vous pouvez utiliser un flux d’utilisateurs avec une complexité de mot de passe différente pour les adultes et pour les enfants.

La complexité du mot de passe n’est jamais appliquée lors de la connexion. Lors de la connexion, les utilisateurs ne sont jamais invités à modifier leur mot de passe, car il ne répond pas à l’exigence de complexité actuelle.

Vous pouvez configurer la complexité des mots de passe dans les types de flux d’utilisateurs suivants :

  • Flux d’utilisateurs d’inscription ou de connexion
  • Flux d’utilisateur de réinitialisation du mot de passe

Si vous utilisez des stratégies personnalisées, vous pouvez configurer la complexité des mots de passe dans une stratégie personnalisée.

Configurer la complexité des mots de passe

  1. Connectez-vous au portail Azure.
  2. Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Dans le portail Azure, recherchez et sélectionnez Azure AD B2C.
  4. Sélectionnez Flux utilisateur.
  5. Sélectionnez un flux d’utilisateurs, puis Propriétés.
  6. Sous Complexité du mot de passe, remplacez la complexité du mot de passe de ce flux d’utilisateurs par Simple, Fort ou Personnalisé.

Tableau comparatif

Complexité Descriptif
Simple Un mot de passe d’au moins 8 à 64 caractères.
Fort Un mot de passe d’au moins 8 à 64 caractères. Trois de ces quatre types d’éléments : minuscules, majuscules, chiffres ou symboles.
Coutume Cette option offre le meilleur contrôle sur les règles de complexité des mots de passe. Il permet de configurer une longueur personnalisée. Il permet également d’accepter les mots de passe numériques uniquement (PIN).

Options personnalisées

Jeu de caractères

Vous permet d’accepter uniquement les chiffres (codes PIN) ou l'ensemble complet de caractères.

  • Numbers n’autorise que les chiffres (0-9) lors de la saisie d’un mot de passe.
  • Tous permettent n’importe quelle lettre, chiffre ou symbole.

Longueur

Vous permet de contrôler les exigences de longueur du mot de passe.

  • La longueur minimale doit être d’au moins 4.
  • La longueur maximale doit être supérieure ou égale à la longueur minimale et ne peut comporter que 256 caractères au maximum.

Classes de caractères

Vous permet de contrôler les différents types de caractères utilisés dans le mot de passe.

  • 2 sur 4 : Caractère minuscule, Caractère majuscule, Nombre (0-9), Symbole garantit que le mot de passe contient au moins deux types de caractères. Par exemple, un nombre et un caractère minuscule.

  • 3 sur 4 : Caractère minuscule, Caractère majuscule, Nombre (0-9), Symbole garantit que le mot de passe contient au moins trois types de caractères. Par exemple, un nombre, un caractère minuscule et un caractère majuscule.

  • 4 sur 4 : caractère minuscule, caractère majuscule, Nombre (0-9), Symbole garantit que le mot de passe contient les quatre types de caractères.

    Remarque

    Exiger 4 sur 4 peut entraîner la frustration de l’utilisateur final. Certaines études ont montré que cette exigence n’améliore pas l’entropie des mots de passe. Voir les directives du NIST sur les mots de passe

Validation du prédicat de mot de passe

Pour configurer la complexité du mot de passe, remplacez les newPasswordreenterPassword et par une référence aux validations de prédicat. L’élément PredicateValidations regroupe un ensemble de prédicats pour former une validation d’entrée utilisateur qui peut être appliquée à un type de revendication. Ouvrez le fichier d’extensions de votre stratégie. Par exemple : SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Recherchez l’élément BuildingBlocks . Si l’élément n’existe pas, ajoutez-le.

  2. Recherchez l’élément ClaimsSchema . Si l’élément n’existe pas, ajoutez-le.

  3. Ajoutez les newPassword et reenterPassword demandes dans l’élément ClaimsSchema.

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Les prédicats définissent une validation de base pour vérifier la valeur d’un type de revendication et renvoient true ou false. La validation s’effectue à l’aide d’un élément de méthode spécifié et d’un ensemble de paramètres pertinents pour la méthode. Ajoutez les prédicats suivants à l’élément BuildingBlocks , immédiatement après la fermeture de l’élément </ClaimsSchema> :

    <!-- 
    <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. Ajoutez les validations de prédicat suivantes à l’élément BuildingBlocks , immédiatement après la fermeture de l’élément </Predicates> :

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

Désactiver le mot de passe fort

Les profils techniques suivants sont des profils techniques Active Directory, qui lisent et écrivent des données dans Microsoft Entra ID. Remplacez ces profils techniques dans le fichier d’extension. Utilisez PersistedClaims pour désactiver la politique de mot de passe stricte. Recherchez l’élément ClaimsProviders . Ajoutez les fournisseurs de revendications suivants comme suit :

<!-- 
<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 vous utilisez la stratégie de connexion basée sur le nom d’utilisateur, mettez à jour les profils techniques AAD-UserWriteUsingLogonEmail, AAD-UserWritePasswordUsingObjectId et LocalAccountWritePasswordUsingObjectId avec la stratégie DisableStrongPassword.

Enregistrez le fichier de stratégie.

Tester votre stratégie

Charger les fichiers

  1. Connectez-vous au portail Azure.
  2. Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Choisissez tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.
  4. Sélectionnez Identity Experience Framework.
  5. Sur la page Stratégies personnalisées, sélectionnez Télécharger la stratégie.
  6. Sélectionnez Remplacer la politique si elle existe, puis recherchez et sélectionnez le fichier TrustFrameworkExtensions.xml.
  7. Sélectionnez Téléverser.

Exécuter la stratégie

  1. Ouvrez la stratégie d’inscription ou de connexion, par exemple B2C_1A_signup_signin.
  2. Pour l’application, sélectionnez votre application que vous avez inscrite précédemment. Pour afficher le jeton, l’URL de réponse doit s’afficher https://jwt.ms.
  3. Sélectionnez Exécuter maintenant.
  4. Sélectionnez S’inscrire maintenant, entrez une adresse e-mail, puis entrez un nouveau mot de passe. Des conseils sont présentés sur les restrictions de mot de passe. Terminez d’entrer les informations de l’utilisateur, puis sélectionnez Créer. Vous devriez voir le contenu du jeton qui a été renvoyé.