Freigeben über


Konfigurieren von Komplexitätsanforderungen für Kennwörter in Azure Active Directory B2C

Von Bedeutung

Ab dem 1. Mai 2025 steht Azure AD B2C nicht mehr für neue Kunden zur Verfügung. Weitere Informationen finden Sie in unseren HÄUFIG gestellten Fragen.

Bevor Sie beginnen, verwenden Sie die Auswahl eines Richtlinientyps oben auf dieser Seite, um den Typ der Richtlinie auszuwählen, die Sie einrichten. Azure Active Directory B2C bietet zwei Methoden zum Definieren der Benutzerinteraktion mit Ihren Anwendungen: vordefinierte Benutzerflows oder vollständig konfigurierbare benutzerdefinierte Richtlinien. Die Schritte, die in diesem Artikel erforderlich sind, unterscheiden sich für jede Methode.

Azure Active Directory B2C (Azure AD B2C) unterstützt das Ändern der Komplexitätsanforderungen für Kennwörter, die von einem Endbenutzer beim Erstellen eines Kontos bereitgestellt werden. Standardmäßig verwendet Azure AD B2C sichere Kennwörter. Azure AD B2C unterstützt auch Konfigurationsoptionen, um die Komplexität von Kennwörtern zu steuern, die Kunden verwenden können.

Voraussetzungen

Durchsetzung von Kennwortregeln

Während der Registrierungs- oder Kennwortzurücksetzung muss ein Endbenutzer ein Kennwort angeben, das den Komplexitätsregeln entspricht. Kennwortkomplexitätsregeln werden pro Benutzerablauf erzwungen. Es ist möglich, dass ein Benutzerablauf während der Registrierung eine vierstellige Pin erfordert, während ein anderer Benutzerablauf während der Registrierung eine achtstellige Zeichenfolge erfordert. Beispielsweise können Sie einen Benutzerfluss mit unterschiedlicher Kennwortkomplexität für Erwachsene als für Kinder verwenden.

Die Kennwortkomplexität wird während der Anmeldung niemals erzwungen. Benutzer werden während der Anmeldung nie aufgefordert, ihr Kennwort zu ändern, da dies nicht der aktuellen Komplexitätsanforderung entspricht.

Sie können die Kennwortkomplexität in den folgenden Arten von Benutzerflüssen konfigurieren:

  • Benutzerflow für die Registrierung oder Anmeldung
  • Benutzerflow für die Kennwortzurücksetzung

Wenn Sie benutzerdefinierte Richtlinien verwenden, können Sie die Kennwortkomplexität in einer benutzerdefinierten Richtlinie konfigurieren.

Konfigurieren der Kennwortkomplexität

  1. Melden Sie sich beim Azure-Portal an.
  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.
  3. Suchen Sie im Azure-Portal nach Azure AD B2C, und wählen Sie diese Option dann aus.
  4. Wählen Sie Benutzerflüsse aus.
  5. Wählen Sie einen Benutzerablauf aus, und wählen Sie "Eigenschaften" aus.
  6. Ändern Sie unter "Kennwortkomplexität" die Kennwortkomplexität für diesen Benutzerfluss in "Einfach", "Stark" oder "Benutzerdefiniert".

Vergleichsdiagramm

Kompliziertheit BESCHREIBUNG
Einfach Ein Kennwort mit mindestens 8 bis 64 Zeichen.
Stark Ein Kennwort mit mindestens 8 bis 64 Zeichen. Es sind 3 der 4 Zeichentypen (Kleinbuchstaben, Großbuchstaben, Zahlen oder Symbole) erforderlich.
Kundenspezifisch Diese Option bietet die größte Kontrolle über Kennwortkomplexitätsregeln. Es ermöglicht das Konfigurieren einer benutzerdefinierten Länge. Es ermöglicht auch das Akzeptieren von Nur-Nummern-Kennwörtern (Pins).

Benutzerdefinierte Optionen

Zeichensatz

Ermöglicht ihnen, nur Ziffern (Pins) oder den vollständigen Zeichensatz zu akzeptieren.

  • Nur Zahlen erlauben nur Ziffern (0-9) bei der Eingabe eines Kennworts.
  • Alle Zeichen, Buchstaben, Zahlen oder Symbole sind erlaubt.

Länge

Ermöglicht es Ihnen, die Längenanforderungen des Kennworts zu steuern.

  • Die Mindestlänge muss mindestens 4 sein.
  • Die maximale Länge muss größer oder gleich der Mindestlänge sein und darf höchstens 256 Zeichen lang sein.

Zeichenklassen

Ermöglicht es Ihnen, die verschiedenen Zeichentypen zu steuern, die im Kennwort verwendet werden.

  • 2 von 4: Kleinbuchstaben, Großbuchstaben, Zahl (0-9), Symbol stellt sicher, dass das Kennwort mindestens zwei Zeichentypen enthält. Beispielsweise eine Zahl und ein Kleinbuchstaben.

  • 3 von 4: Kleinbuchstaben, Großbuchstaben, Zahl (0-9), Symbol stellt sicher, dass das Kennwort mindestens drei Zeichentypen enthält. Beispielsweise eine Zahl, ein Kleinbuchstaben und ein Großbuchstaben.

  • 4 von 4: Kleinbuchstaben, Großbuchstaben, Zahl (0-9), Symbol stellt sicher, dass das Kennwort alle vier Zeichentypen enthält.

    Hinweis

    Die Anforderung von 4 von 4 kann zu Frustration der Endbenutzer führen. Einige Studien haben gezeigt, dass diese Anforderung die Kennwortentropie nicht verbessert. Siehe NIST-Kennwortrichtlinien

Kennwort-Prädikatüberprüfung

Um die Kennwortkomplexität zu konfigurieren, überschreiben Sie die newPasswordreenterPassword und mit einem Verweis auf Prädikatüberprüfungen. Das PredicateValidations-Element gruppiert eine Reihe von Prädikaten, um eine Benutzereingabeüberprüfung zu bilden, die auf einen Anspruchstyp angewendet werden kann. Öffnen Sie die Erweiterungsdatei Ihrer Richtlinie. Beispiel: SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Suchen Sie nach dem BuildingBlocks-Element . Wenn das Element nicht vorhanden ist, fügen Sie es hinzu.

  2. Suchen Sie das ClaimsSchema-Element . Wenn das Element nicht vorhanden ist, fügen Sie es hinzu.

  3. Fügen Sie dem newPassword die reenterPassword und Ansprüche hinzu.

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Prädikate definieren eine grundlegende Überprüfung, um den Wert eines Anspruchstyps zu überprüfen und wahr oder falsch zurückzugeben. Die Überprüfung erfolgt mithilfe eines angegebenen Methodenelements und einer Reihe von Parametern, die für die Methode relevant sind. Fügen Sie dem BuildingBlocks-Element unmittelbar nach dem Schließen des </ClaimsSchema> Elements die folgenden Prädikate hinzu:

    <!-- 
    <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. Fügen Sie dem BuildingBlocks-Element unmittelbar nach dem Schließen des </Predicates> Elements die folgenden Prädikatüberprüfungen hinzu:

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

Sicheres Kennwort deaktivieren

Die folgenden technischen Profile sind technische Active Directory-Profile, die Daten in Microsoft Entra ID lesen und schreiben. Überschreiben Sie diese technischen Profile in der Erweiterungsdatei. Verwenden Sie PersistedClaims zur Deaktivierung der Richtlinie für starke Kennwörter. Suchen Sie das ClaimsProviders-Element . Fügen Sie die folgenden Anspruchsanbieter wie folgt hinzu:

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

Wenn Sie die benutzernamenbasierte Anmelderichtlinie verwenden, aktualisieren Sie die technischen Profile AAD-UserWriteUsingLogonEmail, AAD-UserWritePasswordUsingObjectId und LocalAccountWritePasswordUsingObjectId mit der DisableStrongPassword-Richtlinie.

Speichern Sie die Richtliniendatei.

Testen Ihrer Richtlinie

Hochladen der Dateien

  1. Melden Sie sich beim Azure-Portal an.
  2. Wenn Sie Zugriff auf mehrere Mandanten haben, wählen Sie das Symbol Einstellungen im Menü oben aus, um über das Menü Verzeichnisse + Abonnements zu Ihrem Azure AD B2C-Mandanten zu wechseln.
  3. Wählen Sie "Alle Dienste " in der oberen linken Ecke des Azure-Portals aus, und suchen Sie dann nach Azure AD B2C, und wählen Sie sie aus.
  4. Wählen Sie "Identity Experience Framework" aus.
  5. Wählen Sie auf der Seite "Benutzerdefinierte Richtlinien" die Option "Richtlinie hochladen" aus.
  6. Wählen Sie Richtlinie überschreiben, falls vorhanden, und suchen Sie dann nach der TrustFrameworkExtensions.xml-Datei und wählen Sie sie aus.
  7. Wählen Sie die Option Hochladen.

Ausführen der Richtlinie

  1. Öffnen Sie die Registrierungs- oder Anmelderichtlinie, z. B. B2C_1A_signup_signin.
  2. Wählen Sie für "Anwendung" Ihre Anwendung aus, die Sie zuvor registriert haben. Um das Token anzuzeigen, muss als Antwort-URL der Wert https://jwt.ms angegeben werden.
  3. Wählen Sie Jetzt ausführen aus.
  4. Wählen Sie "Jetzt registrieren", geben Sie eine E-Mail-Adresse ein, und geben Sie ein neues Kennwort ein. Es wird Anleitung zu Passworteinschränkungen präsentiert. Schließen Sie die Eingabe der Benutzerinformationen ab, und wählen Sie dann "Erstellen" aus. Der Inhalt des zurückgegebenen Tokens sollte angezeigt werden.