配置 Amazon RDS for SQL Server 的密码策略 数据库博客
- 3
配置Amazon RDS for SQL Server的密码策略
关键要点
Amazon RDS for SQL Server现已支持为使用SQL Server身份验证的登录配置密码策略。密码策略可自定义,以满足企业的具体需求,包括密码长度、复杂性要求、密码过期及账户锁定等。文章将指导您如何在RDS for SQL Server中启用密码策略及创建符合该策略的SQL Server登录。Amazon关系数据库服务Amazon RDSfor SQL Server现在支持配置使用SQL Server身份验证的登录密码策略。该功能允许您根据业务需求创建定制的密码策略。SQL Server的密码策略定义了与密码评估及维护使用这些密码的实体相关的各种规则。密码策略可以包括:
对新密码实施长度和复杂性要求强制密码过期和轮换多次输入错误密码后锁定账户在本文中,我们将引导您完成在Amazon RDS for SQL Server上启用密码策略的过程,并创建符合该策略的SQL Server登录。
SQL Server的不同身份验证概述
SQL Server登录是一个服务器级对象,代表可以经过身份验证连接到数据库的安全主体。任何用户需要通过登录进行身份验证,才能连接到SQL Server实例。可以以以下形式创建登录:
使用SQL Server身份验证登录名和密码使用Windows身份验证Windows用户或域账户从证书创建从非对称密钥创建在本文中,我们关注如何为使用SQL Server身份验证的登录配置密码策略。
前置条件
在继续之前,您需要以下前置条件:
RDS for SQL Server实例具有访问权限的SQL Server管理工作室SSMS自定义参数组创建或修改参数组
您可以通过参数组在Amazon RDS for SQL Server上启用密码策略。有关更多信息,请参见使用参数组。
以下表格列出了可以配置以建立SQL Server密码策略的参数。所有参数都是动态的,您可以立即将更改应用于RDS数据库实例,而无需重启。
数据库参数描述允许的值默认值rdspasswordcomplexityenabled创建或更改SQL Server登录的密码时,必须满足密码复杂性要求。010rdspasswordminlengthSQL Server登录密码所需的最小字符数。0140rdspasswordminageSQL Server登录密码在用户可以更改之前必须使用的最小天数。密码在设置为0时可以立即更改。09980rdspasswordmaxageSQL Server登录密码可以使用的最大天数,用户必须在此时间之后更改密码。密码在设置为0时永不过期。099942rdspasswordlockoutthreshold导致SQL Server登录锁定的连续失败登录尝试次数。09990rdspasswordlockoutduration被锁定的SQL Server登录必须等待的分钟数,才能解除锁定。16010rdspasswordlockoutresetcounterafter失败登录尝试后,必须经过的分钟数,才能将失败登录尝试计数器重置为0。16010您可以创建新的参数组或使用现有的参数组,具体取决于您的RDS实例版本和版本。如果您的RDS实例正在使用默认参数组,则必须创建自定义参数组。假设您已经有一个RDS for SQL Server实例和附加的自定义参数组,请记下参数组的名称。然后完成以下步骤:
在Amazon RDS控制台上,找到您的RDS for SQL Server实例。在配置选项卡中,选择数据库实例参数组rdssqlparametergroup。
搜索名称中包含“password”的参数。这将加载有关RDS实例密码设置的所有参数。

选择编辑以修改参数值。
将rdspasswordcomplexityenabled的值从0更改为1。选择保存更改。注意:在RDS for SQL Server的多可用区配置中,密码策略适用于主实例和备用实例。
为SQL Server登录配置密码复杂性
现在您已启用参数rdspasswordcomplexityenabled,请连接到RDS实例并完成以下步骤,以将密码复杂性策略应用于现有的一个登录:
打开SSMS。使用具有ALTER ANY LOGIN权限的登录连接到RDS for SQL Server。展开安全性和登录名文件夹。选择一个现有的登录以查看其属性。输入复杂密码以重置该登录的密码。选中强制密码策略和强制密码过期。点击确定。设置密码锁定策略
让我们进一步为RDS for SQL Server实例添加锁定策略。有三个参数控制锁定行为。有关更多详细信息,请参见上述参数表:
rdspasswordlockoutthreshold默认值=0rdspasswordlockoutduration默认值=10rdspasswordlockoutresetcounterafter默认值=10要为SQL Server登录启用锁定策略,请返回RDS参数组,将rdspasswordlockoutthreshold参数从0更改为3。此设置将在3次未能输入密码后锁定SQL Server登录。
rdspasswordlockoutthreshold是一个动态参数,并将应用于所有已启用CHECKPOLICY的登录。
现在,您已启用锁定策略,对任何启用“CHECKPOLICY”或“强制密码策略”的SQL Server登录,如果连续3次输入错误密码,该登录将被锁定。
您可以通过SQL Server管理工作室查看SQL Server登录的状态,如下图所示。
或者,您也可以通过运行以下命令查看SQL Server日志:
EXEC rdsadmindbordsreaderrorlog
风驰mobile加速器RDS for SQL Server的错误日志显示,在3次错误密码尝试后,登录user1被锁定,且即使提供正确密码也无法连接。根据示例中的配置参数,锁定期将在10分钟后过期。数据库管理员可以随时手动解锁被锁定的登录。
注意:可配置数据库活动流以进行SQL Server审核,用于主动监控未成功的登录。
清理
如果您不再需要此设置并希望避免未来的费用,可以删除RDS for SQL Server实例。
结论
在本文中,我们分享了如何在RDS for SQL Server数据库实例中使用SQL Server身份验证强制实施登录的密码策略。此功能使您能够根据组织的要求配置SQL Server登录的密码策略。
尝试一下这一新功能,如果您有任何评论或问题,请在评论区留言。