Stratégie de mot de passe

S’applique à : SQL Server

SQL Server peut utiliser des mécanismes de stratégie de mot de passe Windows. La stratégie de mot de passe s’applique à une connexion qui utilise l’authentification SQL Server et à un utilisateur de base de données autonome avec un mot de passe.

SQL Server peut appliquer la même complexité et les mêmes stratégies d’expiration utilisées dans Windows pour les mots de passe utilisés dans SQL Server. Cette fonctionnalité dépend de l'API NetValidatePasswordPolicy .

Remarque

Azure SQL Database applique la complexité des mots de passe. Les sections sur l’expiration du mot de passe et l’application de la stratégie ne s’appliquent pas à Azure SQL Database ;

Pour plus d’informations sur la stratégie de mot de passe pour Azure SQL Managed Instance, consultez notre FAQ sur SQL Managed Instance.

Complexité des mots de passe

Les stratégies de mot de passe complexes sont conçues pour décourager les attaques en augmentant le nombre de mots de passe possibles. Lorsque la stratégie de mot de passe complexe est mise en œuvre, les nouveaux mots de passe doivent respecter les critères suivants :

  • Le mot de passe ne doit pas contenir le nom du compte de l’utilisateur.

  • Les mots de passe doivent compter au moins huit caractères.

  • Les mots de passe doivent contenir des caractères appartenant à trois des quatre catégories suivantes :

    • Lettres majuscules de l'alphabet latin (A à Z)

    • Lettres minuscules de l'alphabet latin (a à z)

    • Chiffres en base 10 (de 0 à 9)

    • Caractères non alphanumériques tels que : point d’exclamation (!), symbole dollar ($), signe dièse (#) ou pourcent (%).

Les mots de passe peuvent comporter jusqu'à 128 caractères. Utilisez des mots de passe aussi longs et complexes que possible.

Expiration des mots de passe

Les stratégies d'expiration des mots de passe servent à gérer la durée de vie d'un mot de passe. Lorsque SQL Server applique la stratégie d’expiration des mots de passe, les utilisateurs sont invités à modifier leur ancien mot de passe, et les comptes dont le mot de passe est arrivé à expiration sont désactivés.

Mode d'application d'une stratégie

L'application de la stratégie de mot de passe peut être configurée séparément pour chaque connexion SQL Server. Utilisez ALTER LOGIN (Transact-SQL) pour configurer les options de stratégie de mot de passe d’une connexion SQL Server. Les règles suivantes régissent la configuration du mode d'application des stratégies de mot de passe :

  • Lorsque CHECK_POLICY prend la valeur ON, les actions suivantes se produisent :

    • CHECK_EXPIRATION prend également la valeur ON, sauf si la valeur OFF est définie explicitement.

    • L'historique du mot de passe est initialisé avec la valeur du hachage de mot de passe actuel.

    • Les optionsDurée de verrouillage de compte, Seuil de verrouillage de compteet Réinitialiser le compteur de verrouillages du compte après sont également activées.

  • Lorsque CHECK_POLICY prend la valeur OFF, les actions suivantes se produisent :

    • CHECK_EXPIRATION ON prend également la valeur OFF.

    • L'historique du mot de passe est supprimé.

    • La valeur de lockout_time est réinitialisée.

Certaines combinaisons d’options de stratégie ne sont pas prises en charge.

  • Si MUST_CHANGE est spécifié, CHECK_EXPIRATION et CHECK_POLICY doivent prendre la valeur ON. Sans quoi, l'instruction échoue.

  • Si CHECK_POLICY prend la valeur OFF, CHECK_EXPIRATION ne peut pas prendre la valeur ON. Si cette combinaison d'options est utilisée dans une instruction ALTER LOGIN, l'instruction échoue.

  • Le paramètre CHECK_POLICY = ON interdit la création des mots de passe qui sont :

    • NULL ou vides

    • Identiques au nom de l'ordinateur ou de la connexion

    • Un des éléments suivants : password, admin, administrator, sa, sysadmin

La stratégie de sécurité peut être définie dans Windows ou peut être reçue du domaine. Pour afficher la stratégie de mot de passe sur l’ordinateur, utilisez le composant logiciel enfichable MMC Stratégie de sécurité locale (secpol.msc).

Remarque

Pour les comptes de connexion SQL Server qui ont CHECK_POLICY activées, si vous exécutez ALTER LOGIN et que vous n’incluez pas OLD_PASSWORD dans la commande pour modifier le mot de passe, alors Conserver l’historique du mot de passe est ignoré. Il s’agit d’un comportement lié à la conception permettant d’autoriser les réinitialisations de mot de passe, malgré les mots de passe précédemment utilisés. Les autres contrôles associés à CHECK_POLICY, notamment la longueur et la complexité, sont vérifiés indépendamment de l’utilisation de OLD_PASSWORD.

Vérification des informations de stratégie de mot de passe d’utilisateur SQL

Vous pouvez consulter les stratégies et les dates d’expiration de mot de passe d’utilisateur SQL dans SQL Server à l’aide de la requête suivante. Bien que la requête suivante fonctionne également dans Azure SQL Database, seule la règle de complexité du mot de passe est appliquée dans Azure SQL Database.

SELECT name,
    is_policy_checked,
    is_expiration_checked,
    LOGINPROPERTY(name, 'IsMustChange') AS IsMustChange,
    LOGINPROPERTY(name, 'IsLocked') AS IsLocked,
    LOGINPROPERTY(name, 'LockoutTime') AS LockoutTime,
    LOGINPROPERTY(name, 'PasswordLastSetTime') AS PasswordLastSetTime,
    LOGINPROPERTY(name, 'IsExpired') AS IsExpired,
    LOGINPROPERTY(name, 'BadPasswordCount') AS BadPasswordCount,
    LOGINPROPERTY(name, 'BadPasswordTime') AS BadPasswordTime,
    LOGINPROPERTY(name, 'HistoryLength') AS HistoryLength,
    modify_date
FROM sys.sql_logins;

CREATE LOGIN (Transact-SQL)

ALTER LOGIN (Transact-SQL)

CRÉER UN UTILISATEUR (Transact-SQL)

ALTER USER (Transact-SQL)

Créer un compte de connexion

Créer un utilisateur de base de données