Политика паролей

Область применения: SQL Server

SQL Server может использовать механизмы политики паролей Windows. Политика паролей применяется к имени входа, которое использует проверку подлинности SQL Server, и к пользователю автономной базы данных с паролем.

SQL Server может применять те же политики сложности и срока действия, которые используются в Windows, к паролям, используемым внутри SQL Server. Эти возможности построены на API-интерфейсе NetValidatePasswordPolicy .

Примечание.

База данных SQL Azure обеспечивает сложность пароля. К База данных SQL Azure не применяются разделы об истечении срока действия пароля и политике.

Сведения о политике паролей для Управляемый экземпляр SQL Azure см. в Управляемый экземпляр SQL часто задаваемых вопросов.

Сложность пароля

Политика сложности паролей позволяет отражать атаки, использующие простой перебор, путем увеличения числа возможных паролей. Если применяется политика сложности паролей, новые пароли должны удовлетворять следующим требованиям.

  • Пароль не содержит имя учетной записи пользователя.

  • Длина пароля составляет не менее восьми символов.

  • Пароль содержит символы, соответствующие трем из следующих четырех категорий:

    • прописные латинские буквы (А-Z)

    • строчные латинские буквы (a-z)

    • Десять цифр (от 0 до 9)

    • Неэлементные символы, такие как восклицательный знак (!), знак доллара ($), знак номера (#) или процент (%).

Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.

Истечение срока действия пароля

Политика истечения срока действия паролей используется для управления продолжительностью действия пароля. Когда SQL Server применяет политику истечения срока действия паролей, пользователи получают уведомления о необходимости изменения старых паролей, а учетные записи с истекшим сроком действия пароля отключаются.

политик безопасности

Применение политики паролей можно настроить отдельно для каждого имени входа SQL Server. Используйте ALTER LOGIN (Transact-SQL), чтобы настроить параметры политики паролей для входа SQL Server. Для настройки принудительного применения политики паролей действуют следующие правила.

  • При переключении параметра CHECK_POLICY на значение ON происходит следующее:

    • CHECK_EXPIRATION также имеет значение ON, если не задано явное значение OFF.

    • Журнал паролей инициализируется значением хэша текущего пароля.

    • Включены также параметрыпродолжительность существования блокировки учетной записи, пороговое значение блокировки учетной записии сброс счетчика блокировки учетной записи после .

  • При переключении параметра CHECK_POLICY в значение OFF происходит следующее:

    • Параметр CHECK_EXPIRATION также получает значение OFF.

    • Журнал паролей очищается.

    • Значение параметра lockout_time сбрасывается.

Некоторые сочетания параметров политики не поддерживаются.

  • Если задан параметр MUST_CHANGE, то параметры CHECK_EXPIRATION и CHECK_POLICY должны иметь значение ON. В противном случае выполнение инструкции приведет к ошибке.

  • Если для CHECK_POLICY задано значение OFF, CHECK_EXPIRATION не удается установить в значение ON. Выполнение инструкции ALTER LOGIN с таким сочетанием параметров завершится ошибкой.

  • При установке параметра CHECK_POLICY = ON блокируется создание следующих паролей:

    • пустых или неопределенных;

    • совпадающих с именем компьютера или именем входа;

    • Любой из следующих элементов: password, admin, saadministratorsysadmin

Политика безопасности может быть настроена в Windows или получена из домена. Для просмотра политики паролей на компьютере используется оснастка консоли управления "Локальная политика безопасности" (secpol.msc).

Примечание.

Для имен входа SQL Server с включенными CHECK_POLICY, если вы запускаете ALTER LOGIN и не включаете OLD_PASSWORD в команду для изменения пароля, то принудительное применение журнала паролей игнорируется. Это поведение путем разработки, позволяющее сбрасывать пароли, несмотря на любые ранее используемые пароли. Другие проверки, связанные с CHECK_POLICY, включая длину и сложность, проверяются независимо от того, используется ли OLD_PASSWORD.

Проверка сведений о политике паролей пользователя SQL

Вы можете просмотреть политики паролей пользователей SQL и даты окончания срока действия в SQL Server с помощью следующего запроса. Хотя следующий запрос также работает в База данных SQL Azure, в База данных SQL Azure применяется только сложность пароля.

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)

СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ (Transact-SQL)

ALTER USER (Transact-SQL)

Создание имени входа

Создание пользователя базы данных