您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_passwordpolicy

语法

  • 指定、删除并列出新的口令复杂程度选项:

    
    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>

  • allow password downgrade

    结束口令降级阶段。在口令降级期间,口令以新旧两种编码存储在 syslogins 中,以在服务器降级(如降级到 SAP ASE 15.0.2)时允许保留用户口令。

  • disallow simple passwords

    指定值为 1 时将启用该选项;值为 0 时将禁用该选项。

  • enable last login updates

    在 SAP ASE 验证中启用或禁用记录每次登录发生时的时间戳的代码。参数:

    - "set" – 设置此属性的值

    - "list" – 显示属性的当前值

    - "clear" – 从 sysattributes 中删除行。尽管 "clear" 从 sysattributes 中删除行,但在您重新启动 SAP ASE 服务器或者 "set" 设置新值前,上次设置仍然有效。

  • expire login

    指定在创建新的登录名或在 SSO 更改登录口令时,将登录名的口令标记为到期,从而强制用户在其首次登录时更改口令。

  • keypair regeneration period

    指示 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" 表示两分钟。

  • 'H' – 指示以小时为单位的持续时间。

  • 'D' – 指示以天为单位的持续时间。如果不指定其它格式,则这是缺省值。

  • 'W' – 指示以周为单位的持续时间。

  • 'M' – 指示以月为单位的持续时间。

  • 'Y' – 指示以年为单位的持续时间。

    <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]

    指定可以针对尝试失败后重新生成密钥对而设置的多种配置:

  • wait – 指定发生故障后在重新生成密钥对之前等待的时间。

  • count – 指定您希望 SAP ASE 服务器在失败后尝试重新生成密钥对的次数。

  • rsa keysize</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。

用法