sp_passwordpolicy {"set" | "clear" | "list"}, <policy_option>, <option_value>
sp_passwordpolicy "validate password options"
sp_passwordpolicy "regenerate keypair"
sp_passwordpolicy {"set" | "clear" | "list"}, "RSA keysize","<size>"
sp_passwordpolicy "expire role passwords", "[<rolename> | <wildcard>]"
sp_passwordpolicy "expire login passwords", "[<login_name> | <wildcard>]"
sp_passwordpolicy "expire stale role passwords", "<datetime>"
sp_passwordpolicy "expire stale login passwords", "<datetime>"
sp_passwordpolicy "help"
set
为选项设定一个值。使用 set 时,必须指定 <policy_option>。
clear
删除 master.dbo.sysattributes 表中指定选项所对应的行。因为如果未指定任何策略选项,clear 将删除 sysattributes 表中的所有选项行,因此您必须在使用 clear 时指定 <policy_option>。
list
列出指定选项的值。使用 list 时,必须指定 <policy_option>。
<policy_option>, <option_value>
string 或(varchar)。set、clear 和 list 的选项参数,值为 <option_value>:
结束口令降级阶段。在口令降级期间,口令以新旧两种编码存储在 syslogins 中,以在服务器降级(如降级到 SAP ASE 15.0.2)时允许保留用户口令。
指定值为 1 时将启用该选项;值为 0 时将禁用该选项。
在 SAP ASE 验证中启用或禁用记录每次登录发生时的时间戳的代码。参数:
- "set" – 设置此属性的值
- "list" – 显示属性的当前值
- "clear" – 从 sysattributes 中删除行。尽管 "clear" 从 sysattributes 中删除行,但在您重新启动 SAP ASE 服务器或者 "set" 设置新值前,上次设置仍然有效。
指定在创建新的登录名或在 SSO 更改登录口令时,将登录名的口令标记为到期,从而强制用户在其首次登录时更改口令。
指示 RSA 密钥对的重新生成期间。RSA 密钥对的选项值为 {([<keypair regeneration frequency>], <datetime of first generation>) | (<keypair regeneration frequency>, [<datetime of first generation>])}
<keypair regeneration frequency>
是 RSA 密钥对的重新生成频率。有效的值范围(以小时为单位)为 1 到 8,760。缺省值为 NULL,这种情况下每隔 24 小时重新生成一次密钥对。它使用以下各项来指定持续时间的格式指示符:
'T*M' – 指示以分钟为单位的持续时间,将星号 (*) 替换为数字值,如 "T2M" 表示两分钟。
<datetime of first generation>
为首次生成密钥对的日期和时间。如果仅为 <datetime of first generation> 的值指定时间,则安排在 24 小时之后的该时间点重新生成 RSA 密钥对。如果您:
<datetime of first generation> – 只要经过该时间,SAP ASE 服务器会立即重新生成新的 RSA 密钥对;否则 SAP ASE 服务器会等到指定的时间。
<datetime of first generation> – SAP ASE 服务器会在 RSA 密钥对最新的生成时间加上 <keypair regeneration period> 后所得的时间重新生成新的 RSA 密钥对(前提是尚未经过这一计算的时间);否则 SAP ASE 服务器会立即重新生成新的 RSA 密钥对。
后续的密钥对生成时间基于最新的密钥对生成时间以及 <keypair regeneration period> 值。
> 注意
不能同时将 <keypair regeneration frequency> 和 <datetime of first generation> 的值设置为 NULL。
keypair error retry [wait | count]
指定可以针对尝试失败后重新生成密钥对而设置的多种配置:
</p>
<p>指示网络口令加密密钥大小。</p>
<p> - set – 指定密钥大小。将密钥大小配置为 1024 并将 512 个字节增加到 4096。缺省密钥大小为 2048 位。</p>
<p> - clear – 将密钥大小设置为缺省大小。</p>
<p> - list – 显示设置的密钥大小。</p>
<p></li></ul><ul><li>maximum failed logins</p>
<p>指示会话中允许的登录失败次数上限,达到此次数之后帐户将被锁定。</p>
<p></li></ul><ul><li>min alpha in password</p>
<p>指定口令中字母字符的最小数目。</p>
<p></li></ul><ul><li>min digits in password</p>
<p>指定口令中允许包含的数字的最小数目。</p>
<p></li></ul><ul><li>min lower char in password</p>
<p>指定口令中允许包含的小写字母的最小数目。</p>
<p></li></ul><ul><li>min special char in password</p>
<p>指定口令中允许包含的特殊字符的最小数目。</p>
<p></li></ul><ul><li>min upper char in password</p>
<p>指定口令中允许包含的大写字母的最小数目。</p>
<p></li></ul><ul><li>minimum password length</p>
<p>指示口令的最小长度。</p>
<p></li></ul><ul><li>password exp warn interval</p>
<p>指定口令的有效期警告间隔(以天为单位)。</p>
<p></li></ul><ul><li>systemwide password expiration</p>
<p>指定系统范围的口令有效期(以天为单位)。</p>
<p></li></ul><ul><li>unique keypair per session</p>
<p>指定可以为每个用户设置的用于生成唯一密钥对的配置:</p>
<p> - 1 – 指定为每个用户连接生成新的密钥对。</p>
<p> - 0 – 指定所有连接共享同一个 RSA 密钥对。</p>
<p>> 注意</br></p>
<p>如果 sp_configure "net password encryption reqd" 配置为 3,将忽略此口令策略选项,因为不需要每个会话都有一个唯一密钥对来确保口令安全。</p>
<p> "expire login passwords", "[</p>
<p>使登录口令、所有登录名或与通配符模式匹配的登录名到期。master 数据库目录 syslogins 中的列状态更新为状态位 LOGIN_EXPIRED (0x4),表示口令已到期。</p>
<p> "expire role passwords", "[</p>
<p> 使一个角色、所有角色或者与通配符模式匹配的角色的口令到期。master 数据库目录 syssrvroles 中的列状态更新为状态位 ROLE_EXPIRED (0x4),表示口令已到期:</p>
<p> "expire stale login passwords", "</p>
<p>使在指定日期时间后尚未更改的登录口令到期。master 数据库目录 syslogins 中的列状态更新为状态位 LOGIN_EXPIRED (0x0004),表示口令已到期。</p>
<p>"expire stale role passwords", "</p>
<p>使在指定日期时间后尚未更改的角色口令到期。master 数据库目录 syssrvroles 中的列状态更新为状态位 ROLE_EXPIRED (0x4),表示口令已到期。</p>
<p>"regenerate keypair"</p>
<p>生成用于网络登录口令加密的非对称密钥对。此选项没有目录更新;这些操作仅发生在内存字段中。</p>
<p>"validate password options"</p>
<p>报告设置的口令复杂程度选项值中的错误或不一致,包括长度和有效期方面的错误和不一致。结果以表格格式报告,其中每一行表示一个验证步骤、该步骤的结果以及执行的验证测试。结果为通过、未通过或不适用 (NA) 这三者之一。如果有任何验证测试未通过,则返回状态设置为 1。</p>
<h3>示例</h3>
<p>为清楚起见,对这些示例的输出重新设置了格式,这些输出与您在执行此过程时屏幕上显示的输出并不相似。</p>
<h4>口令有效期警告间隔的示例</h4>
<p>将口令有效期警告间隔设置为口令到期前七天:</p>
<div class="code-block"><pre><code>
sp_passwordpolicy 'set',
'password exp warn interval', '7'
列出特殊字符的最小数目的选项:
sp_passwordpolicy 'list',
'min special char in password'
将 disallow simple passwords 重置为缺省值:
sp_passwordpolicy 'clear', 'disallow simple passwords'
以下示例演示了如何使用 validate password options。
以下口令复杂程度选项及其值存储在服务器中:
minimum password length: 8
min alpha in password: 2
min digits in password: 2
min upper char in password: 2
min lower char in password: 2
若要验证这些选项,请输入:
sp_passwordpolicy 'validate password options'
Validation Step Pass/Fail/NA Validation Test
--------------- ------------ -----------------------------
min alpha in password Fail 'min alpha in password' > = 'min
upper char in password + 'min
lower char in password'
minimum password length - 1 Pass 'minimum password length' > = 'min
digits in password' + 'min special
char in password' + 'min alpha in
password'
minimum password length - 2 Pass 'minimum password length' > = 'min
digits in password' + min special
char in password' + 'min upper
char in password' + 'min lower
char in password'
maximum password length - 1 Pass 'max password length' > = 'min
digits in password' + 'min
special char in password' + 'min
alpha in password'
maximum password length – 2 Pass 'max password length' > = 'min
digits in password' + 'min special
char in password' + 'min upper
char in password' + 'min lower
char in password'
password exp warn interval NA 'password exp warn interval' < =
'systemwide password expiration'
(6 rows affected)
(return status = 1)
存在一处故障:min upper char in password + min lower char in password 之和大于 min alpha in password 的值,因此验证步骤 min alpha in password 失败。
将 HouseKeeper 任务设置为每隔两小时自动生成密钥对,开始时间为 2007 年 8 月 15 日中午 12:01:
sp_passwordpolicy "set", "keypair regeneration period",
"2H", "Aug 15 2007 12:01 AM"
设置 SAP ASE 服务器在失败后尝试重新生成密钥对之前应等待的时间:
sp_passwordpolicy 'set', 'keypair error retry wait', '10'
将 SAP ASE 服务器在失败后尝试重新生成密钥对的次数设置为 5:
sp_passwordpolicy 'set', 'keypair error retry count', '5'
显示所有命令、选项及其值的简要说明:
sp_passwordpolicy "help"
go
sp_ passwordpolicy Usage: sp_passwordpolicy 'help'
sp_ passwordpolicy Usage: sp_passwordpolicy command [, option1 [, option2 [, option3]]]
sp_passwordpolicy commands:
sp_passwordpolicy 'set',
{'enable last login updates' | 'disallow simple passwords' |
'min digits in password' | 'min alpha in password' |
'min special char in password' | 'min upper char in password' |
'min lower char in password' | 'password exp warn interval' |
'systemwide password expiration' | 'minimum password length' |
'maximum failed logins' | 'expire login' |
'allow password downgrade' | 'keypair error retry wait' |
'keypair error retry count' | 'unique keypair per session' |
'RSA keysize'},
'value'
sp_passwordpolicy 'set', 'keypair regeneration period',
{'regeneration_period' |
null, 'datetime' |
'regeneration_period', 'datetime'}
sp_passwordpolicy 'list',
['enable last login updates' | 'disallow simple passwords' |
'min digits in password' | 'min alpha in password' |
'min special char in password' | 'min upper char in password' |
'min lower char in password' | 'password exp warn interval' |
'systemwide password expiration' | 'minimum password length' |
'maximum failed logins' | 'expire login' |
'allow password downgrade' |
'keypair error retry wait' | 'keypair error retry count' |
'keypair regeneration period' | 'unique keypair per session' | 'RSA keysize']
sp_passwordpolicy 'clear',
{'enable last login updates' | 'disallow simple passwords' |
'min digits in password' | 'min alpha in password' |
'min special char in password' | 'min upper char in password' |
'min lower char in password' | 'password exp warn interval' |
'systemwide password expiration' | 'minimum password length' |
'maximum failed logins' | 'expire login' |
'keypair error retry wait' | 'keypair error retry count' |
'keypair regeneration period' | 'unique keypair per session' |
'RSA keysize'}
sp_passwordpolicy 'expire login passwords'[, '{loginame | wildcard}']
sp_passwordpolicy 'expire role passwords'[, '{rolename | wildcard}']
sp_passwordpolicy 'expire stale login passwords', 'datetime'
sp_passwordpolicy 'expire stale role passwords', 'datetime'
sp_passwordpolicy 'regenerate keypair'[, 'datetime']
sp_passwordpolicy 'validate password options'
(return status = 0)
验证存储在 SAP ASE 服务器中的以下选项:
minimum password length: 8
min digits in password: 2
min special char in password: 2
min alpha in password: 6
min upper char in password: 3
min lower char in password: 3
sp_passwordpolicy 'validate password options'
Validation Step Pass/Fail/NA Validation Test
--------------- ------------ -----------------------------
min alpha in password Pass 'min alpha in password' > = 'min upper
char in password' + 'min lower
char in password'
minimum password length-1 Fail 'minimum password length' > = 'min
digits in password' + 'min special
char in password' + 'min alpha in password'
minimum password length-2 Fail 'minimum password length' > = 'min
digits in password' + 'min special
char in password' + 'min upper
char in password' + 'min lower
char in password'
maximum password length-1 Pass 'max password length' > = 'min
digits in password' + 'min special
char in password' + 'min alpha in password'
maximum password length–2 Pass 'max password length' > = 'min
digits in password' + 'min
special char in password' + 'min
upper char in password' + 'min
lower char in password'
password exp warn interval NA 'password exp warn interval' < =
'systemwide password expiration'
(6 rows affected)
(return status = 1)
步骤 2 和步骤 3 中存在两处故障。min digits in password、min special char in password 和 min alpha in password 之和大于 minimum password length 的值,因此验证步骤 minimum password length -1 失败。min digits in password、min special char in password、min upper char in password 和 min lower char in password 之和大于 minimum password length 的值,因此验证步骤 minimum password length -2 失败。
演示选项 'validate password options'。
以下口令复杂程度选项及其值存储在服务器中:
minimum password length: 8
min alpha in password: 2
min digits in password: 2
min upper char in password: 2
min lower char in password: 2
sp_passwordpolicy 'validate password options'
Validation Step Pass/Fail/NA Validation Test
--------------- ------------ --------------------------
min alpha in password Fail 'min alpha in password' > = 'min
upper char in password + 'min
lower char in password'
minimum password length - 1 Pass 'minimum password length' > = 'min
digits in password' + 'min special
char in password' + 'min alpha in
password'
minimum password length - 2 Pass 'minimum password length' > = 'min
digits in password' + min special
char in password' + 'min upper
char in password' + 'min lower
char in password'
maximum password length - 1 Pass 'max password length' > = 'min
digits in password' + 'min
special char in password' + 'min
alpha in password'
maximum password length – 2 Pass 'max password length' > = 'min
digits in password' + 'min special
char in password' + 'min upper
char in password' + 'min lower
char in password'
password exp warn interval NA 'password exp warn interval' < =
'systemwide password expiration'
(6 rows affected)
(return status = 1)
存在一处故障:min upper char in password + min lower char in password 之和大于 min alpha in password 的值,因此验证步骤 min alpha in password 失败。
验证存储在 SAP ASE 服务器中的以下选项:
minimum password length: 8
min digits in password: 2
min special char in password: 2
min alpha in password: 6
min upper char in password: 3
min lower char in password: 3
sp_passwordpolicy 'validate password options'
Validation Step Pass/Fail/NA Validation Test
--------------- ------------ --------------------------
min alpha in password Pass 'min alpha in password' > = 'min upper
char in password' + 'min lower
char in password'
minimum password length-1 Fail 'minimum password length' > = 'min
digits in password' + 'min special
char in password' + 'min alpha in
password'
minimum password length-2 Fail 'minimum password length' > = 'min
digits in password' + 'min special
char in password' + 'min upper
char in password' + 'min lower
char in password'
maximum password length-1 Pass 'max password length' > = 'min
digits in password' + 'min special
char in password' + 'min alpha in
password'
maximum password length–2 Pass 'max password length' > = 'min
digits in password' + 'min
special char in password' + 'min
upper char in password' + 'min
lower char in password'
password exp warn interval NA 'password exp warn interval' < =
'systemwide password expiration'
(6 rows affected)
(return status = 1)
步骤 2 和步骤 3 中存在两处故障。
min digits in password、min special char in password 和 min alpha in password 之和大于 minimum password length 的值,因此验证步骤 minimum password length -1 失败。min digits in password、min special char in password、min upper char in password 和 min lower char in password 之和大于 minimum password length 的值,因此验证步骤 minimum password length -2 失败。
验证存储在 SAP ASE 服务器中的以下选项:
minimum password length: 8
min digits in password: 11
min special char in password: 11
min alpha in password: 11
min upper char in password: 1
min lower char in password: 1
sp_passwordpolicy 'validate password options'
Validation Step Pass/Fail/NA Validation Test
--------------- ------------ --------------------------
min alpha in password Pass 'min alpha in password' > = 'min
upper char in password' + 'min
lower char in password'
minimum password length-1 Fail 'minimum password length' > = 'min
digits in password' + 'min
special char in password' + 'min
alpha in password'
minimum password length-2 Fail 'minimum password length' > = 'min
digits in password' + 'min special
char in password' + 'min upper
char in password' + 'min lower
char in password'
maximum password length-1 Fail 'max password length' > = 'min
digits in password' + 'min special
char in password' + 'min alpha in
password'
maximum password length–2 Pass 'max password length' > = 'min
digits in password' + 'min special
char in password' + 'min upper
char in password' + 'min lower
char in password'
password exp warn interval NA 'password exp warn interval' < =
'systemwide password expiration'
(6 rows affected)
(return status = 1)
有三处故障,其中包括一处严重故障,即测试最大口令长度时出现的一处故障:各个必需的口令组成部分之和大于允许的最大口令。
验证存储在 SAP ASE 服务器中的以下选项:
minimum password length: 8
min digits in password: 2
min special char in password: 1
min alpha in password: 4
min upper char in password: 0
min lower char in password: 0
sp_passwordpolicy 'validate password options'
Validation Step Pass/Fail/NA Validation Test
--------------- ------------ --------------------------
min alpha in password Pass 'min alpha in password' > = 'min
upper char in password' + 'min
lower char in password'
minimum password length-1 Pass 'minimum password length' > =
'min digits in password' + 'min
special char in password' +
'min alpha in password'
minimum password length-2 Pass 'minimum password length' > =
'min digits in password' + 'min
special char in password' +
'min upper char in password' +
'min lower char in password'
maximum password length-1 Pass 'max password length' > = 'min
digits in password' + 'min
special char in password' + 'min
'min alpha in password'
maximum password length–2 Pass 'max password length' > = 'min
digits in password' + 'min
special char in password' + 'min
upper char in password' + 'min
lower char in password'
password exp warn interval NA 'password exp warn interval' < =
'systemwide password expiration'
(6 rows affected)
(return status = 0)
这些设置不存在故障。此示例报告所有五行都已返回,且返回状态为 0。
指定的值。</p>
<p></li></ul><ul><li>以下两个存储过程具有同样的效果:
sp_passwordpolicy 'set', 'keypair regeneration period', NULL [,
<datetime of first generation>]
sp_passwordpolicy 'regenerate keypair' [, <datetime of first generation>]
- @@lastkpgendate – 反映上次生成密钥对的日期和时间。
- @@nextkpgendate – 反映下次生成密钥对的时间。
登录口令复杂程度检查已扩展到角色口令。
复杂程度检查包括:
SAP ASE 高可用性功能在主服务器和辅助服务器之间同步口令策略选项。
口令策略选项为:
SAP ASE 服务器使用“password policy”定额属性在主服务器和辅服务器上检查这些值是否存在不一致(keypair regeneration period、keypair error retry wait 和 keypair error retry count 除外)。
如果这些值在两个服务器上都相同,则高可用性建议检查会成功,否则会失败。例如:
sp_companion "MONEY1", do_advisory, 'all'
go
Attribute Name Attrib Type Local Value Remote Value Advisory
-------------- ----------- ----------- ----------- ------
expire login password po 1 0 2
maximum failed password po 3 5 2
min alpha in pa assword po 10 12 2
输出的 advisory 列的值设置为 2,表示除非两个协同服务器上的值相同,否则用户不能进行聚簇操作。
sp_companion do_advisory 的输出也指示两个服务器上特定口令策略检查的不一致。