Konfigurowanie wymagań dotyczących złożoności haseł w usłudze Azure Active Directory B2C

Przed rozpoczęciem użyj selektora Wybierz typ zasad, aby wybrać typ konfigurowanych zasad. Usługa Azure Active Directory B2C oferuje dwie metody definiowania sposobu interakcji użytkowników z aplikacjami: za pomocą wstępnie zdefiniowanych przepływów użytkowników lub w pełni konfigurowalnych zasad niestandardowych. Kroki wymagane w tym artykule są różne dla każdej metody.

Usługa Azure Active Directory B2C (Azure AD B2C) obsługuje zmianę wymagań dotyczących złożoności haseł dostarczonych przez użytkownika końcowego podczas tworzenia konta. Domyślnie usługa Azure AD B2C używa silnych haseł. Usługa Azure AD B2C obsługuje również opcje konfiguracji w celu kontrolowania złożoności haseł, których klienci mogą używać.

Wymagania wstępne

Wymuszanie reguł haseł

Podczas rejestracji lub resetowania hasła użytkownik końcowy musi podać hasło spełniające reguły złożoności. Reguły złożoności hasła są wymuszane dla przepływu użytkownika. Istnieje możliwość, że jeden przepływ użytkownika wymaga czterocyfrowego numeru PIN podczas rejestracji, podczas gdy inny przepływ użytkownika wymaga ośmiu znaków ciągu podczas rejestracji. Na przykład możesz użyć przepływu użytkownika z inną złożonością hasła dla dorosłych niż dla dzieci.

Złożoność hasła nigdy nie jest wymuszana podczas logowania. Użytkownicy nigdy nie są monitowani podczas logowania, aby zmienić hasło, ponieważ nie spełnia ono bieżącego wymagania dotyczącego złożoności.

Złożoność hasła można skonfigurować w następujących typach przepływów użytkownika:

  • Przepływ rejestracji lub logowania użytkownika
  • Przepływ użytkownika resetowania hasła

Jeśli używasz zasad niestandardowych, możesz skonfigurować złożoność hasła w zasadach niestandardowych.

Konfigurowanie złożoności hasła

  1. Zaloguj się w witrynie Azure Portal.
  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się do dzierżawy usługi Azure AD B2C z menu Katalogi i subskrypcje.
  3. W witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
  4. Wybierz pozycję Przepływy użytkownika.
  5. Wybierz przepływ użytkownika, a następnie kliknij pozycję Właściwości.
  6. W obszarze Złożoność hasła zmień złożoność hasła dla tego przepływu użytkownika na Proste, Silne lub Niestandardowe.

Porównanie

Złożoności opis
Prosty Hasło, które ma od 8 do 64 znaków.
Silna Hasło, które ma od 8 do 64 znaków. Wymaga 3 na 4 małych liter, wielkich liter, cyfr lub symboli.
Okres niestandardowy Ta opcja zapewnia największą kontrolę nad regułami złożoności haseł. Umożliwia skonfigurowanie niestandardowej długości. Umożliwia również akceptowanie haseł tylko z liczbą (numerów PIN).

Opcje niestandardowe

Zestaw znaków

Umożliwia akceptowanie tylko cyfr (pinezek) lub pełnego zestawu znaków.

  • Liczby zezwalają tylko na cyfry (0–9) podczas wprowadzania hasła.
  • Wszystkie zezwalają na dowolną literę, cyfrę lub symbol.

Długość

Umożliwia kontrolowanie wymagań dotyczących długości hasła.

  • Minimalna długość musi wynosić co najmniej 4.
  • Maksymalna długość musi być większa lub równa minimalnej długości, a maksymalnie może wynosić 256 znaków.

Klasy znaków

Umożliwia kontrolowanie różnych typów znaków używanych w haśle.

  • 2 z 4: Małe litery, wielkie litery, Liczba (0–9), Symbol zapewnia, że hasło zawiera co najmniej dwa typy znaków. Na przykład liczba i małe litery.

  • 3 z 4: Małe litery, wielkie litery, liczba (0–9), Symbol zapewnia, że hasło zawiera co najmniej trzy typy znaków. Na przykład liczba, małe litery i wielkie litery.

  • 4 z 4: Małe litery, wielkie litery, Liczba (0–9), Symbol zapewnia, że hasło zawiera wszystkie typy znaków.

    Uwaga

    Wymaganie 4 z 4 może spowodować frustrację użytkowników końcowych. Niektóre badania wykazały, że to wymaganie nie poprawia entropii haseł. Zobacz Wytyczne dotyczące haseł NIST

Walidacja predykatu hasła

Aby skonfigurować złożoność hasła, zastąp newPassword typy oświadczeń ireenterPassword odwołaniem do weryfikacji predykatu. Element PredicateValidations grupuje zestaw predykatów w celu utworzenia weryfikacji danych wejściowych użytkownika, które można zastosować do typu oświadczenia. Otwórz plik rozszerzeń zasad. Na przykład SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Wyszukaj element BuildingBlocks. Jeśli element nie istnieje, dodaj go.

  2. Znajdź element ClaimsSchema . Jeśli element nie istnieje, dodaj go.

  3. newPassword Dodaj oświadczenia i reenterPassword do elementu ClaimsSchema.

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Predykaty definiują podstawową walidację w celu sprawdzenia wartości typu oświadczenia i zwraca wartość true lub false. Walidacja odbywa się przy użyciu określonego elementu metody i zestawu parametrów istotnych dla metody. Dodaj następujące predykaty do elementu BuildingBlocks bezpośrednio po zamknięciu </ClaimsSchema> elementu:

    <!-- 
    <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. Dodaj następujące predykat weryfikacje do elementu BuildingBlocks bezpośrednio po zamknięciu </Predicates> elementu:

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

Wyłączanie silnego hasła

Poniższe profile techniczne to profile techniczne usługi Active Directory, które odczytują i zapisują dane w identyfikatorze Entra firmy Microsoft. Zastąpij te profile techniczne w pliku rozszerzenia. Użyj PersistedClaims polecenia , aby wyłączyć silne zasady haseł. Znajdź element ClaimsProviders. Dodaj następujących dostawców oświadczeń w następujący sposób:

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

Jeśli używasz zasad logowania opartego na nazwie użytkownika, zaktualizuj AAD-UserWriteUsingLogonEmailprofile techniczne , AAD-UserWritePasswordUsingObjectIdi LocalAccountWritePasswordUsingObjectId przy użyciu zasad DisableStrongPassword.

Zapisz plik zasad.

Przetestuj swoje zasady

Przekazywanie plików

  1. Zaloguj się w witrynie Azure Portal.
  2. Jeśli masz dostęp do wielu dzierżaw, wybierz ikonę Ustawienia w górnym menu, aby przełączyć się do dzierżawy usługi Azure AD B2C z menu Katalogi i subskrypcje.
  3. Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.
  4. Wybierz pozycję Identity Experience Framework(Struktura obsługi tożsamości).
  5. Na stronie Zasady niestandardowe wybierz pozycję Przekaż zasady.
  6. Wybierz pozycję Zastąp zasady, jeśli istnieje, a następnie wyszukaj i wybierz plik TrustFrameworkExtensions.xml .
  7. Wybierz opcję Prześlij.

Uruchamianie zasad

  1. Otwórz zasady rejestracji lub logowania, takie jak B2C_1A_signup_signin.
  2. W polu Aplikacja wybierz aplikację, która została wcześniej zarejestrowana. Aby wyświetlić token, adres URL odpowiedzi powinien zawierać wartość https://jwt.ms.
  3. Wybierz opcję Uruchom teraz.
  4. Wybierz pozycję Zarejestruj się teraz, wprowadź adres e-mail i wprowadź nowe hasło. Wskazówki są prezentowane na temat ograniczeń haseł. Zakończ wprowadzanie informacji o użytkowniku, a następnie wybierz pozycję Utwórz. Powinna zostać wyświetlona zawartość zwróconego tokenu.

Następne kroki