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

Vorbereitung: Wählen Sie mithilfe des Selektors Richtlinientyp auswählen den Typ der einzurichtenden Richtlinie aus. 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 starke Kennwörter. Azure AD B2C unterstützt außerdem Konfigurationsoptionen zur Steuerung der Komplexität von Kennwörtern, die Kunden verwenden können.

Voraussetzungen

Kennwortregelerzwingung

Bei der Registrierung oder dem Zurücksetzen des Kennworts muss ein Endbenutzer ein Kennwort angeben, das die Regeln für die Komplexität erfüllt. Kennwortkomplexitätsregeln werden pro Benutzerflow erzwungen. Es ist möglich, dass ein Benutzerflow bei der Anmeldung eine vierstellige PIN verlangt, während ein anderer Benutzerflow bei der Anmeldung eine achtstellige Zeichenfolge verlangt. Sie können z.B. einen Benutzerflow mit unterschiedlicher Kennwortkomplexität für Erwachsene und Kinder verwenden.

Kennwortkomplexität wird nie während der Anmeldung erzwungen. Benutzer werden nie während der Anmeldung aufgefordert, ihr Kennwort zu ändern, da es die aktuellen Komplexitätsanforderungen nicht erfüllt.

Sie können die Kennwortkomplexität in den folgenden Arten von Benutzerflows 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 Benutzerflows aus.
  5. Wählen Sie einen Benutzerflow aus, und klicken Sie auf Eigenschaften.
  6. Ändern Sie unter Kennwortkomplexität die Kennwortkomplexität für diesen Benutzerflow in Einfach, Stark oder Benutzerdefiniert.

Vergleichsdiagramm

Komplexität BESCHREIBUNG
Einfach Ein Kennwort mit mindestens 8 bis 64 Zeichen.
STARK (Strong) Ein Kennwort mit mindestens 8 bis 64 Zeichen. Sie müssen 3 der 4 Zeichentypen (Kleinbuchstaben, Großbuchstaben, Zahlen oder Symbole) nutzen.
Benutzerdefiniert Diese Option bietet die bestmögliche Steuerung der Kennwortkomplexitätsregeln. Sie ermöglicht das Konfigurieren einer benutzerdefinierten Länge. Darüber hinaus ermöglicht sie das ausschließliche Akzeptieren von Kennwörtern, die nur aus Ziffern (PINs) bestehen.

Benutzerdefinierte Optionen

Zeichensatz

Ermöglicht Ihnen, wahlweise nur Ziffern (PIN) oder den vollständigen Zeichensatz zu akzeptieren.

  • Nur Ziffern lässt nur Ziffern (0-9) bei der Kennworteingabe zu.
  • Alle lässt beliebige Buchstaben, Ziffern oder Symbole zu.

Länge

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

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

Zeichenklassen

Ermöglicht Ihnen, die verschiedenen im Kennwort verwendeten Zeichentypen zu steuern.

  • 2 von 4: Kleinbuchstaben, Großbuchstaben, Ziffern (0–9), Symbole stellt sicher, dass das Kennwort mindestens drei Zeichentypen enthält. Beispielsweise eine Ziffer und einen Kleinbuchstaben.

  • 3 von 4: Kleinbuchstaben, Großbuchstaben, Ziffern (0–9), Symbole stellt sicher, dass das Kennwort mindestens drei Zeichentypen enthält. Beispielsweise eine Ziffer, einen Kleinbuchstaben und einen Großbuchstaben.

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

    Hinweis

    4 von 4 zu fordern, kann beim Endbenutzer für Frustration sorgen. Studien haben gezeigt, dass diese Anforderung die Kennwortentropie nicht verbessert. Siehe NIST Password Guidelines (NIST-Kennwortrichtlinien).

Prädikatüberprüfungen für Kennwörter

Um die Kennwortkomplexität zu konfigurieren, überschreiben Sie die Anspruchstypen newPassword und reenterPassword mit einem Verweis auf Prädikatüberprüfungen. Das Element „PredicateValidations“ gruppiert eine Reihe von Prädikaten mit dem Ziel, eine Überprüfung der Benutzereingabe zu erstellen, die auf einen Anspruchstyp angewendet werden kann. Öffnen Sie die Erweiterungsdatei Ihrer Richtlinie. Beispiel: SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

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

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

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

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. Das Element Predicates definiert eine grundlegende Überprüfung zum Prüfen des Werts eines Anspruchstyps und gibt „true“ oder „false“ zurück. Die Überprüfung erfolgt mit einem bestimmten Methodenelement und einer Reihe von Parametern, die für die Methode relevant sind. Fügen Sie dem Element BuildingBlocks unmittelbar nach dem Schließen des Elements </ClaimsSchema> 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 Element BuildingBlocks unmittelbar nach dem Schließen des Elements </Predicates> 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>-->
    

Deaktivieren sicherer Kennwörter

Die folgenden technischen Profile sind technische Active Directory-Profile, die Daten in Microsoft Entra ID schreiben und daraus lesen. Überschreiben Sie diese technischen Profile in der Erweiterungsdatei. Verwenden Sie PersistedClaims, um die sichere Kennwortrichtlinie zu deaktivieren. Suchen Sie nach dem Element ClaimsProviders. Fügen Sie wie folgt die folgenden Anspruchsanbieter 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 Richtlinie Auf Benutzername basierende Anmeldung verwenden, aktualisieren Sie die technischen Profile AAD-UserWriteUsingLogonEmail, AAD-UserWritePasswordUsingObjectId und LocalAccountWritePasswordUsingObjectId mit der Richtlinie DisableStrongPassword.

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 links oben im Azure-Portal die Option Alle Dienste aus, suchen Sie nach Azure AD B2C, und wählen Sie dann diese Option aus.
  4. Wählen Sie Framework für die Identitätsfunktion aus.
  5. Wählen Sie auf der Seite Benutzerdefinierte Richtlinien auf Richtlinie hochladen aus.
  6. Aktivieren Sie Richtlinie überschreiben, sofern vorhanden, suchen Sie nach der Datei TrustFrameworkExtensions.xml, und wählen Sie die Datei aus.
  7. Wählen Sie Hochladen aus.

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 aus, geben Sie eine E-Mail-Adresse ein, und geben Sie ein neues Kennwort ein. Es werden Anweisungen zu Kennworteinschränkungen angezeigt. Schließen Sie die Eingabe der Benutzerinformationen ab und klicken Sie dann auf Erstellen. Es sollten Ihnen jetzt die Inhalte des zurückgegebenen Tokens angezeigt werden.

Nächste Schritte