Configurare i requisiti di complessità delle password in Azure Active Directory B2C

Prima di iniziare, usare il selettore Scegli un tipo di criterio per scegliere il tipo di criterio che si sta configurando. Azure Active Directory B2C offre due metodi per definire il modo in cui gli utenti interagiscono con le applicazioni: tramite flussi utente predefiniti o tramite criteri personalizzati completamente configurabili. I passaggi necessari in questo articolo sono diversi per ogni metodo.

Azure Active Directory B2C (Azure AD B2C) supporta la modifica dei requisiti di complessità delle password specificate da un utente finale durante la creazione di un account. Per impostazione predefinita, Azure AD B2C usa password di complessità Alta. Azure AD B2C supporta anche opzioni di configurazione per controllare la complessità delle password che i clienti possono usare.

Prerequisiti

Applicazione delle regole delle password

Durante la registrazione o la reimpostazione di una password, l'utente finale deve specificare una password che soddisfi le regole di complessità, che vengono applicate in base al flusso utente di riferimento. È possibile che un flusso utente richieda un pin a quattro cifre durante l'iscrizione mentre un altro flusso utente richiede una stringa di otto caratteri durante l'iscrizione. È possibile, ad esempio, usare un flusso utente con una complessità delle password diversa per gli adulti e per i bambini.

La complessità delle password non viene mai applicata durante l'accesso. Durante la registrazione, infatti, agli utenti non viene mai chiesto di modificare la password perché non soddisfa i requisiti di complessità correnti.

È possibile configurare la complessità delle password nei tipi di flussi utente seguenti:

  • Flusso utente di iscrizione o accesso
  • Flusso utente di reimpostazione delle password

Se si usano criteri personalizzati, è possibile configurare la complessità delle password in un criterio personalizzato.

Configurare la complessità delle password

  1. Accedi al portale di Azure.
  2. Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant di Azure AD B2C dal menu Directory e sottoscrizioni.
  3. Nel portale di Azure cercare e selezionare Azure AD B2C.
  4. Selezionare Flussi utente.
  5. Selezionare un flusso utente e fare clic su Proprietà.
  6. In Complessità password impostare la complessità delle password per questo flusso utente su Semplice, Alta o Personalizzata.

Grafico di confronto

Complessità Descrizione
Semplice Password con almeno 8-64 caratteri.
Assoluta Password con almeno 8-64 caratteri. Richiede 3 su 4 di caratteri minuscoli, maiuscoli, numeri o simboli.
Personalizzazione Questa opzione offre il massimo controllo sulle regole di complessità delle password. Consente infatti di configurare una lunghezza personalizzata o di accettare password solo numeriche (PIN).

Opzioni personalizzate

Set di caratteri

Consente di accettare solo cifre (PIN) o l'intero set di caratteri.

  • Solo numeri consente di immettere solo cifre (0-9) durante la configurazione di una password.
  • Tutti consente qualsiasi lettera, numero o simbolo.

Lunghezza

Consente di controllare i requisiti di lunghezza della password.

  • Il valore Lunghezza minima deve essere almeno 4.
  • La lunghezza massima deve essere maggiore o uguale alla lunghezza minima e al massimo può essere di 256 caratteri.

Classi di caratteri

Consente di controllare i diversi tipi di carattere usati nella password.

  • 2 of 4: Lowercase character, Uppercase character, Number (0-9), Symbol (2 di 4: carattere minuscolo, carattere maiuscolo, numero (0-9), simbolo): garantisce che la password contenga almeno due tipi di carattere, ad esempio un numero e un carattere minuscolo.

  • 3 di 4: carattere minuscolo, carattere maiuscolo, numero (0-9), simbolo garantisce che la password contenga almeno tre tipi di caratteri. ad esempio un numero, un carattere minuscolo e un carattere maiuscolo.

  • 4 of 4: Lowercase character, Uppercase character, Number (0-9), Symbol (4 di 4: carattere minuscolo, carattere maiuscolo, numero (0-9), simbolo): garantisce che la password contenga tutti i quattro tipi di carattere.

    Nota

    L'opzione 4 of 4 (4 di 4) può determinare frustrazione nell'utente finale. Alcuni studi hanno dimostrato inoltre che questo requisito non migliora l'entropia delle password. Vedere NIST Password Guidelines (Linee guida sulle password NIST)

Convalida del predicato della password

Per configurare la complessità delle password, eseguire l'override dei newPassword tipi di attestazione e reenterPasswordcon un riferimento alle convalide dei predicati. L'elemento PredicateValidations raggruppa un set di predicati per formare una convalida di input utente che può essere applicata a un tipo di attestazione. Aprire il file delle estensioni del criterio, Ad esempio, SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  1. Cercare l'elemento BuildingBlocks. Se l'elemento non esiste, aggiungerlo.

  2. Individuare l'elemento ClaimsSchema. Se l'elemento non esiste, aggiungerlo.

  3. Aggiungere le newPassword attestazioni e reenterPassword all'elemento ClaimsSchema .

    <!-- 
    <BuildingBlocks>
      <ClaimsSchema> -->
        <ClaimType Id="newPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
        <ClaimType Id="reenterPassword">
          <PredicateValidationReference Id="CustomPassword" />
        </ClaimType>
      <!-- 
      </ClaimsSchema>
    </BuildingBlocks>-->
    
  4. I predicati definiscono una convalida di base per controllare il valore di un tipo di attestazione e restituisce true o false. La convalida viene eseguita usando un elemento del metodo specificato e un set di parametri rilevanti per il metodo . Aggiungere i predicati seguenti all'elemento BuildingBlocks , subito dopo la chiusura dell'elemento </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. Aggiungere le convalide del predicato seguenti all'elemento BuildingBlocks , subito dopo la chiusura dell'elemento </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>-->
    

Disabilitare la password complessa

I profili tecnici seguenti sono profili tecnici di Active Directory, che leggono e scrivono dati in Microsoft Entra ID. Eseguire l'override di questi profili tecnici nel file di estensione. Usare PersistedClaims per disabilitare i criteri password sicuri. Trovare l'elemento ClaimsProviders. Aggiungere i provider di attestazioni seguenti come segue:

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

Se si usano i criteri di accesso basati sul nome utente, aggiornare i AAD-UserWriteUsingLogonEmailprofili tecnici , AAD-UserWritePasswordUsingObjectIde LocalAccountWritePasswordUsingObjectId con il criterio DisableStrongPassword .

Salvare il file dei criteri.

Verificare i criteri

Caricare i file

  1. Accedi al portale di Azure.
  2. Se si ha accesso a più tenant, selezionare l'icona Impostazioni nel menu in alto per passare al tenant di Azure AD B2C dal menu Directory e sottoscrizioni.
  3. Scegliere Tutti i servizi nell'angolo in alto a sinistra nel portale di Azure e quindi cercare e selezionare Azure AD B2C.
  4. Fare clic su Framework dell'esperienza di gestione delle identità.
  5. Nella pagina Criteri personalizzati selezionare Carica criterio.
  6. Selezionare Sovrascrivi il criterio, se esistente, quindi cercare e selezionare il file TrustFrameworkExtensions.xml .
  7. Selezionare Carica.

Esegui il criterio

  1. Aprire i criteri di iscrizione o di accesso, ad esempio B2C_1A_signup_signin.
  2. Per Applicazione, selezionare l'applicazione che è stata registrata in precedenza. Per visualizzare il token, l'URL di risposta dovrebbe mostrare https://jwt.ms.
  3. Selezionare Esegui ora.
  4. Selezionare Iscriversi adesso e immettere un indirizzo di posta elettronica e una nuova password. Vengono presentate linee guida relative alle restrizioni delle password. Completare l'immissione delle informazioni utente e quindi selezionare Crea. Viene visualizzato il contenuto del token restituito.

Passaggi successivi