在專用的 Exadata 基礎架構上搭配 Autonomous Database 使用 Microsoft Active Directory

您可以設定 Autonomous Database on Dedicated Exadata Infrastructure 以驗證並授權 Microsoft Active Directory 使用者。此組態可讓 Active Directory 使用者使用其 Active Directory 憑證存取 Autonomous Database

附註:

請參閱搭配使用 Azure Active Directory (Azure AD) with Autonomous Database ,瞭解搭配 Autonomous Database 使用 Azure Active Directory 的資訊。CMU 選項支援 Microsoft Active Directory 伺服器,但不支援 Azure Active Directory 服務。

Autonomous Database 與集中管理使用者 (CMU) 的整合提供了與 Microsoft Active Directory 的整合。CMU 與 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 服務目錄使用者帳戶的相關資訊,請參閱步驟 1:Create an Oracle Service Directory User Account on Microsoft Active Directory and Grant Permissions in Oracle Database 19c Security Guide or Oracle Database 23ai Security Guide

  • Active Directory 系統管理員必須已在 Active Directory 伺服器上安裝 Oracle 密碼篩選器,並設定具有 Active Directory 使用者的 Active Directory 群組,以符合您的需求。

    Autonomous Database 的 CMU 僅支援密碼驗證,因此您必須使用內含的公用程式 opwdintg.exe,在 Active Directory 上安裝 Oracle 密碼篩選、擴充綱要,以及建立三種新 ORA_VFR 群組以產生三種類型的密碼驗證程式。See Step 2: For Password Authentication, Install the Password Filter and Extend the Microsoft Active Directory Schema in Oracle Database 19c Security Guide or Oracle Database 23ai Security Guide for information on installing the Oracle password filter.

  • Active Directory 伺服器必須透過公用網際網路從 Autonomous Database 存取,且 Active Directory 伺服器的連接埠 636 必須開啟至 Oracle Cloud Infrastructure 中的 Autonomous Database ,因此 Autonomous Database 可以透過 TLS/SSL 透過網際網路存取 Active Directory 伺服器。

    您也可以將內部部署 Active Directory 延伸至 Oracle Cloud Infrastructure ,您可以在其中設定內部部署 Active Directory 的唯讀網域控制器 (RODC)。然後,您可以使用 Oracle Cloud Infrastructure 中的這些 RODC 來驗證和授權內部部署 Active Directory 使用者存取 Autonomous Database

    請參閱擴充混合雲中的 Active Directory 整合以瞭解詳細資訊。

  • 您需要 CMU 組態資料庫公事包 cwallet.sso 和 CMU 組態檔 dsi.ora,才能為您的 Autonomous Database 設定 CMU:

    • 如果您已為內部部署資料庫設定 CMU,則可以從內部部署資料庫伺服器取得這些組態檔。

    • 如果您尚未為內部部署資料庫設定 CMU,則需要建立這些檔案。然後將組態檔上傳至雲端,以在您的 Autonomous Database 例項上設定 CMU。您可以為內部部署資料庫設定 CMU,並驗證 Active Directory 使用者是否能夠使用這些組態檔成功登入內部部署資料庫,以驗證公事包和 dsi.ora。然後將這些組態檔上傳至雲端,以便為您的 Autonomous Database 設定 CMU。

    如需 CMU 公事包檔案的詳細資訊,請參閱:

    如需 CMU 之 dsi.ora 檔案的詳細資訊,請參閱 Oracle Database 19c Security Guide 中的 Creating the dsi.ora FileOracle 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 組態檔 (包括資料庫公事包檔案 cwallet.sso 和 CMU 組態檔 dsi.ora) 上傳至您的物件存放區。此步驟視您使用的「物件存放區」而定。

    dsi.ora 組態檔包含尋找 Active Directory 伺服器的資訊。

    如果您使用 Oracle Cloud Infrastructure 物件存放區,請參閱將資料放入物件儲存中,瞭解上傳檔案的詳細資訊。

  4. 在您的 Autonomous Database 上,建立新目錄物件或選擇現有的目錄物件。以下是儲存公事包的目錄,以及用於連線至 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 組態檔 (資料庫公事包 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 是儲存桶名稱。請參閱瞭解 Object Storage 命名空間瞭解詳細資訊。

    請參閱 GET_OBJECT 程序瞭解詳細資訊。

    使用下列 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 組態檔,包括資料庫公事包 cwallet.sso 和 CMU 組態檔 dsi.ora。您可以使用本機「物件存放區」方法來移除這些檔案,或使用 DBMS_CLOUD.DELETE_OBJECT 從「物件存放區」刪除檔案。
    請參閱 DELETE_OBJECT 程序,瞭解 DBMS_CLOUD.DELETE_OBJECT 的詳細資訊。

附註:

請參閱停用 Autonomous Database 上的 Active Directory Access ,以取得停用從 Autonomous Database 存取 Active Directory 的指示。

如需詳細資訊,請參閱 Oracle Database 19c Security Guide 中的 Configuring Centrally Managed Users with Microsoft Active DirectoryOracle Database 19c Security Guide

Exadata Cloud@Customer 上使用 Microsoft Active Directory 設定 CMU

適用於:適用 僅限 Exadata Cloud@Customer

若要在 Exadata Cloud@Customer 上設定 Autonomous Database ,讓 CMU 無須使用 Oracle Object Store 服務即可連線至 Active Directory 伺服器:

  1. 以 ADMIN 使用者身分連線到 Autonomous Database
  2. 請檢查資料庫是否啟用其他外部認證配置,然後使用下列 SQL 命令將其停用。
    BEGIN
      DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /
  3. CMU-AD 需要您的 Active Directory 連線公事包 cwallet.sso,以及位於自治式 Exadata VM 叢集 (AVMC) 之本機檔案系統上的 dsi.ora 檔案。您可以透過在 Oracle Cloud Infrastructure 的 Oracle Object Store 服務中託管這些檔案,然後使用 DBMS_CLOUD 套裝軟體在本機複製這些檔案來達到此目的。您可以在在 Autonomous Database 上使用 Microsoft Active Directory 設定 CMU 中找到此程序的詳細步驟和範例。
  4. 如果無法在雲端儲存體中代管 cwallet.ssodsi.ora,您可以使用資料中心內的「網路檔案系統 (NFS)」共用來代管這些檔案,然後將它們移至「資料庫檔案系統 (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 公事包目錄。
      舉例而言:
      建立名為 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 公事包目錄,如下所示:
      EXEC copyfile('TMPFSSDIR','dsi.ora','CMU_WALLET_DIR','dsi.ora');
      EXEC copyfile('TMPFSSDIR','cwallet.sso','CMU_WALLET_DIR','cwallet.sso');
    4. 執行下列 SQL 查詢以驗證檔案是否順利複製到本機 CMU 公事包目錄。
      SELECT * FROM DBMS_CLOUD.LIST_FILES('CMU_WALLET_DIR');
  6. 使用下列指令,將 NFS 共用分離,因為將檔案複製到本機目錄後,您不需要為 CMU-AD 分離 NFS 共用。
    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 設定為透過 Microsoft Active Directory 使用 Exadata Cloud@Customer 上的 Autonomous Database 進行外部驗證。

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 Guide 中的 Configuring Authorization for Centrally Managed UsersOracle Database 23ai Security Guide

Autonomous Database 上新增 Microsoft Active Directory 使用者

若要新增 Active Directory 使用者以存取 Autonomous Database ,請將資料庫全域使用者對應至 Active Directory 群組,或使用 CREATE USERALTER USER 陳述式 (使用 IDENTIFIED GLOBALLY AS 子句) 的使用者。

Autonomous Database 與 Active Directory 的整合可藉由將 Microsoft Active Directory 使用者和群組直接對應至 Oracle 資料庫全域使用者和全域角色來運作。

若要為 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 Guide 中的 Configuring Authorization for Centrally Managed UsersOracle Database 23ai Security Guide

使用 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 使用者是 widget_sales_group 群組的成員,由其 DN 'CN=widget_sales_group,OU=sales,DC=production,DC=example,DC=com' 識別。

Autonomous Database 上使用 Active Directory 設定 CMU 並設定具有全域角色和全域使用者的 Active Directory 授權之後,您可以使用關於連線至專用 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) 為 pfitch,而 widget_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 Guide 中的 Verifying the Centrally Managed User Logon InformationOracle Database 23ai Security Guide

移除 Autonomous Database 上的 Active Directory 使用者和角色

若要從 Autonomous Database 移除 Active Directory 使用者和角色,請使用標準資料庫指令。這不會移除從刪除的資料庫使用者或角色對應的相關 Active Directory 使用者或群組。

若要從 Autonomous Database 移除使用者或角色:

  1. 以被授予 DROP USERDROP ROLE 系統權限的使用者身分登入設定為使用 Active Directory 的資料庫。
  2. 刪除對應至 Active Directory 群組或具有 DROP USERDROP ROLE 敘述句之使用者的全域使用者或全域角色。
    請參閱移除資料庫使用者瞭解詳細資訊。

停用 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_ADMINEXECUTE 權限。

    舉例而言:

    BEGIN   
       DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /

    這會停用您 Autonomous Database 執行處理的 CMU 認證。

如需詳細資訊,請參閱DISABLE_EXTERNAL_AUTHENTICATION 程序

Autonomous Database 上 Microsoft Active Directory 的限制

Autonomous Database 上使用 Active Directory 的 CMU 有下列限制:

  • CMU 與 Autonomous Database 僅支援「密碼認證」和 Kerberos。使用 CMU 認證搭配 Autonomous Database 時,不支援其他認證方法,例如 Azure AD、OCI IAM 和 PKI。

  • 具有 Autonomous Database 的 Active Directory 使用者不支援 Oracle Application Express 和 Database Actions。