在专用 Exadata 基础结构上将 Microsoft Active Directory 与 Autonomous Database 结合使用

您可以将 Autonomous Database on Dedicated Exadata Infrastructure 配置为对 Microsoft Active Directory 用户进行身份验证和授权。此配置允许 Active Directory 用户使用其 Active Directory 身份证明访问 an Autonomous Database

注意:

有关将 Azure Active Directory 与 Autonomous Database 结合使用的信息,请参阅将 Azure Active Directory (Azure AD) 与 Autonomous Database 一起使用。CMU 选项支持 Microsoft Active Directory 服务器,但不支持 Azure Active Directory 服务。

Autonomous Database 与集中管理用户 (Centrally Managed Users,CMU) 的集成提供了与 Microsoft Active Directory 的集成。CMU with Active Directory 通过将 Oracle 数据库全局用户和全局角色映射到 Microsoft Active Directory 用户和组来工作。

Autonomous Database 上使用 Microsoft Active Directory 配置 CMU 的先决条件

配置从 Autonomous Database 到 Active Directory 的连接需要满足以下先决条件:

  • 您必须已安装并配置 Microsoft Active Directory。有关详细信息,请参阅 AD DS 入门

  • 必须在 Active Directory 中创建 Oracle 服务目录用户。有关 Oracle 服务目录用户帐户的信息,请参阅《 Oracle Database 19c Security Guide 》《 Oracle Database 23ai Security Guide 》中的步骤 1:Create an Oracle Service Directory User Account on Microsoft Active Directory and Grant Permissions

  • Active Directory 系统管理员必须在 Active Directory 服务器上安装 Oracle 密码过滤器,并使用 Active Directory 用户设置 Active Directory 组以满足您的要求。

    对于 Autonomous Database ,CMU 仅支持密码验证,因此必须使用随附的实用程序 opwdintg.exe 在 Active Directory 上安装 Oracle 密码筛选器,扩展方案,以及为生成三种类型的密码验证器创建新的三个 ORA_VFR 组。有关安装 Oracle 密码过滤器的信息,请参见Oracle Database 19c Security GuideOracle Database 23ai Security Guide 中的 Step 2:For Password Authentication,Install the Password Filter and Extend the Microsoft Active Directory Schema

  • Active Directory 服务器必须可从 Autonomous Database 通过公共 Internet 访问,Active Directory 服务器的端口 636 必须对 Oracle Cloud Infrastructure 中的 Autonomous Database 打开,以便 Autonomous Database 可以通过 TLS/SSL 保护 LDAP 访问,通过 Internet 访问 Active Directory 服务器。

    您还可以将内部部署 Active Directory 扩展到 Oracle Cloud Infrastructure ,在其中可以为内部部署 Active Directory 设置只读域控制器 (RODC)。然后,您可以在 Oracle Cloud Infrastructure 中使用这些 RODC 来验证和授权本地 Active Directory 用户访问 Autonomous Database

    有关详细信息,请参阅在混合云中扩展 Active Directory 集成

  • 要为 Autonomous Database 配置 CMU,您需要使用 CMU 配置数据库 wallet cwallet.sso 和 CMU 配置文件 dsi.ora

    • 如果已为内部部署数据库配置 CMU,则可以从内部部署数据库服务器获取这些配置文件。

    • 如果您尚未为内部部署数据库配置 CMU,则需要创建这些文件。然后,将配置文件上载到云以在 Autonomous Database 实例上配置 CMU。您可以通过为内部部署数据库配置 CMU 并验证 Active Directory 用户是否可以使用这些配置文件成功登录到内部部署数据库来验证 wallet 和 dsi.ora。然后将这些配置文件上载到云,以便为 Autonomous Database 配置 CMU。

    有关 CMU 的 wallet 文件的详细信息,请参阅:

    有关 CMU 的 dsi.ora 文件的详细信息,请参阅 Creating the dsi.ora File in Oracle Database 19c Security GuideOracle Database 23ai Security Guide

    有关为 CMU 配置 Active Directory 以及为内部部署数据库排除 CMU 故障的详细信息,请参见 How To Configure Centrally Managed Users For Database Release 18c or Later Releases (Doc ID 2462012.1)

Autonomous Database 上使用 Microsoft Active Directory 配置 CMU

要为 CMU 配置 Autonomous Database 以连接到 Active Directory 服务器,请执行以下操作:

  1. 以 ADMIN 用户身份连接到 Autonomous Database
  2. 验证数据库上是否启用了其他外部验证方案,然后将其禁用。

    注意:

    您可以继续在 Kerberos 上进行 CMU-AD 配置,以便为 Microsoft Active Directory 用户提供 CMU-AD Kerberos 验证。
  3. 将 CMU 配置文件(包括数据库 wallet 文件 cwallet.sso 和 CMU 配置文件 dsi.ora)上载到对象存储。此步骤取决于您使用的对象存储。

    dsi.ora 配置文件包含查找 Active Directory 服务器的信息。

    如果您使用的是 Oracle Cloud Infrastructure 对象存储,请参阅将数据放置到对象存储中以了解有关上载文件的详细信息。

  4. Autonomous Database 上,创建新目录对象或选择现有目录对象。这是用于存储 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';
  5. 使用 DBMS_CLOUD.GET_OBJECT 将 CMU 配置文件、数据库 wallet cwallet.ssodsi.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 是存储桶名称。有关更多信息,请参见 Understanding Object Storage Namespaces

    有关更多信息,请参见GET_OBJECT Procedure

    使用以下 SQL 语句查询复制到目录的文件。

    SELECT * FROM DBMS_CLOUD.LIST_FILES('directory_object_name');

    例如:

    SELECT * FROM DBMS_CLOUD.LIST_FILES('CMU_WALLET_DIR');

    请注意,此查询中的目录对象名称必须大写,因为在创建目录对象时未保留其大小写。

  6. 使用 DBMS_CLOUD_ADMIN 程序包在 Autonomous Database 中启用 CMU-AD。

    注意:

    将以下示例中的目录名称替换为为您的环境选择的目录名称。在运行此命令之前,请确保您已以 ADMIN 用户身份登录。
    BEGIN
      DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
        type     => 'CMU',
        params   => JSON_OBJECT('directory_name' value 'CMU_WALLET_DIR')
      ); 
    END;
    / 
  7. 要维护安全性,请从对象存储中删除 CMU 配置文件,包括数据库 wallet cwallet.sso 和 CMU 配置文件 dsi.ora。可以使用本地对象存储方法删除这些文件,也可以使用 DBMS_CLOUD.DELETE_OBJECT 从对象存储中删除这些文件。
    有关 DBMS_CLOUD.DELETE_OBJECT 的更多信息,请参见DELETE_OBJECT Procedure

注意:

有关禁止从 Autonomous Database 访问 Active Directory 到 Active Directory 的说明,请参见 Disable Active Directory Access on Autonomous Database

有关详细信息,请参阅Oracle Database 19c Security GuideOracle Database 19c Security Guide 中的 Configuring Centrally Managed Users with Microsoft Active Directory

Exadata Cloud@Customer 上使用 Microsoft Active Directory 配置 CMU

适用于:适用 仅适用于 Exadata Cloud@Customer

要在 Exadata Cloud@Customer 上为 CMU 配置 Autonomous Database 以连接到 Active Directory 服务器,而无需使用 Oracle Object Store 服务:

  1. 以 ADMIN 用户身份连接到 Autonomous Database
  2. 验证数据库上是否启用了其他外部验证方案,并使用以下 SQL 命令将其禁用。
    BEGIN
      DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /
  3. CMU-AD 需要您的 Active Directory 连接 wallet cwallet.sso 和自治 Exadata VM 集群 (AVMC) 上的本地文件系统上的 dsi.ora 文件。您可以通过在 Oracle Cloud Infrastructure 上的 Oracle Object Store 服务中托管这些文件,然后使用 DBMS_CLOUD 程序包在本地复制这些文件来实现此目的。You can find this process with detailed steps and examples in Configure CMU with Microsoft Active Directory on Autonomous Database.
  4. 如果无法在云存储中托管 cwallet.ssodsi.ora,则可以使用数据中心中的网络文件系统 (Network File System,NFS) 共享来托管这些文件,然后将其移动到数据库文件系统 (Database File System,DBFS) 下的数据库目录。为此,必须首先将本地可用的 NFS 共享附加到 Autonomous Database 目录对象,如下所示:
    1. 使用 SQL 客户端中的以下 SQL 命令在 Autonomous Database 实例中创建数据库目录:
      create or replace directory TMPFSSDIR as 'tmpfssdir';
      
    2. 使用 Autonomous Database 中提供的 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;
  5. 要避免对可供 CMU 使用的 cwallet.ssodsi.ora 文件的 NFS 共享依赖,请使用数据库目录映射将其移至本地文件系统文件夹。由于 Autonomous Database 限制了对本地文件系统的访问,因此请使用 utl_file 创建一个复制过程,如下所示:
    1. 使用 SQL 客户端中的以下 SQL 命令在 Autonomous Database 实例中创建数据库目录:
      CREATE OR REPLACE DIRECTORY cmu_wallet_dir AS 'cmu_wallet';
    2. 使用以下 SQL 命令检查上述已创建目录的目录路径:
      SELECT DIRECTORY_PATH 
      FROM DBA_DIRECTORIES 
      WHERE DIRECTORY_NAME ='CMU_WALLET_DIR';

      注意:

      目录对象名称在查询中必须大写,因为在创建目录对象时未保留其大小写。
    3. 使用 UTL_FILE 实用程序将 dsi.oracwallet.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.oracwallet.sso 从 NFS 目录复制到本地 CMU Wallet 目录,如下所示:
      EXEC copyfile('TMPFSSDIR','dsi.ora','CMU_WALLET_DIR','dsi.ora');
      EXEC copyfile('TMPFSSDIR','cwallet.sso','CMU_WALLET_DIR','cwallet.sso');
    4. 运行以下 SQL 查询以验证文件是否已成功复制到本地 CMU Wallet 目录。
      SELECT * FROM DBMS_CLOUD.LIST_FILES('CMU_WALLET_DIR');
  6. 使用以下命令分离 NFS 共享,因为在将文件复制到本地目录后,您不需要将它用于 CMU-AD。
    exec DBMS_CLOUD_ADMIN.detach_file_system(file_system_name => <FILE_SYSTEM_NAME>);
  7. 使用 DBMS_CLOUD_ADMIN 程序包在 Autonomous Database 中启用 CMU-AD。

    注意:

    将以下示例中的目录名称替换为为您的环境选择的目录名称。在运行此命令之前,请确保您已以 ADMIN 用户身份登录。
    BEGIN
      DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
        type     => 'CMU',
        params   => JSON_OBJECT('directory_name' value 'CMU_WALLET_DIR')
      ); 
    END;
    / 
  8. 通过查询数据库属性 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 配置为在 Exadata Cloud@Customer 上的 Autonomous Database 中使用通过 Microsoft Active Directory 进行外部验证。

Autonomous Database 上添加 Microsoft Active Directory 角色

要添加 Active Directory 角色,请使用 CREATE ROLEALTER ROLE 语句将数据库全局角色映射到 Active Directory 组(并包括 IDENTIFIED GLOBALLY AS 子句)。

要在 Autonomous Database 上为 Active Directory 组添加全局角色:

  1. ADMIN 用户身份登录配置为使用 Active Directory 的数据库( ADMIN 用户具有这些步骤所需的 CREATE ROLEALTER ROLE 系统权限)。
  2. 使用 CREATE ROLEALTER ROLE 语句为 Autonomous Database 角色设置数据库授权。包括 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 的授权。

  3. 使用 GRANT 语句向全局角色授予所需的权限或其他角色。

    例如:

    GRANT CREATE SESSION TO WIDGET_SALES_ROLE;
    GRANT DWROLE TO WIDGET_SALES_ROLE;

    DWROLE 是定义了公用权限的预定义角色。有关为 Autonomous Database 用户设置公用权限的信息,请参阅管理数据库用户权限

  4. 如果要使现有数据库角色与 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';
  5. 如果要为其他 Active Directory 组创建其他全局角色映射,请为每个 Active Directory 组执行以下步骤。

有关使用 Microsoft Active Directory 配置角色的详细信息,请参阅 Oracle Database 19c Security GuideOracle Database 23ai Security Guide 中的 Configuring Authorization for Centrally Managed Users

Autonomous Database 上添加 Microsoft Active Directory 用户

要添加 Active Directory 用户以访问 an Autonomous Database ,请使用 CREATE USERALTER USER 语句(使用 IDENTIFIED GLOBALLY AS 子句)将数据库全局用户映射到 Active Directory 组或用户。

通过将 Microsoft Active Directory 用户和组直接映射到 Oracle 数据库全局用户和全局角色,可以将 Autonomous Database 与 Active Directory 集成。

要在 Autonomous Database 上为 Active Directory 组或用户添加全局用户:

  1. ADMIN 用户身份登录配置为使用 Active Directory 的数据库( ADMIN 用户具有这些步骤所需的 CREATE USERALTER USER 系统权限)。
  2. 使用 CREATE USERALTER USER 语句为 Autonomous Database 用户设置数据库授权,并包括 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 全局用户的共享映射)登录到数据库。

  3. 如果希望 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';
  4. 如果要为其他 Active Directory 组或用户创建其他全局用户映射,请为每个 Active Directory 组或用户执行以下步骤。

有关使用 Microsoft Active Directory 配置角色的详细信息,请参阅 Oracle Database 19c Security GuideOracle Database 23ai Security Guide 中的 Configuring Authorization for Centrally Managed Users

使用 Active Directory 用户凭据连接到 Autonomous Database

ADMIN 用户完成 CMU Active Directory 配置步骤并创建全局角色和全局用户后,用户使用其 Active Directory 用户名和密码登录到 Autonomous Database

注意:

请勿使用全局用户名登录。全局用户名没有密码,并且与全局用户名连接不会成功。要登录到数据库,必须在 Autonomous Database 中设置全局用户映射。无法仅使用全局角色映射登录到数据库。
  1. 要使用 Active Directory 用户名和密码登录到 Autonomous Database ,请按如下方式连接:
    CONNECT "AD_DOMAIN\AD_USERNAME"/AD_USER_PASSWORD@TNS_ALIAS_OF_THE_AUTONOMOUS_DATABASE;

    例如:

    CONNECT "production\pfitch"/password@adbname_medium;

    当 Active Directory 域随用户名一起包含时,您需要包括双引号,如下例所示:"production\pfitch"

    在此示例中,Active Directory 用户名为域 production 中的 pfitch。Active Directory 用户是由其 DN 'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com' 标识的 widget_sales_group 组的成员。

Autonomous Database 上使用 Active Directory 配置 CMU 并设置具有全局角色和全局用户的 Active Directory 授权后,您可以使用 About Connecting to a Dedicated Autonomous Database 中所述的任何连接方法连接到 Autonomous Database 。连接时,如果要使用 Active Directory 用户,请使用 Active Directory 用户凭证。例如,以这种形式提供用户名 "AD_DOMAIN \AD_USERNAME "(必须包含双引号),并将 AD_USER_PASSWORD 用于密码。

使用 Autonomous Database 验证 Active Directory 用户连接信息

当用户使用其 Active Directory 用户名和密码登录到 Autonomous Database 时,您可以验证和审计用户活动。

例如,当用户 pfitch 登录时:

CONNECT "production\pfitch"/password@exampleadb_medium;

Active Directory 用户的登录用户名 (samAccountName) 为 pfitchwidget_sales_group 为 Active Directory 组名,widget_salesAutonomous Database 全局用户。

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 GuideOracle Database 23ai Security Guide 中的 Verifying the Centrally Managed User Logon Information

Autonomous Database 上删除 Active Directory 用户和角色

要从 Autonomous Database 中删除 Active Directory 用户和角色,请使用标准数据库命令。这不会删除从已删除的数据库用户或角色映射的相关 Active Directory 用户或组。

要从 Autonomous Database 中删除用户或角色:

  1. 以被授予 DROP USERDROP ROLE 系统权限的用户身份登录到配置为使用 Active Directory 的数据库。
  2. 删除映射到 Active Directory 组或具有 DROP USERDROP ROLE 语句的用户的全局用户或全局角色。
    有关更多信息,请参见 Remove Database Users

Autonomous Database 上禁用 Active Directory 访问

介绍从 Autonomous Database 中删除 CMU 配置的步骤(并禁用从 Autonomous Database 到 Active Directory 的 LDAP 访问)。

Autonomous Database 实例配置为访问 CMU Active Directory 后,您可以按如下方式禁用访问:

  1. 以 ADMIN 用户身份连接到 Autonomous Database
  2. 使用 DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION 禁用 CMU 验证。

    注意:

    要运行此过程,您必须以 ADMIN 用户身份登录,或者对 DBMS_CLOUD_ADMIN 具有 EXECUTE 特权。

    例如:

    BEGIN   
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /

    这将在 Autonomous Database 实例上禁用 CMU 验证。

有关更多信息,请参见DISABLE_EXTERNAL_AUTHENTICATION Procedure

Autonomous Database 上 Microsoft Active Directory 的限制

以下限制适用于在 Autonomous Database 上使用 Active Directory 的 CMU:

  • 带有 Autonomous Database 的 CMU 仅支持 "password authentication" 和 Kerberos。将 CMU 验证与 Autonomous Database 一起使用时,不支持其他验证方法,例如 Azure AD、OCI IAM 和 PKI。

  • 具有 Autonomous Database 的 Active Directory 用户不支持 Oracle Application Express 和 Database Actions。