在专用 Exadata 基础结构上使用自治 AI 数据库管理用户概要文件
您可以在自治 AI 数据库中创建和更改用户概要信息。创建或更改配置文件后,可以使用 CREATE USER 或 ALTER USER 指定配置文件子句。您还可以使用 Oracle Data Pump Import 从其他环境导入现有用户概要文件。
注:自治 AI 数据库对 profile 子句具有限制。有关 CREATE PROFILE 和 ALTER PROFILE 限制的信息,请参见 Limitations on the Use of SQL Commands 。
要添加、修改或删除配置文件(包括 DEFAULT 配置文件)中的口令参数,您必须具有 ALTER PROFILE 系统权限。
-
在 ADMIN 用户运行
CREATE PROFILE或ALTER PROFILE时添加或更改配置文件。例如:CREATE PROFILE new_profile LIMIT PASSWORD_REUSE_MAX 10 PASSWORD_LOCK_TIME 5;如果您不是 ADMIN 用户,则必须具有
CREATE PROFILE权限才能运行CREATE PROFILE。如果运行ALTER PROFILE,则必须具有ALTER PROFILE权限。 -
通过
CREATE USER或ALTER USER命令使用新的或已更改的配置文件。例如:CREATE USER new_user IDENTIFIED BY password PROFILE new_profile; GRANT CREATE SESSION TO new_user;
这将创建配置文件为 new_profile 且具有连接特权的 new_user。new_user 现在可以连接到数据库并运行查询。要向用户授予其他权限,请参见 Manage Database User Privileges 。
有关使用 CREATE PROFILE 的信息,请参阅 Oracle Database 19c SQL Language Reference 中的 CREATE PROFILE 或 Oracle Database 26ai SQL Language Reference 。
您可以使用 Oracle Data Pump Import (impdp) 导入在其他环境中创建的现有配置文件。在导入自治 AI 数据库后,将保留与数据库用户的任何现有概要信息关联。当新创建的用户(从 Oracle Data Pump 导入创建)首次尝试登录时,将按如下方式处理登录:
-
密码复杂性限制与自治 AI 数据库中任何用户的限制相同。
-
如果用户的密码违反了密码复杂性要求,则该帐户将过期 30 天的宽限期。在这种情况下,用户需要在宽限期结束之前更改其密码。
注:无法修改配置文件为 ORA_PROTECTED_PROFILE 的用户的配置文件分配。
创建或更改配置文件时,可以指定密码验证函数 (Password Verification Function,PVF) 来管理密码复杂性。有关详细信息,请参阅在自治 AI 数据库上管理密码复杂性。
在自治 AI 数据库上管理密码复杂性
可以创建密码验证函数 (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(这是自治 AI 数据库的默认密码验证功能):此功能在用户创建或修改口令时检查以下要求:
-
密码的长度必须介于 12 到 30 个字符之间并且必须至少包含一个大写字母、一个小写字母和一个数字字符。
-
密码不能包含用户名。
-
密码不能为同一用户名最近使用过的四个密码之一。
-
密码不能包含双引号 (") 字符。
-
密码不能与在 24 小时前设置的密码相同。
-
-
ORA12C_STIG_VERIFY_FUNCTION此功能在用户创建或修改口令时检查以下要求:
-
密码至少包含 15 个字符。
-
密码至少包含 1 个小写字符和 1 个大写字符。
-
密码至少为 1 位数。
-
密码至少包含 1 个特殊字符。
-
密码与以前的密码至少有 8 个字符。
有关更多信息,请参见 ora12c_stig_verify_function Password Requirements in Oracle Database 19c Security Guide 或 Oracle Database 26ai 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 RIGHTSPL/SQL 函数。如果将INVOKER权限 PVF 作为输入提供给CREATE或ALTERPROFILE,则会引发ORA-28220错误。 -
必须在 ADMIN 用户方案中创建您创建的任何 PVF。如果将非 ADMIN 用户拥有的 PVF 作为输入提供给
CREATE或ALTERPROFILE,则会引发ORA-28220错误。 -
非 ADMIN 用户无法更改或删除 PVF。也就是说,不允许具有
CREATE或DROPANY PROCEDURE特权的任何用户更改或删除 PVF。 -
如果删除与配置文件关联的 PVF,则任何更改配置文件中使用 PVF 的用户的密码的尝试都会引发错误
ORA-7443。当删除与其配置文件关联的 PVF 时,用户仍可以登录。但是,如果用户的密码已过期并且 PVF 已被删除,则用户无法登录。要从
ORA-7443错误中恢复,ADMIN 用户必须重新创建已删除的 PVF 并将其分配给配置文件,或者将现有 PVF 分配给配置文件。这允许用户更改其密码和登录。 -
针对 PVF 安全性审计
CREATE ANY PROCEDURE系统权限和DROP ANY PROCEDURE系统权限。有关详细信息,请参阅 Oracle Database 19c SQL Language Reference 或 Oracle Database 26ai SQL Language Reference 中的 Listings of System and Object Privileges 中的PROCEDURES列表。
有关详细信息,请参阅 Oracle Database 19c Security Guide 中的 Managing the Complexity of Passwords 或 Oracle Database 26ai Security Guide 。
应用程序的逐步数据库密码滚动更新
应用程序可以更改其数据库密码,而无需管理员安排停机时间。
要实现此目的,可以将对 PASSWORD_ROLLOVER_TIME 口令概要文件参数具有非零限制的概要文件与应用程序方案相关联。这允许更改应用程序用户的数据库密码,同时允许较早的密码在 PASSWORD_ROLLOVER_TIME 限制指定的时间内保持有效。在滚存期间,应用程序实例可以使用旧密码或新密码连接到数据库服务器。滚存时间到期时,仅允许使用新密码。
有关详细信息,请参阅管理应用程序的逐步数据库密码滚动更新。