使用专用 Exadata 基础结构上的 Autonomous Database 管理用户概要文件
您可以在 Autonomous Database 中创建和更改用户概要文件。创建或更改配置文件后,可以使用 CREATE USER
或 ALTER USER
指定配置文件子句。您还可以使用 Oracle Data Pump Import 从其他环境中导入现有用户概要文件。
注意:
Autonomous Database 对 profile 子句具有限制。有关 CREATE PROFILE
和 ALTER PROFILE
限制的信息,请参见 Limitations on the Use of SQL Commands 。
要在配置文件(包括 DEFAULT
配置文件)中添加、修改或删除口令参数,必须具有 ALTER PROFILE
系统权限。
这将使用配置文件 new_profile
和连接特权创建 new_user
。new_user
现在可以连接到数据库并运行查询。要向用户授予其他权限,请参阅管理数据库用户权限。
有关使用 CREATE PROFILE
的信息,请参见 Oracle Database 19c SQL Language Reference 中的 CREATE PROFILE 或 Oracle Database 23ai SQL Language Reference 。
您可以使用 Oracle Data Pump 导入 (impdp
) 导入在其他环境中创建的现有概要文件。导入到 Autonomous Database 后,将保留与数据库用户的任何现有概要信息关联。从 Oracle Data Pump 导入创建的新用户尝试首次登录时,按如下方式处理登录:
- 密码复杂性限制与 Autonomous Database 上任何用户的限制相同。
-
如果用户的密码违反了密码复杂性要求,则该帐户将在 30 天宽限期内过期。在这种情况下,用户必须在宽限期结束之前更改其密码。
注意:
无法修改配置文件为ORA_PROTECTED_PROFILE
的用户的配置文件分配。
创建或更改配置文件时,可以指定密码验证函数 (Password Verification Function,PVF) 来管理密码复杂性。有关详细信息,请参阅在 Autonomous Database 上管理密码复杂性。
在 Autonomous Database 上管理密码复杂性
您可以创建密码验证函数 (Password Verify Function,PVF) 并将 PVF 与配置文件关联,以管理用户密码的复杂性。
注意:
用户指定的 PVF 的最小密码长度为 8 个字符,并且必须至少包含一个大写字母、一个小写字母和一个数字字符。DEFAULT 配置文件的最小密码长度为 12 个字符(DEFAULT 配置文件使用CLOUD_VERIFY_FUNCTION
PVF)。密码不能包含用户名。
Oracle 建议使用最少密码长度 12 个字符。如果定义配置文件的 PVF,并将最小密码长度设置为少于 12 个字符,则 Oracle Database Security Assessment Tool (DBSAT) 和 Qualys 等工具将此报告为数据库安全风险。
例如,要为配置文件指定 PVF,请使用以下命令:
CREATE PROFILE example_profile LIMIT PASSWORD_VERIFY_FUNCTION ADMIN.EXAMPLE_PVF
如果配置文件是由 ADMIN 用户以外的任何用户创建或更改的,则必须对 PVF 授予 EXECUTE
特权。如果创建 PVF 且口令检查失败,则数据库将报告 ORA-28219
错误。
您可以从以下项之一指定 Oracle 提供的 PVF:
CLOUD_VERIFY_FUNCTION
(这是 Autonomous Database 的默认密码验证功能):此函数在用户创建或修改密码时检查以下要求:
-
密码长度必须介于 12 到 30 个字符之间,并且必须至少包含一个大写字母、一个小写字母和一个数字字符。
-
密码不能包含用户名。
-
密码不能是同一用户名最后四个密码之一。
-
密码不能包含双引号 (") 字符。
-
密码不能是 24 小时内设置的同一密码。
-
ORA12C_STIG_VERIFY_FUNCTION
此函数在用户创建或修改密码时检查以下要求:
-
密码至少包含 15 个字符。
-
密码至少有 1 个小写字符和至少 1 个大写字符。
-
密码至少有 1 位数字。
-
密码至少包含 1 个特殊字符。
-
口令与上一个口令至少有 8 个字符。
有关详细信息,请参阅 Oracle Database 19c Security Guide 中的 ora12c_stig_verify_function Password Requirements 或 Oracle Database 23ai Security Guide 。
-
请注意您创建并分配给配置文件的密码验证功能 (Password Verification Function,PVF) 的以下限制:
-
如果指定用户配置文件,则最小密码长度取决于如何定义关联的 PVF,如下所示:
-
如果定义了 PVF,则实施的最小密码长度为 8 个字符,至少有一个大写字母、一个小写字母和一个数字字符。密码不能包含用户名。
-
如果将 PVF 定义为
NULL
,则实施的最小密码长度为 8 个字符,至少有一个大写字母、一个小写字母和一个数字字符。密码不能包含用户名。 -
如果配置文件没有定义 PVF,则会指定 DEFAULT 配置文件的 PVF (
CLOUD_VERIFY_FUNCTION
),且强制使用的最小密码长度为 12 个字符。
-
- 如果指定的口令验证函数 (Password Verify Function,PVF) 比缺省的
CLOUD_VERIFY_FUNCTION
更严格,则使用新的验证函数。 -
创建的 PVF 必须创建为
DEFINER RIGHTS
PL/SQL 函数。如果将INVOKER
权限 PVF 作为CREATE
或ALTER
PROFILE
的输入提供,则会引发ORA-28220
错误。 -
您创建的任何 PVF 必须在 ADMIN 用户方案中创建。如果将非 ADMIN 用户拥有的 PVF 作为输入提供给
CREATE
或ALTER
PROFILE
,则会引发ORA-28220
错误。 -
非 ADMIN 用户无法更改或删除 PVF。也就是说,不允许具有
CREATE
或DROP
ANY PROCEDURE
特权的任何用户更改或删除 PVF。 -
如果删除与配置文件关联的 PVF,则任何更改在其配置文件中使用 PVF 的用户的口令的尝试都会引发错误
ORA-7443
。当删除与其配置文件关联的 PVF 时,用户仍可以登录。但是,如果用户的密码已过期并且 PVF 被删除,则用户无法登录。要从
ORA-7443
错误恢复, ADMIN 用户必须重新创建已删除的 PVF 并将其分配给配置文件,或者将现有 PVF 分配给配置文件。这允许用户更改其密码和登录名。 -
审计
CREATE ANY PROCEDURE
系统特权和DROP ANY PROCEDURE
系统特权以实现 PVF 安全性。有关详细信息,请参阅 Oracle Database 19c SQL Language Reference 中的PROCEDURES
列表或 Oracle Database 23ai SQL Language Reference 中的 Listings of System and Object Privileges 。
有关详细信息,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 23ai Security Guide 中的 Managing the Complexity of Passwords 。
应用程序的逐步数据库密码滚动更新
应用程序可以更改其数据库密码,而无需管理员安排停机时间。
为此,可以将对 PASSWORD_ROLLOVER_TIME
口令概要文件参数具有非零限制的概要文件与应用程序方案关联。这允许更改应用程序用户的数据库密码,同时允许较旧的密码在 PASSWORD_ROLLOVER_TIME
限制指定的时间内保持有效。在滚存期间,应用程序实例可以使用旧密码或新密码连接到数据库服务器。滚存时间到期时,只允许使用新密码。
有关更多信息,请参见 Managing Gradual Database Password Rollover for Applications 。