Utilisation d’une stratégie de mot de passe pour les connexions SQL Server sur RDS for SQL Server
Amazon RDS vous permet de définir la stratégie de mot de passe pour votre instance de base de données Amazon RDS exécutant Microsoft SQL Server. Utilisez-le pour définir les exigences de complexité, de longueur et de verrouillage pour les connexions qui utilisent l’authentification SQL Server pour s’authentifier auprès de votre instance de base de données.
Termes clés
- Connexion
-
Dans SQL Server, un principal au niveau du serveur capable de s’authentifier auprès d’une instance de base de données est appelé connexion. D’autres moteurs de base de données peuvent désigner ce principal en tant qu’utilisateur. Dans RDS for SQL Server, une connexion peut s’authentifier à l’aide de l’authentification SQL Server ou de l’authentification Windows.
- Connexion SQL Server
-
Une connexion qui utilise un nom d’utilisateur et un mot de passe pour s’authentifier à l’aide de l’authentification SQL Server est une connexion SQL Server. La stratégie de mot de passe que vous configurez via les paramètres de base de données s’applique uniquement aux connexions SQL Server.
- Connexion Windows
-
Une connexion basée sur un principal Windows et authentifiée à l’aide de l’authentification Windows est une connexion Windows. Vous pouvez configurer la stratégie de mot de passe pour vos connexions Windows dans Active Directory. Pour plus d’informations, consultez Utilisation d'Active Directory avec RDS for SQL Server.
Politique d’activation et de désactivation pour chaque connexion
Chaque connexion à SQL Server comporte des indicateurs pour CHECK_POLICY et CHECK_EXPIRATION. Par défaut, les nouvelles connexions sont créées avec CHECK_POLICY défini sur ON et CHECK_EXPIRATION défini sur OFF.
Si CHECK_POLICY est activé pour une connexion, RDS for SQL Server valide le mot de passe en fonction des exigences de complexité et de longueur minimale. Les politiques de verrouillage s’appliquent également. Exemple d’instruction T-SQL pour activer CHECK_POLICY et CHECK_EXPIRATION :
ALTER LOGIN [master_user] WITH CHECK_POLICY = ON, CHECK_EXPIRATION = ON;
Si CHECK_EXPIRATION est activé, les mots de passe sont soumis aux politiques relatives à l’ancienneté des mots de passe. L’instruction T-SQL pour vérifier si CHECK_POLICY et CHECK_EXPIRATION sont définis :
SELECT name, is_policy_checked, is_expiration_checked FROM sys.sql_logins;
Paramètres de la stratégie de mot de passe
Tous les paramètres de la stratégie de mot de passe sont dynamiques et prennent effet sans qu’il soit nécessaire de redémarrer la base de données. Le tableau suivant répertorie les paramètres de base de données que vous pouvez définir afin de modifier la stratégie de mot de passe pour les connexions à SQL Server :
| Paramètre de base de données | Description | Valeurs autorisées | Valeur par défaut |
|---|---|---|---|
| rds.password_complexity_enabled | Les exigences de complexité des mots de passe doivent être respectées lors de la création ou de la modification de mots de passe pour les connexions à SQL Server. Les contraintes suivantes doivent être respectées :
|
0,1 | 0 |
| rds.password_min_length | Nombre minimum de caractères requis dans un mot de passe pour une connexion à SQL Server. | 0-14 | 0 |
| rds.password_min_age | Nombre minimum de jours pendant lesquels un mot de passe de connexion à SQL Server doit être utilisé avant que l’utilisateur puisse le modifier. Les mots de passe peuvent être modifiés immédiatement lorsque cette valeur est définie sur 0. | 0-998 | 0 |
| rds.password_max_age | Nombre maximal de jours pendant lesquels un mot de passe de connexion à SQL Server peut être utilisé, après lequel l’utilisateur doit le modifier. Les mots de passe n’expirent jamais lorsque cette valeur est définie sur 0. |
0-999 | 42 |
| rds.password_lockout_threshold | Nombre de tentatives de connexion infructueuses consécutives qui entraînent le blocage de la connexion à SQL Server. | 0-999 | 0 |
| rds.password_lockout_duration | Nombre de minutes d’attente avant qu’une connexion à SQL Server bloquée ne soit débloquée. | 1-60 | 10 |
| rds.password_lockout_reset_counter_after | Nombre de minutes qui doivent s’écouler après l’échec d’une tentative de connexion et avant que le compteur de tentatives de connexion infructueuses soit remis à 0. | 1-60 | 10 |
Note
Pour plus d’informations sur la stratégie de mot de passe de SQL Server, consultez Stratégie de mot de passe
Les stratégies relatives à la complexité et à la longueur minimale des mots de passe s’appliquent également aux utilisateurs des bases de données contenues. Pour plus d’informations, consultez Bases de données contenues
Les contraintes suivantes s’appliquent aux paramètres de stratégie de mot de passe :
-
Le paramètre
rds.password_min_agedoit être inférieur àrds.password_max_age parameter, sauf sirds.password_max_ageest défini sur 0 -
Le paramètre
rds.password_lockout_reset_counter_afterdoit être inférieur ou égal au paramètrerds.password_lockout_duration. -
Si
rds.password_lockout_thresholdest défini sur 0,rds.password_lockout_durationetrds.password_lockout_reset_counter_afterne s’appliquent pas.
Considérations relatives aux connexions existantes
Une fois la stratégie de mot de passe modifiée sur une instance, les mots de passe existants pour les connexions ne sont pas évalués rétroactivement par rapport aux nouvelles exigences en matière de complexité et de longueur des mots de passe. Seuls les nouveaux mots de passe sont validés par rapport à la nouvelle stratégie.
SQL Server évalue les mots de passe existants en fonction de l’ancienneté requise.
Il est possible que les mots de passe expirent immédiatement après la modification d’une stratégie de mot de passe. Par exemple, si CHECK_EXPIRATION est activé pour une connexion et que son mot de passe a été modifié pour la dernière fois il y a 100 jours, et que vous définissez le paramètre rds.password_max_age sur 5 jours, le mot de passe expire immédiatement. Le mot de passe doit être modifié lors de la prochaine tentative de connexion.
Note
RDS for SQL Server ne prend pas en charge les stratégies d’historique de mot de passe. Les stratégies d’historique empêchent les connexions de réutiliser les mots de passe précédemment utilisés.
Considérations sur les déploiements multi-AZ
Le compteur de tentatives de connexion infructueuses et l’état de blocage des instances multi-AZ ne se répliquent pas entre les nœuds. Si une connexion est bloquée lorsqu’une instance multi-AZ bascule, il est possible que la connexion soit déjà débloquée sur le nouveau nœud.