使用CREATE PROFILE命令可创建新配置文件。
语法如下:
CREATE PROFILE profile_name
[LIMIT {parameter value} ... ];
包括 LIMIT 子句以及一个或多个空格分隔的parameter/value 对,以指定PolarDB O引擎强制实施的规则。
参数
参数 | 说明 |
profile_name | 指定配置文件的名称。 |
parameter | 指定配置文件限制的属性。 |
value | 指定参数限制。 |
对于每个 parameter,PolarDB O引擎支持以下显示的 value:
FAILED_LOGIN_ATTEMPTS 指定在服务器将用户账户锁定 PASSWORD_LOCK_TIME 所指定的时间长度之前,用户可能进行的登录尝试失败次数。支持的值为:
大于 0 的 INTEGER 值。
DEFAULT - DEFAULT 配置文件中指定的 FAILED_LOGIN_ATTEMPTS 的值。
UNLIMITED – 正在连接的用户可以进行无限次数的失败登录尝试。
PASSWORD_LOCK_TIME 指定在服务器解锁因 FAILED_LOGIN_ATTEMPTS 而被锁定的账户之前必须经过的时间长度。支持的值为:
大于等于 0 的 NUMERIC 值。要指定一天的小数部分,请指定一个小数值。例如,使用值 4.5 可指定 4 天 12 小时。
DEFAULT - DEFAULT 配置文件中指定的 PASSWORD_LOCK_TIME 的值。
UNLIMITED – 账户被锁定,直到由数据库超级用户手动解锁。
PASSWORD_LIFE_TIME 指定在提示用户提供新密码之前,可以使用当前密码的天数。在使用 PASSWORD_LIFE_TIME 子句时包含 PASSWORD_GRACE_TIME 子句可指定在角色的连接被拒绝之前,密码过期后将经过的天数。如果未指定 PASSWORD_GRACE_TIME,则密码将在 PASSWORD_GRACE_TIME 的默认值指定的那天过期,并且在提供新密码之前,不允许用户执行任何命令。支持的值为:
大于等于 0 的 NUMERIC 值。要指定一天的小数部分,请指定一个小数值。例如,使用值 4.5 可指定 4 天 12 小时。
DEFAULT - DEFAULT 配置文件中指定的 PASSWORD_LIFE_TIME 的值。
UNLIMITED – 密码没有过期日期。
PASSWORD_GRACE_TIME 指定密码过期后的宽限期的长度,直到用户被迫更改密码为止。在宽限期过期后,将允许用户进行连接,但在用户更新其过期密码之前,不允许用户执行任何命令。支持的值为:
大于等于 0 的 NUMERIC 值。要指定一天的小数部分,请指定一个小数值。例如,使用值 4.5 可指定 4 天 12 小时。
DEFAULT - DEFAULT 配置文件中指定的 PASSWORD_GRACE_TIME 的值。
UNLIMITED – 宽限期是无限的。
PASSWORD_REUSE_TIME 指定用户在重新使用密码前必须等待的天数。
PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX 参数旨在一起使用。如果为其中一个参数指定有限值,而另一个参数为 UNLIMITED,则永远无法重新使用旧密码。如果这两个参数都设置为 UNLIMITED,则密码重新使用没有限制。支持的值为:
大于等于 0 的 NUMERIC 值。要指定一天的小数部分,请指定一个小数值。例如,使用值 4.5 可指定 4 天 12 小时。
DEFAULT - DEFAULT 配置文件中指定的 PASSWORD_REUSE_TIME 的值。
UNLIMITED – 可以不受限制地重新使用密码。
PASSWORD_REUSE_MAX 指定在密码可重新使用前必须发生的密码更改次数。
PASSWORD_REUSE_TIME 和 PASSWORD_REUSE_MAX 参数旨在一起使用。如果为其中一个参数指定有限值,而另一个参数为 UNLIMITED,则永远无法重新使用旧密码。如果这两个参数都设置为 UNLIMITED,则密码重新使用没有限制。支持的值为:
大于等于 0 的 INTEGER 值。
DEFAULT - DEFAULT 配置文件中指定的 PASSWORD_REUSE_MAX 的值。
UNLIMITED – 可以不受限制地重新使用密码。
PASSWORD_VERIFY_FUNCTION 指定密码复杂性。支持的值为:
PL/SQL 函数的名称。
DEFAULT - DEFAULT 配置文件中指定的 PASSWORD_VERIFY_FUNCTION 的值。
NULL
PASSWORD_ALLOW_HASHED 指定是否允许使用加密的密码。如果将值指定为 TRUE,系统将允许用户通过在客户端指定哈希计算加密密码来更改密码。不过,如果您将值指定为 FALSE,则必须以纯文本形式指定密码,以便有效地进行验证,否则,在服务器收到加密的密码时将引发错误。支持的值为:
BOOLEAN 值 TRUE/ON/YES/1 或 FALSE/OFF/NO/0。
DEFAULT - DEFAULT 配置文件中指定的 PASSWORD_ALLOW_HASHED 的值。
PASSWORD_ALLOW_HASHED 参数与 Oracle 不兼容。
注释
可使用 DROP PROFILE 命令删除配置文件。
示例
以下命令创建名为 acctg 的配置文件。该配置文件指定,如果用户在五次尝试内未采用正确的密码通过身份验证,则账户将锁定一天:
CREATE PROFILE acctg LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 1;
以下命令创建名为 sales 的配置文件。该配置文件指定,用户必须每隔 90 天更改一次密码:
CREATE PROFILE sales LIMIT
PASSWORD_LIFE_TIME 90
PASSWORD_GRACE_TIME 3;
如果用户在配置文件指定的 90 天过去之前未更改其密码,则登录时会收到警告。3 天宽限期过后,将不允许其账户调用任何命令,直到用户更改其密码。
以下命令创建名为 accts 的配置文件。该配置文件指定,用户在上次使用密码后 180 天内不能重新使用密码,且至少必须更改密码 5 次,之后才能重新使用密码:
CREATE PROFILE accts LIMIT
PASSWORD_REUSE_TIME 180
PASSWORD_REUSE_MAX 5;
以下命令创建名为 resources 的配置文件。该配置文件调用名为 password_rules 的用户定义函数,以验证所提供的密码是否满足其复杂性标准:
CREATE PROFILE resources LIMIT
PASSWORD_VERIFY_FUNCTION password_rules;