Questa pagina descrive come impostare e gestire i criteri per le password per gli utenti del database delle tue istanze AlloyDB per PostgreSQL.
Per una panoramica dei metodi di autenticazione disponibili in AlloyDB, consulta Autenticazione.
Informazioni sui criteri di protezione con password
Se gli utenti del database della tua applicazione si autenticano con le tue istanze AlloyDB utilizzando il metodo integrato basato su password, puoi rendere l'autenticazione più sicura imponendo password complesse. Puoi definire e attivare l'applicazione forzata delle password impostando un criterio per le password sulle tue istanze.
Limitazioni dei criteri di protezione con password
I criteri per le password di AlloyDB presentano le seguenti limitazioni:
I criteri per le password si applicano alle password create solo dopo l'impostazione dei criteri. Le password utente esistenti non sono interessate da una modifica dei criteri per le password.
I criteri per le password si applicano alle password inserite solo in testo normale. I criteri per le password non si applicano alle password inserite come stringhe criptate.
Impostare un criterio per le password dell'istanza
Puoi impostare un criterio per le password su un'istanza configurando gli indicatori delle password su un'istanza.
Non consentire il nome utente: impedisce l'utilizzo del nome utente nella password.
Complessità della password: controlla se la password contiene il numero consentito di caratteri minuscoli, maiuscoli, numerici e non alfanumerici. Verifica anche che la lunghezza della password sia valida.
Scadenza della password: assicurati che le password vengano ruotate periodicamente.
Per un elenco degli indicatori dei criteri relativi alle password supportati da AlloyDB, consulta Indicatori dei criteri relativi alle password.
Impostare la complessità della password
Per applicare un criterio di complessità della password:
- Imposta il
password.enforce_complexity
flag suON
. - Utilizza i flag delle norme relative alle password per definire le norme relative alle password.
Ad esempio, per applicare un criterio per le password che stabilisce che una password deve contenere almeno una lettera maiuscola, un numero e avere una lunghezza minima di 10 caratteri, devi impostare i seguenti flag:
- Da
password.enforce_complexity
aON
- Bandiera di
password.min_uppercase_letters
a1
- Bandiera di
password.min_numerical_chars
a1
- Bandiera di
password.min_pass_length
a10
Dopo aver impostato questi flag, il tentativo di impostare una password utente del database che non è conforme a questo criterio delle password non va a buon fine. Ad esempio, con questo insieme di criteri, il seguente comando client psql
non va a buon fine perché la password foo
è composta da meno di 10 caratteri e non contiene un numero o un carattere maiuscolo.
CREATE USER USERNAME WITH PASSWORD 'foo';
Imposta la scadenza della password
Per applicare il criterio di scadenza della password, segui questi passaggi:
Imposta il
password.enforce_expiration
flag suON
.Imposta il flag
password.expiration_in_days
sul numero di giorni dopo l'impostazione di una password che scade.Imposta il flag
password.notify_expiration_in_days
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 un criterio password che stabilisca che le password scadono dopo 30 giorni e che gli utenti ricevano una notifica 15 giorni prima della scadenza della password, imposta quanto segue:
- Da
password.enforce_expiration
aON
- Bandiera di
password.expiration_in_days
a30
- Bandiera di
password.notify_expiration_in_days
a15
Se la password di un utente scade, l'utente non può connettersi all'istanza AlloyDB Omni. Per reimpostare la password di un utente, consulta Modificare la password di un utente del database.
Non consentire nomi utente nelle password
Per applicare il criterio che impedisce a una password di contenere un nome utente:
- Imposta
password.enforce_password_does_not_contain_username
suON
.
Ad esempio, per assicurarti che una password non contenga un nome utente come sottostringa, imposta quanto segue:
- Da
password.enforce_password_does_not_contain_username
aON
Se questo flag è impostato, la seguente operazione non va a buon fine perché la password
alex-secret
contiene il nome utente Alex
:
CREATE USER Alex WITH PASSWORD 'alex-secret';