Sdílet prostřednictvím


Konfigurace požadavků na složitost hesel v Azure Active Directory B2C

Důležité

Od 1. května 2025 už nebude Azure AD B2C k dispozici k nákupu pro nové zákazníky. Další informace najdete v našich nejčastějších dotazech.

Než začnete, pomocí selektoru Zvolit typ zásady v horní části této stránky zvolte typ zásady, kterou nastavujete. Azure Active Directory B2C nabízí dvě metody pro definování způsobu interakce uživatelů s vašimi aplikacemi: prostřednictvím předdefinovaných toků uživatelů nebo prostřednictvím plně konfigurovatelných vlastních zásad. Kroky vyžadované v tomto článku se pro každou metodu liší.

Azure Active Directory B2C (Azure AD B2C) podporuje změnu složitých požadavků na hesla poskytnutá koncovým uživatelem při vytváření účtu. Azure AD B2C ve výchozím nastavení používá silná hesla. Azure AD B2C také podporuje možnosti konfigurace pro řízení složitosti hesel, která můžou zákazníci používat.

Požadavky

Vynucení pravidla hesla

Při registraci nebo resetování hesla musí koncový uživatel zadat heslo, které splňuje pravidla složitosti. Pravidla složitosti hesel se vynucují pro každý uživatelský tok. Jeden tok uživatele může během registrace vyžadovat čtyřmístný pin kód, zatímco jiný tok uživatele vyžaduje během registrace osmimístný řetězec. Můžete například použít uživatelské prostředí s různou složitostí hesla pro dospělé ve srovnání s dětmi.

Složitost hesla se při přihlašování nikdy nevynucuje. Uživatelé nejsou při přihlášení nikdy vyzváni ke změně hesla, protože jejich heslo nesplňuje aktuální požadavek na složitost.

Složitost hesla můžete nakonfigurovat v následujících typech toků uživatelů:

  • Tok registrace nebo přihlášení uživatele
  • Proces resetování hesla uživatele

Pokud používáte vlastní zásady, můžete nakonfigurovat složitost hesla ve vlastních zásadách.

Konfigurace složitosti hesla

  1. Přihlaste se do Azure Portalu.
  2. Pokud máte přístup k více tenantům, vyberte ikonu Nastavení v horní nabídce a přepněte se do svého tenanta Azure AD B2C z nabídky Adresáře + předplatná.
  3. Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.
  4. Vyberte toky uživatelů.
  5. Vyberte tok uživatele a vyberte Vlastnosti.
  6. V části Složitost hesla změňte složitost hesla pro tento tok uživatele na Jednoduchý, Silný nebo Vlastní.

Srovnávací graf

Komplexnost Popis
Stručně Heslo, které je alespoň 864 znaků.
Silný Heslo, které je alespoň 864 znaků. Vyžaduje 3 z 4 kategorií: malá písmena, velká písmena, čísla nebo symboly.
Na zakázku Tato možnost poskytuje největší kontrolu nad pravidly složitosti hesel. Umožňuje konfigurovat vlastní délku. Umožňuje také přijímat hesla jen pro čísla (špendlíky).

Vlastní možnosti

Znaková sada

Umožňuje přijímat pouze číslice (PINy) nebo úplnou sadu znaků.

  • Pouze čísla umožňuje při zadávání hesla pouze číslice (0–9).
  • Všechny umožňují libovolné písmeno, číslo nebo symbol.

Délka

Umožňuje řídit požadavky na délku hesla.

  • Minimální délka musí být minimálně 4.
  • Maximální délka musí být větší nebo rovna minimální délce a maximálně může mít 256 znaků.

Třídy znaků

Umožňuje řídit různé typy znaků používané v hesle.

  • 2 z 4: Malá písmena, Velká písmena, Číslo (0-9), Symbol zajišťuje, že heslo obsahuje aspoň dva typy znaků. Například číslo a malá písmena.

  • 3 z 4: Malá písmena, Velká písmena, Číslo (0-9), Symbol zajišťuje, že heslo obsahuje aspoň tři typy znaků. Například číslo, malá písmena a velká písmena.

  • 4 z 4: Malá písmena, Velká písmena, Číslo (0–9), Symbol zajišťuje, že heslo obsahuje všechny čtyři typy znaků.

    Poznámka:

    Vyžadování 4 ze 4 může vést k frustraci koncových uživatelů. Některé studie ukázaly, že tento požadavek nezlepší entropii hesel. Viz pokyny pro hesla NIST

Ověření predikátu hesla

Pokud chcete nakonfigurovat složitost hesla, přepište newPasswordreenterPasswordtypy deklarací s odkazem na ověřování predikátu. Element PredicateValidations seskupí sadu predikátů k vytvoření ověření uživatelského vstupu, které lze použít na typ nároku. Otevřete soubor s rozšířeními zásad. Například: SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Vyhledejte prvek BuildingBlocks. Pokud prvek neexistuje, přidejte ho.

  2. Vyhledejte prvek ClaimsSchema. Pokud prvek neexistuje, přidejte ho.

  3. Přidejte nároky newPassword a reenterPassword do elementu ClaimsSchema.

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Predikáty definují základní ověření, které kontroluje hodnotu typu tvrzení a vrací true nebo false. Ověření se provádí pomocí zadaného prvku metody a sady parametrů relevantních pro metodu. Přidejte následující predikáty do elementu BuildingBlocks bezprostředně za uzavření elementu </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. Přidejte následující ověření predikátu do elementu BuildingBlocks bezprostředně za uzavření elementu </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>-->
    

Zakázání silného hesla

Následující technické profily jsou technické profily služby Active Directory, které čtou a zapisují data do Microsoft Entra ID. Přepište tyto technické profily v konfiguračním souboru rozšíření. Použijte PersistedClaims k zakázání zásad silného hesla. Vyhledejte element ClaimsProviders . Následujícím způsobem přidejte následující zprostředkovatele deklarací identity:

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

Pokud používáte zásady přihlašování založené na uživatelském jménu, aktualizujte AAD-UserWriteUsingLogonEmailprofily a AAD-UserWritePasswordUsingObjectIdLocalAccountWritePasswordUsingObjectIdtechnické profily pomocí zásad DisableStrongPassword.

Uložte soubor zásad.

Otestujte svou zásadu

Nahrání souborů

  1. Přihlaste se do Azure Portalu.
  2. Pokud máte přístup k více tenantům, vyberte ikonu Nastavení v horní nabídce a přepněte se do svého tenanta Azure AD B2C z nabídky Adresáře + předplatná.
  3. V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
  4. Vyberte Architekturu prostředí identit.
  5. Na stránce Vlastní politiky vyberte Nahrát politiku.
  6. Vyberte Přepsat existující zásadu, a pak vyhledejte a vyberte souborTrustFrameworkExtensions.xml.
  7. Vyberte Nahrát.

Spusťte zásady

  1. Otevřete zásady registrace nebo přihlášení, například B2C_1A_signup_signin.
  2. V případě aplikace vyberte aplikaci, kterou jste předtím zaregistrovali. Aby se zobrazil token, měla by se zobrazit https://jwt.ms .
  3. Vyberte Spustit.
  4. Vyberte Zaregistrovat se, zadejte e-mailovou adresu a zadejte nové heslo. Pokyny jsou uvedeny v omezeních hesel. Dokončete zadávání informací o uživateli a pak vyberte Vytvořit. Měl by se zobrazit obsah vráceného tokenu.