Utilizzo della policy sulle password per gli accessi di SQL Server in RDS per SQL Server - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo della policy sulle password per gli accessi di SQL Server in RDS per SQL Server

Amazon RDS consente di impostare la policy sulle password per l’istanza database Amazon RDS che esegue Microsoft SQL Server. Questa funzionalità è utile per impostare requisiti di complessità, lunghezza e blocco per gli accessi che utilizzano l’autenticazione di SQL Server per autenticarsi all’istanza database.

Termini chiave

Accesso

In SQL Server, un principale di livello server in grado di autenticarsi a un’istanza database è definita accesso. Altri motori di database potrebbero fare riferimento a questo principale con il termine utente. In RDS per SQL Server, un accesso può autenticarsi utilizzando l’autenticazione di SQL Server o quella di Windows.

Accesso di SQL Server

Per accesso di SQL Server si intende un account che per autenticarsi utilizza l’autenticazione di SQL Server specificando un nome utente e una password. La policy sulle password può essere configurata tramite i parametri del database solo per gli accessi di SQL Server.

Accesso di Windows

Per accesso di Windows si intende un account basato su un principale di Windows che per autenticarsi utilizza l’autenticazione di Windows. La policy sulle password per gli accessi di Windows può essere configurata in Active Directory. Per ulteriori informazioni, consulta Utilizzo di Active Directory con RDS per SQL Server.

Abilitazione e disabilitazione della policy per ogni accesso

Ogni accesso di SQL Server è dotato di flag per CHECK_POLICY e CHECK_EXPIRATION. Per impostazione predefinita, i nuovi accessi vengono creati con CHECK_POLICY impostato su ON e CHECK_EXPIRATION impostato su OFF.

Se per un accesso è abilitato CHECK_POLICY, RDS per SQL Server convalida la password in base ai requisiti di complessità e lunghezza minima. Sono applicabili anche policy di blocco. Di seguito è riportato un esempio di istruzione T-SQL per abilitare CHECK_POLICY e CHECK_EXPIRATION:

ALTER LOGIN [master_user] WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON;

Se CHECK_EXPIRATION è abilitato, le password sono soggette a policy di validità. Di seguito è riportata l’istruzione T-SQL per verificare se CHECK_POLICY e CHECK_EXPIRATION sono impostati:

SELECT name, is_policy_checked, is_expiration_checked FROM sys.sql_logins;

Parametri della policy sulle password

Tutti i parametri della policy sulle password sono dinamici e non richiedono il riavvio del database per diventare effettivi. Nella seguente tabella sono elencati i parametri del database che è possibile impostare per modificare la policy sulle password per gli accessi di SQL Server:

Parametro DB Descrizione Valori consentiti Valore predefinito
rds.password_complexity_enabled Durante la creazione o la modifica delle password per gli accessi di SQL Server devono essere soddisfatti i requisiti di complessità delle password. Di seguito sono riportati i vincoli da rispettare:
  • La password deve includere caratteri appartenenti a tre delle seguenti categorie:

    • Lettera minuscola latina (dalla a alla z)

    • Lettera maiuscola latina (dalla A alla Z)

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

  • La password non deve includere il nome account dell’utente.

0,1 0
rds.password_min_length Il numero minimo di caratteri necessari in una password per un accesso di SQL Server. 0-14 0
rds.password_min_age Il numero minimo di giorni in cui la password di un accesso di SQL Server deve essere utilizzata prima che l’utente possa cambiarla. Se il valore è 0, le password possono essere modificate immediatamente. 0-998 0
rds.password_max_age

Il numero massimo di giorni in cui è possibile utilizzare la password di un accesso di SQL Server, trascorsi i quali l’utente è tenuto a cambiarla. Se il valore è 0, le password non scadono mai.

0-999 42
rds.password_lockout_threshold Il numero di tentativi di accesso consecutivi non riusciti che causano il blocco di un accesso di SQL Server. 0-999 0
rds.password_lockout_duration Il numero di minuti che un accesso di SQL Server bloccato deve attendere prima di essere sbloccato. 1-60 10
rds.password_lockout_reset_counter_after Il numero di minuti che devono trascorrere dopo un tentativo di accesso non riuscito prima che il contatore dei tentativi di accesso non riusciti venga reimpostato su 0. 1-60 10
Nota

Per ulteriori informazioni sulla policy relativa alle password di SQL Server, consulta la policy sulle password.

Le policy relative alla complessità e alla lunghezza minima delle password sono applicabili anche agli utenti di database indipendenti. Per ulteriori informazioni, consulta Database contenuti.

Per i parametri della policy sulle password sono previsti i seguenti vincoli:

  • Il valore del parametro rds.password_min_age deve essere minore del parametro rds.password_max_age parameter, a meno che rds.password_max_age non sia impostato su 0.

  • Il valore del parametro rds.password_lockout_reset_counter_after deve essere minore o uguale a quello del parametro rds.password_lockout_duration.

  • Se rds.password_lockout_threshold è impostato su 0, rds.password_lockout_duration e rds.password_lockout_reset_counter_after non sono applicabili.

Considerazioni per gli accessi esistenti

Dopo aver modificato la policy sulle password per un’istanza, le password esistenti per gli accessi non vengono valutate retroattivamente rispetto ai nuovi requisiti di complessità e lunghezza. Solo le nuove password vengono convalidate in base alla nuova policy.

Tuttavia, SQL Server valuta le password esistenti in base ai requisiti di validità.

È possibile che le password scadano immediatamente dopo la modifica della policy sulle password. Ad esempio, se per un accesso è abilitato CHECK_EXPIRATION, la relativa password è stata modificata l’ultima volta 100 giorni fa e il parametro rds.password_max_age viene impostato su 5 giorni, la password scade immediatamente e deve essere cambiata al successivo tentativo di accesso.

Nota

RDS per SQL Server non supporta le policy di cronologia delle password. Tali policy impediscono agli accessi di riutilizzare le password utilizzate in precedenza.

Considerazioni per le implementazioni Multi-AZ

Il contatore dei tentativi di accesso non riusciti e lo stato di blocco per le istanze Multi-AZ non si replicano tra i nodi. Nel caso in cui un accesso venga bloccato durante il failover di un’istanza Multi-AZ, è possibile che risulti già sbloccato sul nuovo nodo.