Complexiteitsvereisten voor wachtwoorden configureren in Azure Active Directory B2C

Voordat u begint, gebruikt u de selector Een beleidstype kiezen om het type beleid te kiezen dat u instelt. U kunt in Azure Active Directory B2C op twee manieren definiëren hoe gebruikers met uw toepassingen communiceren: via vooraf gedefinieerde gebruikersstromen of via volledig configureerbaar aangepast beleid. De stappen die in dit artikel zijn vereist, verschillen voor elke methode.

Azure Active Directory B2C (Azure AD B2C) ondersteunt het wijzigen van de complexiteitsvereisten voor wachtwoorden die door een eindgebruiker worden verstrekt bij het maken van een account. Azure AD B2C maakt standaard gebruik van sterke wachtwoorden. Azure AD B2C ondersteunt ook configuratieopties om de complexiteit van wachtwoorden te beheren die klanten kunnen gebruiken.

Vereisten

Afdwingen van wachtwoordregels

Tijdens het registreren of opnieuw instellen van wachtwoorden moet een eindgebruiker een wachtwoord opgeven dat voldoet aan de complexiteitsregels. Regels voor wachtwoordcomplexiteit worden afgedwongen per gebruikersstroom. Het is mogelijk dat voor één gebruikersstroom een pincode van vier cijfers is vereist tijdens het registreren, terwijl voor een andere gebruikersstroom een tekenreeks van acht tekens is vereist tijdens de registratie. U kunt bijvoorbeeld een gebruikersstroom met een andere wachtwoordcomplexiteit gebruiken voor volwassenen dan voor kinderen.

Wachtwoordcomplexiteit wordt nooit afgedwongen tijdens het aanmelden. Gebruikers worden nooit gevraagd tijdens het aanmelden om hun wachtwoord te wijzigen, omdat het niet voldoet aan de huidige complexiteitsvereiste.

U kunt wachtwoordcomplexiteit configureren in de volgende typen gebruikersstromen:

  • Gebruikersstroom voor registreren of aanmelden
  • Gebruikersstroom voor wachtwoord opnieuw instellen

Als u aangepast beleid gebruikt, kunt u wachtwoordcomplexiteit configureren in een aangepast beleid.

Wachtwoordcomplexiteit gebruiken

  1. Meld u aan bij de Azure-portal.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Azure AD B2C-tenant in het menu Mappen en abonnementen.
  3. Zoek en selecteer Azure AD B2C in de Azure-portal.
  4. Selecteer de Gebruikersstromen.
  5. Selecteer een gebruikersstroom en klik op Eigenschappen.
  6. Wijzig onder Wachtwoordcomplexiteit de wachtwoordcomplexiteit voor deze gebruikersstroom in Eenvoudig, Sterk of Aangepast.

Vergelijkingsgrafiek

Complexiteit Omschrijving
Eenvoudig Een wachtwoord van ten minste 8 tot 64 tekens.
Sterk Een wachtwoord van ten minste 8 tot 64 tekens. Hiervoor zijn 3 van de vier kleine letters, hoofdletters, getallen of symbolen vereist.
Aanpassen Deze optie biedt de meeste controle over regels voor wachtwoordcomplexiteit. Hiermee kunt u een aangepaste lengte configureren. Hiermee kunt u ook wachtwoorden met alleen nummers (pinnen) accepteren.

Aangepaste opties

Tekenset

Hiermee kunt u alleen cijfers (pinnen) of de volledige tekenset accepteren.

  • Met getallen kunnen alleen cijfers (0-9) worden toegestaan tijdens het invoeren van een wachtwoord.
  • Alle staat elke letter, cijfer of symbool toe.

Lengte

Hiermee kunt u de lengtevereisten van het wachtwoord bepalen.

  • De minimale lengte moet ten minste 4 zijn.
  • De maximale lengte moet groter of gelijk zijn aan de minimumlengte en maximaal 256 tekens zijn.

Tekenklassen

Hiermee kunt u de verschillende tekentypen beheren die in het wachtwoord worden gebruikt.

  • 2 van 4: Kleine letters, hoofdletters, getal (0-9), symbool zorgt ervoor dat het wachtwoord ten minste twee tekentypen bevat. Bijvoorbeeld een getal en een kleine letter.

  • 3 van 4: Kleine letters, hoofdletters, getal (0-9), symbool zorgt ervoor dat het wachtwoord ten minste drie tekentypen bevat. Bijvoorbeeld een getal, een kleine letter en een hoofdletter.

  • 4 van 4: Kleine letters, hoofdletters, getal (0-9), symbool zorgt ervoor dat het wachtwoord alle voor tekentypen bevat.

    Notitie

    Het vereisen van 4 van 4 kan leiden tot frustratie van eindgebruikers. Sommige studies hebben aangetoond dat deze vereiste de wachtwoord-entropie niet verbetert. Zie NIST-wachtwoordrichtlijnen

Validatie van wachtwoordpredicaat

Als u de complexiteit van het wachtwoord wilt configureren, overschrijft u de newPassword en reenterPasswordclaimtypen met een verwijzing naar predicaatvalidaties. Het element PredicateValidations groepeert een set predicaten om een gebruikersinvoervalidatie te vormen die kan worden toegepast op een claimtype. Open het uitbreidingsbestand van uw beleid. Bijvoorbeeld SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Zoek element BuildingBlocks. Als het element niet aanwezig is, voegt u het toe.

  2. Zoek naar het element ClaimsSchema. Als het element niet aanwezig is, voegt u het toe.

  3. Voeg de newPassword en reenterPassword claims toe aan het element ClaimsSchema .

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Predicaten definiëren een basisvalidatie om de waarde van een claimtype te controleren en retourneert waar of onwaar. De validatie wordt uitgevoerd met behulp van een opgegeven methode-element en een set parameters die relevant zijn voor de methode. Voeg de volgende predicaten toe aan het element BuildingBlocks , direct na het sluiten van het </ClaimsSchema> element:

    <!-- 
    <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. Voeg de volgende predicaatvalidaties toe aan het element BuildingBlocks , direct na het sluiten van het </Predicates> element:

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

Sterk wachtwoord uitschakelen

De volgende technische profielen zijn Active Directory-technische profielen, die gegevens lezen en schrijven naar Microsoft Entra-id. Overschrijf deze technische profielen in het uitbreidingsbestand. Gebruik PersistedClaims dit om het sterke wachtwoordbeleid uit te schakelen. Ga naar het element ClaimsProviders. Voeg de volgende claimproviders als volgt toe:

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

Als u het aanmeldingsbeleid op basis van gebruikersnaam gebruikt, werkt u de AAD-UserWriteUsingLogonEmail, AAD-UserWritePasswordUsingObjectIden LocalAccountWritePasswordUsingObjectId technische profielen bij met het beleid DisableStrongPassword .

Sla het beleidsbestand op.

Uw beleid testen

De bestanden uploaden

  1. Meld u aan bij de Azure-portal.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Azure AD B2C-tenant in het menu Mappen en abonnementen.
  3. Kies Alle services linksboven in de Azure Portal, zoek Azure AD B2C en selecteer deze.
  4. Selecteer Identity Experience Framework.
  5. Selecteer Beleid uploaden op de pagina Aangepast beleid.
  6. Selecteer Overschrijf het beleid als het bestaat en ga vervolgens naar het bestand TrustFrameworkExtensions.xml en selecteer dit.
  7. Selecteer Uploaden.

Het beleid uitvoeren

  1. Open het registratie- of aanmeldingsbeleid, zoals B2C_1A_signup_signin.
  2. Selecteer voor Toepassing de toepassing die u eerder hebt geregistreerd. Als u het token wilt zien, moet de antwoord-URL worden weergegevenhttps://jwt.ms.
  3. Selecteer Nu uitvoeren.
  4. Selecteer Nu registreren, voer een e-mailadres in en voer een nieuw wachtwoord in. Richtlijnen worden weergegeven voor wachtwoordbeperkingen. Voltooi het invoeren van de gebruikersgegevens en selecteer Vervolgens Maken. De inhoud van het geretourneerde token wordt nu weergegeven.

Volgende stappen