Gestire l'autenticazione integrata utilizzando i criteri delle password

Puoi impostare e gestire le policy per le password per gli utenti di database delle istanze AlloyDB per PostgreSQL.

Per una panoramica dei metodi di autenticazione disponibili in AlloyDB, consulta Autenticazione.

Informazioni sulle policy per le password

Se gli utenti di database della tua applicazione eseguono l'autenticazione con le istanze AlloyDB utilizzando il metodo integrato basato su password, puoi rendere l'autenticazione più sicura applicando password efficaci. Puoi definire e abilitare l'applicazione delle password impostando una policy per le password sulle istanze.

Limitazioni delle policy per le password

Le policy per le password di AlloyDB presentano le seguenti limitazioni:

  • Le policy per le password si applicano solo alle password create dopo averle impostate. Le password utente esistenti non sono interessate da una modifica della policy per le password.

  • Le policy per le password si applicano solo alle password inserite come testo normale. Le policy per le password non si applicano alle password inserite come stringhe criptate.

Impostare una policy per le password dell'istanza

Puoi impostare una policy per le password su un'istanza by configurando i flag delle password su un'istanza.

  • Non consentire il nome utente: impedisci l'utilizzo del nome utente nella password.

  • Complessità della password: verifica se la password contiene il numero consentito di caratteri minuscoli, maiuscoli, numerici e non alfanumerici. Verifica anche se la lunghezza della password è valida.

  • Scadenza della password: assicurati che le password vengano ruotate periodicamente.

Per un elenco dei flag delle policy per le password supportati da AlloyDB, consulta Flag delle policy per le password.

Per rispettare gli standard di sicurezza e seguire le indicazioni del Security Recommender, devi abilitare tutte e tre le opzioni configurando i relativi flag di applicazione principali su ON:

  • password.enforce_password_does_not_contain_username
  • password.enforce_complexity
  • password.enforce_expiration

Se imposti uno di questi tre flag su OFF o li ometti, il Security Recommender contrassegna l'istanza come se non avesse una policy per le password abilitata.

Applicare la complessità delle password

Per applicare una policy di complessità delle password:

  1. Imposta il password.enforce_complexity flag su ON.
  2. Utilizza i flag delle policy per le password per definire la policy per le password.

Ad esempio, per applicare una policy per le password che prevede che una password debba contenere almeno una lettera maiuscola, un numero e avere una lunghezza di almeno 10 caratteri, devi impostare i seguenti flag:

  • password.enforce_complexity su ON
  • Flag password.min_uppercase_letters su 1
  • Flag password.min_numerical_chars su 1
  • Flag password.min_pass_length su 10

Dopo aver impostato questi flag, un tentativo di impostare una password utente del database che non rispetta questa policy per le password non va a buon fine. Ad esempio, con questa policy impostata, il seguente comando del client psql non va a buon fine perché la password foo è inferiore a 10 caratteri e non contiene un numero o un carattere maiuscolo.

CREATE USER USERNAME WITH PASSWORD 'foo';

Applicare la scadenza delle password

Per applicare la policy di scadenza delle password:

  1. Imposta il password.enforce_expiration flag su ON.

  2. Imposta il password.expiration_in_days flag sul numero di giorni dopo l'impostazione della password in cui scade.

  3. Imposta il password.notify_expiration_in_days flag sul numero di giorni prima della scadenza di una password in cui un utente inizia a ricevere notifiche di scadenza della password.

Ad esempio, per applicare una policy per le password che prevede che le password scadano dopo 30 giorni e che gli utenti ricevano una notifica 15 giorni prima della scadenza della password, imposta quanto segue:

  • password.enforce_expiration su ON
  • Flag password.expiration_in_days su 30
  • Flag password.notify_expiration_in_days su 15

Se la password di un utente scade, l'utente non può connettersi all'istanza AlloyDB. Per reimpostare la password di un utente, consulta Modificare la password di un utente di database.

Non consentire i nomi utente nelle password

Per applicare la policy che impedisce a una password di contenere un nome utente:

Ad esempio, per assicurarti che una password non contenga un nome utente come sottostringa, imposta quanto segue:

  • password.enforce_password_does_not_contain_username su ON

Se questo flag è impostato, l'operazione seguente non va a buon fine perché la password alex-secret contiene il nome utente alex:

CREATE USER alex WITH PASSWORD 'alex-secret';

Passaggi successivi