Cette page explique comment définir et gérer des stratégies de mot de passe pour les utilisateurs de base de données de vos instances AlloyDB pour PostgreSQL.
Pour en savoir plus sur les méthodes d'authentification disponibles dans AlloyDB, consultez la section Authentification.
À propos des règles relatives aux mots de passe
Si les utilisateurs de la base de données de votre application s'authentifient auprès de vos instances AlloyDB à l'aide de la méthode intégrée basée sur un mot de passe, vous pouvez renforcer l'authentification en imposant des mots de passe sécurisés. Vous pouvez définir et activer l'application forcée des mots de passe en définissant une règle relative aux mots de passe sur vos instances.
Limites des règles relatives aux mots de passe
Les règles de mot de passe AlloyDB présentent les limites suivantes:
Les règles relatives aux mots de passe ne s'appliquent aux mots de passe créés qu'après leur définition. Les mots de passe des utilisateurs existants ne sont pas affectés par une modification de la stratégie de mot de passe.
Les règles de mot de passe ne s'appliquent qu'aux mots de passe saisis en texte brut. Les règles de mot de passe ne s'appliquent pas aux mots de passe saisis sous forme de chaînes chiffrées.
Définir une règle de mot de passe d'instance
Vous pouvez définir une règle de mot de passe sur une instance en configurant des options de mot de passe sur une instance.
Interdire le nom d'utilisateur: empêche de spécifier le nom d'utilisateur dans le mot de passe.
Complexité du mot de passe: vérifie si le mot de passe contient le nombre autorisé de caractères minuscules, majuscules, numériques et non alphanumériques. Vérifiez également si la longueur du mot de passe est valide.
Expiration des mots de passe: assurez-vous que les mots de passe sont régulièrement remplacés.
Pour obtenir la liste des options de stratégie de mot de passe compatibles avec AlloyDB, consultez la section Options de stratégie de mot de passe.
Appliquer la complexité des mots de passe
Pour appliquer une règle de complexité des mots de passe, procédez comme suit:
- Définissez l'indicateur
password.enforce_complexity
surON
. - Utilisez des indicateurs de stratégie de mot de passe pour définir votre stratégie de mot de passe.
Par exemple, pour appliquer une stratégie de mot de passe qui stipule qu'un mot de passe doit contenir au moins une lettre majuscule, un chiffre et être composé d'au moins 10 caractères, vous devez définir les indicateurs suivants:
- De
password.enforce_complexity
àON
- Option
password.min_uppercase_letters
sur1
- Option
password.min_numerical_chars
sur1
- Option
password.min_pass_length
sur10
Une fois ces indicateurs définis, toute tentative de définition d'un mot de passe utilisateur de base de données qui ne respecte pas cette règle de mot de passe échoue. Par exemple, avec ce paramètre de stratégie, la commande cliente psql
suivante échoue, car le mot de passe foo
est inférieur à 10 caractères et ne contient ni chiffre ni caractère en majuscule.
CREATE USER USERNAME WITH PASSWORD 'foo';
Appliquer l'expiration du mot de passe
Pour appliquer la règle d'expiration des mots de passe, procédez comme suit:
Définissez l'indicateur
password.enforce_expiration
surON
.Définissez l'indicateur
password.expiration_in_days
sur le nombre de jours après lesquels un mot de passe expire.Définissez l'indicateur
password.notify_expiration_in_days
sur le nombre de jours avant l'expiration d'un mot de passe à partir duquel un utilisateur commence à recevoir des notifications d'expiration du mot de passe.
Par exemple, pour appliquer une règle de mot de passe qui indique que les mots de passe expirent au bout de 30 jours et que les utilisateurs sont avertis 15 jours avant l'expiration de leur mot de passe, vous devez définir les éléments suivants:
- De
password.enforce_expiration
àON
- Option
password.expiration_in_days
sur30
- Option
password.notify_expiration_in_days
sur15
Si le mot de passe d'un utilisateur expire, celui-ci ne peut pas se connecter à l'instance AlloyDB Omni. Pour réinitialiser le mot de passe d'un utilisateur, consultez Modifier le mot de passe d'un utilisateur de base de données.
Interdire les noms d'utilisateur dans les mots de passe
Pour appliquer la règle qui interdit aux mots de passe de contenir un nom d'utilisateur, procédez comme suit:
- Définissez
password.enforce_password_does_not_contain_username
surON
.
Par exemple, pour vous assurer qu'un mot de passe ne contient pas de nom d'utilisateur en tant que sous-chaîne, vous devez définir les éléments suivants:
- De
password.enforce_password_does_not_contain_username
àON
Si cet indicateur est défini, l'opération suivante échoue, car le mot de passe alex-secret
contient le nom d'utilisateur Alex
:
CREATE USER Alex WITH PASSWORD 'alex-secret';