Criteri password

Si applica a: SQL Server

SQL Server può fare uso di meccanismi dei criteri password di Windows. I criteri delle password si applicano a un account di accesso che usa l'autenticazione di SQL Server e a un utente del database indipendente con password.

SQL Server può applicare la stessa complessità e gli stessi criteri di scadenza usati in Windows alle password usate all'interno di SQL Server. Questa funzionalità dipende dall'API NetValidatePasswordPolicy.

Nota

Il Database SQL di Azure applica la complessità delle password. Le sezioni relative alla scadenza delle password e all'applicazione di criteri non si applicano al Database SQL di Azure.

Per informazioni sui criteri delle password per Istanza gestita di SQL di Azure, vedere le domande frequenti su Istanza gestita di SQL.

Complessità delle password

I criteri di complessità delle password sono progettati per fungere da deterrente agli attacchi a forza bruta aumentando il numero di password possibili. Quando vengono applicati i criteri di complessità delle password, le nuove password devono soddisfare i requisiti seguenti:

  • La password non contiene il nome account dell'utente.

  • Devono essere composte da almeno otto caratteri.

  • Devono contenere caratteri di almeno tre delle quattro categorie seguenti:

    • Lettere maiuscole dell'alfabeto latino (dalla A alla Z)

    • Lettere minuscole dell'alfabeto latino (dalla a alla z)

    • 10 numeri di base (da 0 a 9)

    • Caratteri non alfanumerici, ad esempio punto esclamativo (!), dollaro ($), simbolo di cancelletto (#) o percentuale (%).

Le password possono contenere fino a 128 caratteri. Usare password il più possibile lunghe e complesse.

Scadenza delle password

I criteri di scadenza delle password consentono di gestire l'intervallo di validità di una password. Quando SQL Server applica i criteri di scadenza delle password, gli utenti ricevono un promemoria per la modifica delle vecchie password e gli account con password scadute vengono disabilitati.

Applicazione dei criteri

L'applicazione dei criteri password può essere configurata separatamente per ogni account di accesso di SQL Server. Usare ALTER (Transact-SQL) per configurare l’opzione Criteri delle password di un account di accesso di SQL Server. Le regole seguenti sono valide per la configurazione dell'applicazione dei criteri password:

  • Quando l'opzione CHECK_POLICY viene impostata su ON, si ottiene il comportamento seguente:

    • Anche CHECK_EXPIRATION viene impostato su ON, a meno che non venga impostato esplicitamente su OFF.

    • La cronologia delle password viene inizializzata con il valore dell'hash della password corrente.

    • Vengono inoltre abilitate le opzioniDurata blocco account, Soglia di blocchi dell'accounte Reimposta blocco account dopo .

  • Quando l'opzione CHECK_POLICY viene impostata su OFF, si ottiene il comportamento seguente:

    • Anche l'opzione CHECK_EXPIRATION viene impostata su OFF.

    • Viene cancellata la cronologia delle password.

    • Viene reimpostato il valore di lockout_time .

Alcune combinazioni dl opzioni dei criteri non sono supportate.

  • Se si specifica MUST_CHANGE, è necessario impostare CHECK_EXPIRATION e CHECK_POLICY su ON. In caso contrario, l'istruzione ha esito negativo.

  • Se CHECK_POLICY è impostato su OFF, non è possibile impostare CHECK_EXPIRATION su ON. Un'istruzione ALTER LOGIN che presenta questa combinazione di opzioni avrà esito negativo.

  • L'impostazione di CHECK_POLICY su ON impedisce la creazione di password:

    • Null o vuote

    • Equivalenti al nome del computer o dell'account di accesso

    • Uno qualsiasi dei seguenti: password, admin, administrator, sa, sysadmin

I criteri di sicurezza possono essere impostati in Windows o essere ricevuti dal dominio. Per visualizzare i criteri password nel computer, usare lo snap-in MMC Criteri di sicurezza locali (secpol.msc).

Nota

Per gli account di accesso di SQL Server con CHECK_POLICY abilitato, se si esegue ALTER LOGIN e non si include OLD_PASSWORD nel comando per modificare la password, l'opzione Applica cronologia password viene ignorata. Questo comportamento è progettato per consentire la reimpostazione della password, nonostante le password usate in precedenza. Altri controlli associati a CHECK_POLICY, inclusa la lunghezza e la complessità, vengono controllati indipendentemente dall’uso o meno di OLD_PASSWORD.

Controllo delle informazioni sui criteri password dell'utente SQL

È possibile esaminare i criteri password dell'utente SQL e le date di scadenza in SQL Server usando la query seguente. Anche se la query seguente funziona anche nel database SQL di Azure, nel database SQL di Azure viene applicata solo la complessità delle password.

SELECT name,
    is_policy_checked,
    is_expiration_checked,
    LOGINPROPERTY(name, 'IsMustChange') AS IsMustChange,
    LOGINPROPERTY(name, 'IsLocked') AS IsLocked,
    LOGINPROPERTY(name, 'LockoutTime') AS LockoutTime,
    LOGINPROPERTY(name, 'PasswordLastSetTime') AS PasswordLastSetTime,
    LOGINPROPERTY(name, 'IsExpired') AS IsExpired,
    LOGINPROPERTY(name, 'BadPasswordCount') AS BadPasswordCount,
    LOGINPROPERTY(name, 'BadPasswordTime') AS BadPasswordTime,
    LOGINPROPERTY(name, 'HistoryLength') AS HistoryLength,
    modify_date
FROM sys.sql_logins;

CREATE LOGIN (Transact-SQL)

ALTER LOGIN (Transact-SQL)

CREATE USER (Transact-SQL)

ALTER USER (Transact-SQL)

Creare un account di accesso

Creare un utente di database