如何为我的 RDS for SQL Server 实例配置密码策略?

1 分钟阅读
0

我需要为我的 Amazon Relational Database Service (Amazon RDS) for Microsoft SQL Server 实例配置密码策略。应如何操作?

简短描述

密码策略和过期间隔是在主机级别(操作系统、Microsoft Windows 层)配置的。Amazon RDS 是一项托管服务。因此,不会因为操作系统访问受限而修改密码策略。

新建登录或者使用 SQL Server Management Studio(SSMS)或 T-SQL 修改登录时,默认已在 RDS for SQL Server 中启用密码策略。

解决方案

未将 RDS for SQL Server 实例加入到 Active Directory

如果未将实例加入到 Active Directory,则会在 Windows 操作系统上定义策略。您无法修改这些策略。以下是在 Windows 密码策略中配置的值:

  • **强制执行密码历史记录:**记住 0 个密码
  • **最小密码长度:**0 个字符
  • **密码必须符合复杂性要求:**已禁用
  • **使用可逆加密存储密码:**已禁用
  • **密码最短有效期:**0 天
  • **密码最长有效期:**42 天

**注意:**对于未加入 Active Directory 的 RDS for SQL Server 实例,账户锁定策略不可用。账户锁定策略需要访问基础操作系统。Amazon RDS 是一项托管服务,因此,主机级访问不可用。

RDS for SQL Server 实例未加入到 Active Directory

如果您在 RDS for SQL Server 中使用 Windows 身份验证,则可以强制执行和修改密码策略。这仅适用于 Windows 身份验证。无论是否加入域,SQL 身份验证都使用上一节中定义的本地密码策略。

运行以下查询,以确定使用密码策略配置的 SQL Server 登录以及实例上的密码到期时间:

select name, type_desc, create_date, modify_date, is_policy_checked,

       is_expiration_checked,  isnull(loginproperty(name,'DaysUntilExpiration'),'-') Days_to_Expire,  is_disabled

from sys.sql_logins

以下是 SQL Server 登录的密码策略强制执行和密码到期的可用选项:

**注意:**这些选项仅适用于已加入到域的 RDS for SQL Server 实例。

  • policy_checked 列为 0:SQL Server 登录没有任何密码策略强制执行。
  • policy_checked 列为 1is_expiration_checked0:SQL Serve 登录强制执行密码复杂性和锁定,但不会强制执行密码过期。
  • policy_checked 列和 is_expiration_checked 均为 1:SQL Server 登录强制执行密码复杂性、锁定和密码过期。

如果 policy_checkedis_expiration_checked 均为 0,则策略针对的是 RDS for SQL Server 数据库实例中的主用户。这表示没有为主用户设置密码复杂性、锁定设置和密码到期。因此,主用户在 RDS for SQL Server 中不会过期。如果您的主用户失去访问权限,则可以重置密码。有关更多信息,请参阅 为什么我的 RDS for SQL Server 实例的主用户失去了访问权限,我怎样才能找回访问权限?


AWS 官方
AWS 官方已更新 1 年前