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
- Utwórz przepływ użytkownika, aby użytkownicy mogli zarejestrować się i zalogować się do aplikacji.
- Rejestrowanie aplikacji internetowej.
- Wykonaj kroki opisane w artykule Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C
- Rejestrowanie aplikacji internetowej.
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
- Zaloguj się w witrynie Azure Portal.
- 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.
- W witrynie Azure Portal wyszukaj i wybierz pozycję Azure AD B2C.
- Wybierz pozycję Przepływy użytkownika.
- Wybierz przepływ użytkownika, a następnie kliknij pozycję Właściwości.
- 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
.
Wyszukaj element BuildingBlocks. Jeśli element nie istnieje, dodaj go.
Znajdź element ClaimsSchema . Jeśli element nie istnieje, dodaj go.
newPassword
Dodaj oświadczenia ireenterPassword
do elementu ClaimsSchema.<!-- <BuildingBlocks> <ClaimsSchema> --> <ClaimType Id="newPassword"> <PredicateValidationReference Id="CustomPassword" /> </ClaimType> <ClaimType Id="reenterPassword"> <PredicateValidationReference Id="CustomPassword" /> </ClaimType> <!-- </ClaimsSchema> </BuildingBlocks>-->
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">@#$%^&*\-_+=[]{}|\\:',.?/`~"();!</Parameter> </Parameters> </Predicate> </Predicates> <!-- </BuildingBlocks>-->
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-UserWriteUsingLogonEmail
profile techniczne , AAD-UserWritePasswordUsingObjectId
i LocalAccountWritePasswordUsingObjectId
przy użyciu zasad DisableStrongPassword.
Zapisz plik zasad.
Przetestuj swoje zasady
Przekazywanie plików
- Zaloguj się w witrynie Azure Portal.
- 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.
- Wybierz pozycję Wszystkie usługi w lewym górnym rogu witryny Azure Portal, a następnie wyszukaj i wybierz usługę Azure AD B2C.
- Wybierz pozycję Identity Experience Framework(Struktura obsługi tożsamości).
- Na stronie Zasady niestandardowe wybierz pozycję Przekaż zasady.
- Wybierz pozycję Zastąp zasady, jeśli istnieje, a następnie wyszukaj i wybierz plik TrustFrameworkExtensions.xml .
- Wybierz opcję Prześlij.
Uruchamianie zasad
- Otwórz zasady rejestracji lub logowania, takie jak B2C_1A_signup_signin.
- 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
. - Wybierz opcję Uruchom teraz.
- 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
- Dowiedz się, jak skonfigurować zmianę hasła w usłudze Azure Active Directory B2C.
- Dowiedz się więcej o elementach Predykates i PredicateValidations w dokumentacji IEF.