在专用 Exadata 基础结构上将 Microsoft Active Directory 与自治 AI 数据库结合使用
您可以在专用 Exadata 基础结构上配置 Autonomous AI Database,以对 Microsoft Active Directory 用户进行验证和授权。此配置允许 Active Directory 用户使用其 Active Directory 身份证明访问自治 AI 数据库。
注:有关将 Azure Active Directory 与 Autonomous AI Database 一起使用的信息,请参阅将 Azure Active Directory (Azure AD) 与 Autonomous AI Database 一起使用。CMU 选项支持 Microsoft Active Directory 服务器,但不支持 Azure Active Directory 服务。
自治 AI 数据库与集中管理用户 (Centrally Managed Users,CMU) 的集成提供了与 Microsoft Active Directory 的集成。具有 Active Directory 的 CMU 通过将 Oracle 数据库全局用户和全局角色映射到 Microsoft Active Directory 用户和组来工作。
使用自治 AI 数据库上的 Microsoft Active Directory 配置 CMU 的先决条件
下面是配置从自治 AI 数据库到 Active Directory 的连接所需的先决条件:
-
您必须安装并配置 Microsoft Active Directory。有关更多信息,请参见 AD DS Getting Started 。
-
必须在 Active Directory 中创建 Oracle 服务目录用户。有关 Oracle 服务目录用户帐户的信息,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 26ai Security Guide 中的 Step 1:Create an Oracle Service Directory User Account on Microsoft Active Directory and Grant Permissions 。
-
Active Directory 系统管理员必须在 Active Directory 服务器上安装 Oracle 密码过滤器,并使用 Active Directory 用户设置 Active Directory 组以满足您的要求。
自治 AI 数据库的 CMU 仅支持密码验证,因此您必须使用包含的实用程序
opwdintg.exe在 Active Directory 上安装 Oracle 密码筛选器,扩展方案,并创建三个新的ORA_VFR组以生成三种类型的密码验证器。有关安装 Oracle 口令过滤器的信息,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 26ai Security Guide 中的 Step 2:For Password Authentication,Install the Password Filter and Extend the Microsoft Active Directory Schema 。 -
必须通过公共 Internet 从自治 AI 数据库访问 Active Directory 服务器,并且 Active Directory 服务器的端口 636 必须向 Oracle Cloud Infrastructure 中的自治 AI 数据库开放,以便自治 AI 数据库能够通过 TLS/SSL 通过 TLS/SSL 通过 Internet 对 Active Directory 服务器进行安全的 LDAP 访问。
您还可以将内部部署 Active Directory 扩展到 Oracle Cloud Infrastructure,在其中可以为内部部署 Active Directory 设置只读域控制器 (RODC)。然后,您可以在 Oracle Cloud Infrastructure 中使用这些 RODC 来验证和授权内部部署 Active Directory 用户访问自治 AI 数据库。
有关详细信息,请参阅在混合云中扩展 Active Directory 集成。
-
您需要 CMU 配置数据库 wallet、
cwallet.sso和 CMU 配置文件dsi.ora来为自治 AI 数据库配置 CMU:-
如果您为内部部署数据库配置了 CMU,则可以从内部部署数据库服务器获取这些配置文件。
-
如果您尚未为内部部署数据库配置 CMU,则需要创建这些文件。然后,将配置文件上载到云,以在自治 AI 数据库实例上配置 CMU。通过为内部部署数据库配置 CMU 并验证 Active Directory 用户是否可以使用这些配置文件成功登录到内部部署数据库,可以验证 wallet 和
dsi.ora。然后,将这些配置文件上载到云,以便为自治 AI 数据库配置 CMU。
有关 CMU 的 wallet 文件的详细信息,请参见:
-
Oracle Database 19c Security Guide 或 Oracle Database 26ai Security Guide 中的 Step 6:Create the Wallet for a Secure Connection
-
Step 8:Verify the Oracle Wallet in Oracle Database 19c Security Guide and Oracle Database 26ai Security Guide 。
有关 CMU 的
dsi.ora文件的详细信息,请参见《Oracle Database 19c Security Guide 》或《Oracle Database 26ai Security Guide 》中的 Creating the dsi.ora File 。有关为 CMU 配置 Active Directory 以及为内部部署数据库排除 CMU 故障的详细信息,请参见 How To Configure Centrally Managed Users for Database Release 18c or Later Releases (Doc ID 2462012.1) 。
-
在自治 AI 数据库上使用 Microsoft Active Directory 配置 CMU
要为 CMU 配置自治 AI 数据库以连接到 Active Directory 服务器,请执行以下操作:
-
以 ADMIN 用户身份连接到自治 AI 数据库。
-
验证您的数据库是否已启用其他外部验证方案,并禁用该方案。
注:您可以继续在 Kerberos 上进行 CMU-AD 配置,以便为 Microsoft Active Directory 用户提供 CMU-AD Kerberos 验证。
-
将 CMU 配置文件(包括数据库 wallet 文件、
cwallet.sso和 CMU 配置文件dsi.ora)上载到对象存储。此步骤取决于您使用的对象存储。dsi.ora配置文件包含用于查找 Active Directory 服务器的信息。如果您使用的是 Oracle Cloud Infrastructure 对象存储,请参阅将数据放置到对象存储以了解有关上载文件的详细信息。
-
在自治 AI 数据库上,创建新目录对象或选择现有目录对象。这是用于存储 wallet 和用于连接到 Active Directory 的配置文件的目录:
例如:
CREATE OR REPLACE DIRECTORY cmu_wallet_dir AS 'cmu_wallet';使用以下 SQL 语句查询目录对象的文件系统目录路径:
SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='directory_object_name';例如:
SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='CMU_WALLET_DIR';DIRECTORY_PATH ---------------------------------------------------------------------------- /file_system_directory_path_example/cmu_wallet注:查询中的目录对象名称必须大写,因为在创建目录对象时未保留其大小写。
如果要保留目录对象名称的大小写,则需要将其名称包含在双引号中。例如:
CREATE OR REPLACE DIRECTORY "CMU_wallet_dir" AS 'cmu_wallet'; -
使用
DBMS_CLOUD.GET_OBJECT将 CMU 配置文件(数据库 walletcwallet.sso和dsi.ora)从对象存储复制到在上面的步骤 4 中创建或选择的目录。例如,使用
DBMS_CLOUD.GET_OBJECT将文件从对象存储复制到CMU_WALLET_DIR,如下所示:BEGIN DBMS_CLOUD.GET_OBJECT( credential_name => 'DEF_CRED_NAME', object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/cwallet.sso', directory_name => 'CMU_WALLET_DIR'); DBMS_CLOUD.GET_OBJECT( credential_name => 'DEF_CRED_NAME', object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/dsi.ora', directory_name => 'CMU_WALLET_DIR'); END; /在此示例中,
*namespace-string*是 Oracle Cloud Infrastructure 对象存储名称空间,bucketname是存储桶名称。有关详细信息,请参阅了解对象存储名称空间。有关详细信息,请参阅 GET_OBJECT 过程。
使用下面的 SQL 语句查询复制到目录的文件。
SELECT * FROM DBMS_CLOUD.LIST_FILES('directory_object_name');例如:
SELECT * FROM DBMS_CLOUD.LIST_FILES('CMU_WALLET_DIR');请注意,此查询中的目录对象名称必须大写,因为在创建目录对象时未保留其大小写。
-
使用
DBMS_CLOUD_ADMIN程序包在自治 AI 数据库中启用 CMU-AD。注:将以下示例中的目录名称替换为为您的环境选择的目录名称。在运行此命令之前,请确保您以 ADMIN 用户身份登录。
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type => 'CMU', params => JSON_OBJECT('directory_name' value 'CMU_WALLET_DIR') ); END; / -
要维护安全性,请从对象存储中删除 CMU 配置文件,包括数据库 wallet
cwallet.sso和 CMU 配置文件dsi.ora。可以使用本地对象存储方法删除这些文件,或使用DBMS_CLOUD.DELETE_OBJECT从对象存储中删除文件。有关
DBMS_CLOUD.DELETE_OBJECT的更多信息,请参见 DELETE_OBJECT Procedure 。
注:有关禁用从自治 AI 数据库到 Active Directory 的访问的说明,请参见 Disable Active Directory Access on Autonomous AI Database 。
有关详细信息,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 26ai Security Guide 中的 Configuring Centrally Managed Users with Microsoft Active Directory 。
在 Exadata Cloud@Customer 上使用 Microsoft Active Directory 配置 CMU
适用于:
仅限 Exadata Cloud@Customer
要在 Exadata Cloud@Customer for CMU 上配置自治 AI 数据库以连接到 Active Directory 服务器,而不使用 Oracle 对象存储服务:
-
以 ADMIN 用户身份连接到自治 AI 数据库。
-
验证您的数据库是否已启用其他外部验证方案,并使用以下 SQL 命令将其禁用。
BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; / -
CMU-AD 需要自治 Exadata VM 集群 (AVMC) 上本地文件系统上的 Active Directory 连接 wallet
cwallet.sso和dsi.ora文件。您可以通过在 Oracle Cloud Infrastructure 的 Oracle 对象存储服务中托管这些文件,然后使用DBMS_CLOUD程序包在本地复制这些文件来实现此目的。您可以在 Configure CMU with Microsoft Active Directory on Autonomous AI Database 中找到此过程以及详细的步骤和示例。 -
如果无法在云存储中托管
cwallet.sso和dsi.ora,则可以使用数据中心中的网络文件系统 (Network File System,NFS) 共享来托管这些文件,然后将其移动到数据库文件系统 (Database File System,DBFS) 下的数据库目录。为此,必须首先将本地可用的 NFS 共享附加到 Autonomous AI Database 目录对象,如下所示:-
使用 SQL 客户机中的以下 SQL 命令在自治 AI 数据库实例中创建数据库目录:
create or replace directory TMPFSSDIR as 'tmpfssdir'; -
使用自治 AI 数据库中提供的
DBMS_CLOUD_ADMIN软件包将 NFS 共享挂载到此目录。提示:您可能需要与网络或存储管理员合作,才能使 NFS 共享可用。
BEGIN DBMS_CLOUD_ADMIN.attach_file_system( file_system_name => <some_name_you_assign>, file_system_location => <your_nfs_fs_path>, directory_name => <tmpfssdir_created_above>, description => 'Any_desc_you_like_to_give' ); END例如:
BEGIN DBMS_CLOUD_ADMIN.attach_file_system( file_system_name => 'AD-FSS', file_system_location => acme.com:/nfs/mount1', directory_name => 'TMPFSSDIR', description => 'nfs to host AD files' ); END;
-
-
要避免对 CMU 可用的
cwallet.sso和dsi.ora文件的 NFS 共享产生依赖性,请使用数据库目录映射将其移至本地文件系统文件夹。由于自治 AI 数据库限制对本地文件系统的访问,因此请使用utl_file创建复制过程,如下所示:-
使用 SQL 客户机中的以下 SQL 命令在自治 AI 数据库实例中创建数据库目录:
CREATE OR REPLACE DIRECTORY cmu_wallet_dir AS 'cmu_wallet'; -
使用以下 SQL 命令检查上面创建的目录的目录路径:
SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME ='CMU_WALLET_DIR';注:目录对象名称在查询中必须以大写形式显示,因为在创建目录对象时未保留其大小写。
-
使用
UTL_FILE实用程序将dsi.ora和cwallet.sso从 NFS 目录复制到本地 CMU Wallet 目录。例如:
创建一个名为
copyfile的存储过程,如下所示:CREATE OR REPLACE PROCEDURE copyfile( in_loc_dir IN VARCHAR2, in_filename IN VARCHAR2, out_loc_dir IN VARCHAR2, out_filename IN VARCHAR2 ) IS in_file UTL_FILE.file_type; out_file UTL_FILE.file_type; buffer_size CONSTANT INTEGER := 32767; buffer RAW (32767); buffer_length INTEGER; BEGIN in_file := UTL_FILE.fopen (in_loc_dir, in_filename, 'rb', buffer_size); out_file := UTL_FILE.fopen (out_loc_dir, out_filename, 'wb', buffer_size); UTL_FILE.get_raw (in_file, buffer, buffer_size); buffer_length := UTL_RAW.LENGTH (buffer); WHILE buffer_length > 0 LOOP UTL_FILE.put_raw (out_file, buffer, TRUE); IF buffer_length = buffer_size THEN UTL_FILE.get_raw (in_file, buffer, buffer_size); buffer_length := UTL_RAW.LENGTH (buffer); ELSE buffer_length := 0; END IF; END LOOP; UTL_FILE.fclose (in_file); UTL_FILE.fclose (out_file); EXCEPTION WHEN NO_DATA_FOUND THEN UTL_FILE.fclose (in_file); UTL_FILE.fclose (out_file); END; /编译
copyfile存储过程。成功编译后,每运行一次copyfile过程,将dsi.ora和cwallet.sso从 NFS 目录复制到本地 CMU Wallet 目录,如下所示:EXEC copyfile('TMPFSSDIR','dsi.ora','CMU_WALLET_DIR','dsi.ora');EXEC copyfile('TMPFSSDIR','cwallet.sso','CMU_WALLET_DIR','cwallet.sso'); -
运行以下 SQL 查询以验证文件是否已成功复制到本地 CMU Wallet 目录。
SELECT * FROM DBMS_CLOUD.LIST_FILES('CMU_WALLET_DIR');
-
-
使用以下命令,分离 NFS 共享,因为在将文件复制到本地目录后,不需要用于 CMU-AD。
exec DBMS_CLOUD_ADMIN.detach_file_system(file_system_name => <FILE_SYSTEM_NAME>); -
使用
DBMS_CLOUD_ADMIN程序包在自治 AI 数据库中启用 CMU-AD。注:将以下示例中的目录名称替换为为您的环境选择的目录名称。在运行此命令之前,请确保您以 ADMIN 用户身份登录。
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type => 'CMU', params => JSON_OBJECT('directory_name' value 'CMU_WALLET_DIR') ); END; / -
通过查询数据库属性 CMU_WALLET 的属性值进行验证,如下所示。
SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME = 'CMU_WALLET';例如:
SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='CMU_WALLET';PROPERTY_VALUE -------------- CMU_WALLET_DIR
您现在已将 CMU-AD 配置为通过 Microsoft Active Directory 将外部验证与 Exadata Cloud@Customer 上的自治 AI 数据库结合使用。
在自治 AI 数据库上添加 Microsoft Active Directory 角色
要添加 Active Directory 角色,请使用 CREATE ROLE 或 ALTER ROLE 语句将数据库全局角色映射到 Active Directory 组(并包括 IDENTIFIED GLOBALLY AS 子句)。
要在自治 AI 数据库上为 Active Directory 组添加全局角色,请执行以下操作:
-
以 ADMIN 用户身份登录到配置为使用 Active Directory 的数据库(ADMIN 用户具有这些步骤所需的
CREATE ROLE和ALTER ROLE系统权限)。 -
使用
CREATE ROLE或ALTER ROLE语句为自治 AI 数据库角色设置数据库授权。包括IDENTIFIED GLOBALLY AS子句并指定 Active Directory 组的 DN。使用以下语法将目录用户组映射到数据库全局角色:
CREATE ROLE global_role IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';例如:
CREATE ROLE widget_sales_role IDENTIFIED GLOBALLY AS 'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com';在此示例中,
widget_sales_group的所有成员在登录到数据库时都获得了数据库角色widget_sales_role的授权。 -
使用
GRANT语句向全局角色授予所需的特权或其他角色。例如:
GRANT CREATE SESSION TO WIDGET_SALES_ROLE; GRANT DWROLE TO WIDGET_SALES_ROLE;DWROLE是定义了公用权限的预定义角色。有关为自治 AI 数据库用户设置公用权限的信息,请参阅管理数据库用户权限。 -
如果要使现有数据库角色与 Active Directory 组关联,则使用
ALTER ROLE语句更改现有数据库角色,以将该角色映射到 Active Directory 组。使用以下语法更改现有数据库角色以将其映射到 Active Directory 组:
ALTER ROLE existing_database_role IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER'; -
如果要为其他 Active Directory 组创建其他全局角色映射,请针对每个 Active Directory 组执行以下步骤。
有关使用 Microsoft Active Directory 配置角色的更多信息,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 26ai Security Guide 中的 Configuring Authorization for Centrally Managed Users 。
在自治 AI 数据库上添加 Microsoft Active Directory 用户
要添加 Active Directory 用户以访问自治 AI 数据库,请使用 CREATE USER 或 ALTER USER 语句(带有 IDENTIFIED GLOBALLY AS 子句)将数据库全局用户映射到 Active Directory 组或用户。
通过将 Microsoft Active Directory 用户和组直接映射到 Oracle 数据库全局用户和全局角色,可以将 Autonomous AI Database 与 Active Directory 集成。
要为自治 AI 数据库上的 Active Directory 组或用户添加全局用户,请执行以下操作:
-
以 ADMIN 用户身份登录到配置为使用 Active Directory 的数据库(ADMIN 用户具有这些步骤所需的
CREATE USER和ALTER USER系统权限)。 -
使用
CREATE USER或ALTER USER语句为自治 AI 数据库用户设置数据库授权,并包括IDENTIFIED GLOBALLY AS子句,以指定 Active Directory 用户或组的 DN。使用以下语法将目录用户映射到数据库全局用户:
CREATE USER global_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_USER';使用以下语法将目录组映射到数据库全局用户:
CREATE USER global_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';例如,要将
production.example.com域的sales组织单元中名为widget_sales_group的目录组映射到名为WIDGET_SALES的共享数据库全局用户:CREATE USER widget_sales IDENTIFIED GLOBALLY AS 'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com';这将创建共享全局用户映射。全局用户
widget_sales的映射对 Active Directory 组中的所有用户都有效。因此,widget_sales_group中的任何人都可以使用其 Active Directory 凭证(通过widget_sales全局用户的共享映射)登录到数据库。 -
如果希望 Active Directory 用户使用现有数据库用户、拥有其方案并拥有其现有数据,则使用
ALTER USER更改现有数据库用户以将用户映射到 Active Directory 组或用户。-
使用以下语法更改现有数据库用户以将其映射到 Active Directory 用户:
ALTER USER existing_database_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_USER'; -
使用以下语法更改现有数据库用户以将其映射到 Active Directory 组:
ALTER USER existing_database_user IDENTIFIED GLOBALLY AS 'DN_of_an_AD_GROUP_of_WHICH_the_AD_USER_IS_a_MEMBER';
-
-
如果要为其他 Active Directory 组或用户创建其他全局用户映射,请针对每个 Active Directory 组或用户执行以下步骤。
有关使用 Microsoft Active Directory 配置角色的更多信息,请参阅 Oracle Database 19c Security Guide 或 Oracle Database 26ai Security Guide 中的 Configuring Authorization for Centrally Managed Users 。
使用 Active Directory 用户身份证明连接到自治 AI 数据库
ADMIN 用户完成 CMU Active Directory 配置步骤并创建全局角色和全局用户后,用户使用其 Active Directory 用户名和密码登录到自治 AI 数据库。
注:请勿使用全局用户名登录。全局用户名没有密码,与全局用户名连接将不成功。必须在自治 AI 数据库中具有全局用户映射才能登录到数据库。无法仅使用全局角色映射登录到数据库。
要使用 Active Directory 用户名和密码登录到自治 AI 数据库,请按如下方式连接:
CONNECT "AD_DOMAIN\AD_USERNAME"/AD_USER_PASSWORD@TNS_ALIAS_OF_THE_AUTONOMOUS_DATABASE;
例如:
CONNECT "production\pfitch"/password@adbname_medium;
当 Active Directory 域与用户名一起包含时,需要包含双引号,如以下示例所示:"production\pfitch"。
在此示例中,域 production 中的 Active Directory 用户名为 pfitch。Active Directory 用户是 widget_sales_group 组的成员,该组由其 DN 'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com' 标识。
在自治 AI 数据库上使用 Active Directory 配置 CMU 并设置具有全局角色和全局用户的 Active Directory 授权后,您可以使用关于连接到专用自治 AI 数据库中所述的任何连接方法连接到自治 AI 数据库。连接时,如果要使用 Active Directory 用户,则使用 Active Directory 用户凭证。例如,以这种形式提供用户名 "AD_DOMAIN\AD_USERNAME"(必须包括双引号),然后将 AD_USER_PASSWORD 用于密码。
使用自治 AI 数据库验证 Active Directory 用户连接信息
用户使用其 Active Directory 用户名和密码登录到自治 AI 数据库时,可以验证和审计用户活动。
例如,当用户 pfitch 登录时:
CONNECT "production\pfitch"/password@exampleadb_medium;
Active Directory 用户的登录用户名 (samAccountName) 为 pfitch,widget_sales_group 是 Active Directory 组名称,widget_sales 是自治 AI 数据库全局用户。
pfitch 登录到数据库后,命令 SHOW USER 显示全局用户名:
SHOW USER;
USER is "WIDGET_SALES"
以下命令显示 Active Directory 用户的 DN(唯一判别名):
SELECT SYS_CONTEXT('USERENV', 'ENTERPRISE_IDENTITY') FROM DUAL;
例如,您可以验证此集中管理用户的企业身份:
SQL> SELECT SYS_CONTEXT('USERENV', 'ENTERPRISE_IDENTITY') FROM DUAL;
SYS_CONTEXT('USERENV','ENTERPRISE_IDENTITY')
----------------------------------------------------------------------
cn=Peter Fitch,ou=sales,dc=production,dc=examplecorp,dc=com
以下命令显示 "AD_DOMAIN\AD_USERNAME":
SELECT SYS_CONTEXT('USERENV', 'AUTHENTICATED_IDENTITY') FROM DUAL;
例如,当用户登录到数据库时,将捕获并审计通过 Active Directory 验证的用户身份:
SQL> SELECT SYS_CONTEXT('USERENV', 'AUTHENTICATED_IDENTITY') FROM DUAL;
SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY')
----------------------------------------------------------------------
production\pfitch
有关详细信息,请参阅 Oracle Database 19c Security Guide 中的 Verifying the Centrally Managed User Logon Information 或 Oracle Database 26ai Security Guide 。
删除自治 AI 数据库上的 Active Directory 用户和角色
要从自治 AI 数据库中删除 Active Directory 用户和角色,请使用标准数据库命令。这不会删除从已删除的数据库用户或角色映射的相关 Active Directory 用户或组。
要从自治 AI 数据库中删除用户或角色,请执行以下操作:
-
登录到配置为将 Active Directory 用作已授予
DROP USER或DROP ROLE系统权限的用户的数据库。 -
使用
DROP USER或DROP ROLE语句删除映射到 Active Directory 组或用户的全局用户或全局角色。有关更多信息,请参见 Remove Database Users 。
在自治 AI 数据库上禁用 Active Directory 访问
介绍从自治 AI 数据库中删除 CMU 配置的步骤(以及禁用从自治 AI 数据库到 Active Directory 的 LDAP 访问)。
将自治 AI 数据库实例配置为访问 CMU Active Directory 之后,可以按如下方式禁用访问:
-
以 ADMIN 用户身份连接到自治 AI 数据库。
-
使用
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION禁用 CMU 验证。注:要运行此过程,您必须以 ADMIN 用户身份登录,或者对
DBMS_CLOUD_ADMIN具有EXECUTE权限。例如:
BEGIN DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION; END; /这将禁用自治 AI 数据库实例上的 CMU 验证。
有关更多信息,请参见 DISABLE_EXTERNAL_AUTHENTICATION Procedure 。
自治 AI 数据库上 Microsoft Active Directory 的限制
以下限制适用于自治 AI 数据库上具有 Active Directory 的 CMU:
-
具有自治 AI 数据库的 CMU 仅支持“密码验证”和 Kerberos。将 CMU 验证用于自治 AI 数据库时,不支持其他验证方法,例如 Azure AD、OCI IAM 和 PKI。
-
具有自治 AI 数据库的 Active Directory 用户不支持 Oracle Application Express 和 Database Actions。