Condividi tramite


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

Importante

A partire dal 1° maggio 2025, Azure AD B2C non sarà più disponibile per l'acquisto per i nuovi clienti. Altre informazioni sono disponibili nelle domande frequenti.

Prima di iniziare, utilizza il selettore Scegli un tipo di criterio nella parte superiore di questa pagina 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à per le password fornite da un utente finale durante la creazione di un account. Per impostazione predefinita, Azure AD B2C usa password complesse . Azure AD B2C supporta anche opzioni di configurazione per controllare la complessità delle password che i clienti possono usare.

Prerequisiti

Applicazione delle regole sulle password

Durante l'iscrizione o la reimpostazione della password, un utente finale deve fornire una password che soddisfi le regole di complessità. Le regole di complessità delle password vengono applicate per ogni flusso utente. È 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. Ad esempio, è possibile usare un flusso utente con complessità della password diversa per gli adulti rispetto ai bambini.

La complessità delle password non viene mai applicata durante l'accesso. Agli utenti non viene mai richiesto durante l'accesso 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 di registrazione o login utente
  • Flusso utente di reimpostazione della 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 dispone dell'accesso a più tenant, selezionare l'icona Impostazioni nel menu superiore per passare al tenant di Azure AD B2C dal menu Directory + sottoscrizioni.
  3. Nel portale di Azure cercare e selezionare Azure AD B2C.
  4. Selezionare Flussi utente.
  5. Selezionare un flusso utente e selezionare Proprietà.
  6. In Complessità password modificare la complessità delle password per questo flusso utente impostando Simple, Strong o Custom.

Grafico di confronto

Complessità Descrizione
Semplice Password con almeno 8-64 caratteri.
Forte Password con almeno 8-64 caratteri. Richiede 3 su 4 di caratteri minuscoli, maiuscoli, numeri o simboli.
Personalizzato Questa opzione offre il maggior controllo sulle regole di complessità delle password. Consente di configurare una lunghezza personalizzata. Consente anche di accettare password solo numeri (pin).

Opzioni personalizzate

Set di caratteri

Consente di accettare solo cifre (pin) o il set di caratteri completo.

  • Solo numeri consente l'inserimento delle sole cifre (0-9) durante l'immissione di una password.
  • Tutto consente qualsiasi lettera, numero o simbolo.

Durata

Consente di controllare i requisiti di lunghezza della password.

  • La 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 caratteri usati nella password.

  • 2 di 4: carattere minuscolo, carattere maiuscolo, numero (0-9), simbolo garantisce che la password contenga almeno due tipi di caratteri. 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 di 4: carattere minuscolo, carattere maiuscolo, numero (0-9), simbolo garantisce che la password contenga tutti e quattro i tipi di caratteri.

    Annotazioni

    La richiesta di 4 di 4 può comportare frustrazioni per l'utente finale. Alcuni studi hanno dimostrato che questo requisito non migliora l'entropia delle password. Vedere Linee guida per le password NIST

Convalida del predicato della password

Per configurare la complessità della password, eseguire l'override dei newPasswordreenterPasswordtipi di attestazione con 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. Apri il file delle estensioni della tua policy. 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 attestazioni newPassword 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 sicura

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 la politica delle password complesse. Trova l'elemento ClaimsProviders. Aggiungere i provider di attestazioni seguenti:

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

Carica i file

  1. Accedi al portale di Azure.
  2. Se si dispone dell'accesso a più tenant, selezionare l'icona Impostazioni nel menu superiore per passare al tenant di Azure AD B2C dal menu Directory + sottoscrizioni.
  3. Scegliere Tutti i servizi nell'angolo in alto a sinistra del portale di Azure e quindi cercare e selezionare Azure AD B2C.
  4. Selezionare Identity Experience Framework.
  5. Nella pagina Criteri personalizzati selezionare Carica criterio.
  6. Selezionare Sovrascrivi la politica se esistente e quindi cercare e selezionare il file TrustFrameworkExtensions.xml.
  7. Selezionare Carica.

Esegui la politica

  1. Aprire la politica di iscrizione o di accesso, ad esempio B2C_1A_signup_signin.
  2. In Applicazione selezionare l'applicazione registrata in precedenza. Per visualizzare il token, l'URL di risposta dovrebbe visualizzare https://jwt.ms.
  3. Selezionare Esegui adesso.
  4. Selezionare Iscriviti ora, immettere un indirizzo di posta elettronica e immettere una nuova password. Vengono presentate indicazioni sulle restrizioni relative alle password. Completare l'immissione delle informazioni utente e quindi selezionare Crea. Verrà visualizzato il contenuto del token restituito.