Konfigurera komplexitetskrav för lösenord i Azure Active Directory B2C

Innan du börjar använder du väljaren Välj en principtyp för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller genom fullständigt konfigurerbara anpassade principer. De steg som krävs i den här artikeln skiljer sig åt för varje metod.

Azure Active Directory B2C (Azure AD B2C) har stöd för att ändra komplexitetskraven för lösenord som tillhandahålls av en slutanvändare när ett konto skapas. Som standard använder Azure AD B2C starka lösenord. Azure AD B2C har också stöd för konfigurationsalternativ för att kontrollera komplexiteten för lösenord som kunder kan använda.

Förutsättningar

Tillämpning av lösenordsregel

Under registrering eller lösenordsåterställning måste en slutanvändare ange ett lösenord som uppfyller komplexitetsreglerna. Regler för lösenordskomplexitet tillämpas per användarflöde. Det går att ha ett användarflöde som kräver en fyrsiffrig pin-kod under registreringen medan ett annat användarflöde kräver en sträng med åtta tecken under registreringen. Du kan till exempel använda ett användarflöde med olika lösenordskomplexitet för vuxna än för barn.

Lösenordskomplexitet framtvingas aldrig under inloggningen. Användare uppmanas aldrig att ändra sitt lösenord under inloggningen eftersom det inte uppfyller det aktuella komplexitetskravet.

Du kan konfigurera lösenordskomplexitet i följande typer av användarflöden:

  • Användarflöde för registrering eller inloggning
  • Användarflöde för lösenordsåterställning

Om du använder anpassade principer kan du konfigurera lösenordskomplexitet i en anpassad princip.

Konfigurera lösenordskomplexitet

  1. Logga in på Azure-portalen.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. I Azure-portalen söker du efter och väljer Azure AD B2C.
  4. Välj Användarflöden.
  5. Välj ett användarflöde och klicka på Egenskaper.
  6. Under Lösenordskomplexitet ändrar du lösenordskomplexiteten för det här användarflödet till Enkel, Stark eller Anpassad.

Jämförelsediagram

Komplexitet Description
Enkel Ett lösenord som är minst 8 till 64 tecken.
Stark Ett lösenord som är minst 8 till 64 tecken. Det kräver 3 av 4 gemener, versaler, siffror eller symboler.
Egen Det här alternativet ger mest kontroll över lösenordskomplexitetsregler. Det gör att du kan konfigurera en anpassad längd. Det tillåter också att lösenord med endast nummer accepteras (pins).

Anpassade alternativ

Teckenuppsättning

Gör att du bara kan acceptera siffror (stift) eller den fullständiga teckenuppsättningen.

  • Siffror tillåter endast siffror (0–9) när ett lösenord anges.
  • Alla tillåter valfri bokstav, siffra eller symbol.

Längd

Gör att du kan styra längdkraven för lösenordet.

  • Minsta längd måste vara minst 4.
  • Maximal längd måste vara större eller lika med minsta längd och högst 256 tecken.

Teckenklasser

Gör att du kan styra de olika teckentyperna som används i lösenordet.

  • 2 av 4: Gemener, Versaler, Tal (0-9), Symbol garanterar att lösenordet innehåller minst två teckentyper. Till exempel ett tal och ett gemener.

  • 3 av 4: Gemener, Versaler, Tal (0-9), Symbol garanterar att lösenordet innehåller minst tre teckentyper. Till exempel ett tal, ett gemener och ett versalt tecken.

  • 4 av 4: Gemener, Versaler, Tal (0-9), Symbol garanterar att lösenordet innehåller alla för teckentyper.

    Kommentar

    Att kräva 4 av 4 kan leda till slutanvändarens frustration. Vissa studier har visat att detta krav inte förbättrar lösenordsentropi. Se RIKTLINJER för NIST-lösenord

Validering av lösenordspredikat

Om du vill konfigurera lösenordskomplexiteten åsidosätter du anspråkstyperna newPassword och reenterPasswordmed en referens till predikatvalidering. Elementet PredicateValidations grupperar en uppsättning predikat för att bilda en verifiering av användarindata som kan tillämpas på en anspråkstyp. Öppna tilläggsfilen för principen. Exempel: SocialAndLocalAccounts/TrustFrameworkExtensions.xml

  1. Sök efter elementet BuildingBlocks . Om elementet inte finns lägger du till det.

  2. Leta upp elementet ClaimsSchema . Om elementet inte finns lägger du till det.

  3. Lägg till anspråken newPassword och reenterPassword i elementet ClaimsSchema .

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Predikat definierar en grundläggande validering för att kontrollera värdet för en anspråkstyp och returnerar sant eller falskt. Verifieringen görs med hjälp av ett angivet metodelement och en uppsättning parametrar som är relevanta för metoden. Lägg till följande predikat i elementet BuildingBlocks direkt efter att elementet </ClaimsSchema> har stängts:

    <!-- 
    <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. Lägg till följande predikatverifieringar i elementet BuildingBlocks direkt efter att elementet </Predicates> har stängts:

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

Inaktivera starkt lösenord

Följande tekniska profiler är Active Directory-tekniska profiler som läser och skriver data till Microsoft Entra-ID. Åsidosätt dessa tekniska profiler i tilläggsfilen. Använd PersistedClaims för att inaktivera principen för starkt lösenord. Hitta elementet ClaimsProviders . Lägg till följande anspråksproviders på följande sätt:

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

Om du använder den användarnamnsbaserade inloggningsprincipen uppdaterar du de AAD-UserWriteUsingLogonEmailtekniska profilerna , AAD-UserWritePasswordUsingObjectIdoch LocalAccountWritePasswordUsingObjectId med DisableStrongPassword-principen .

Spara principfilen.

Testa principen

Ladda upp filerna

  1. Logga in på Azure-portalen.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. Välj Alla tjänster på menyn högst upp till vänster i Azure-portalen och sök efter och välj Azure AD B2C.
  4. Välj Identity Experience Framework.
  5. På sidan Anpassade principer väljer du Ladda upp princip.
  6. Välj Skriv över principen om den finns och sök sedan efter och välj filen TrustFrameworkExtensions.xml .
  7. Välj överför.

Kör principen

  1. Öppna registrerings- eller inloggningsprincipen, till exempel B2C_1A_signup_signin.
  2. För Program väljer du det program som du registrerade tidigare. Om du vill se token ska svars-URL :en visa https://jwt.ms.
  3. Välj kör nu.
  4. Välj Registrera dig nu, ange en e-postadress och ange ett nytt lösenord. Vägledning visas om lösenordsbegränsningar. Slutför inmatningen av användarinformationen och välj sedan Skapa. Du bör se innehållet i token som returnerades.

Nästa steg