専用Exadataインフラストラクチャ上のAutonomous DatabaseでのMicrosoft Active Directoryの使用

Microsoft Active Directoryユーザーを認証および認可するようにAutonomous Database on Dedicated Exadata Infrastructureを構成できます。この構成により、Active DirectoryユーザーはActive Directory資格証明を使用してAutonomous Databaseにアクセスできます。

ノート

Autonomous DatabaseでのAzure Active Directoryの使用の詳細は、Autonomous DatabaseでのAzure Active Directory (Azure AD)の使用を参照してください。CMUオプションはMicrosoft Active Directoryサーバーをサポートしていますが、Azure Active Directoryサービスはサポートしていません。

Autonomous Databaseと一元管理ユーザー(CMU)の統合によって、Microsoft Active Directoryとの統合が提供されます。CMUをActive Directoryと連携動作させるには、Oracleデータベースのグローバル・ユーザーおよびグローバル・ロールをMicrosoft Active Directoryのユーザーおよびグループにマップします。

Autonomous DatabaseでCMUをMicrosoft Active Directoryで構成するための前提条件

Autonomous DatabaseからActive Directoryへの接続を構成するために必要な前提条件は次のとおりです:

  • Microsoft Active Directoryをインストールして構成しておく必要があります。詳細は、AD DSの開始を参照してください。

  • Oracleサービス・ディレクトリ・ユーザーをActive Directory内に作成する必要があります。Oracleサービス・ディレクトリ・ユーザー・アカウントの詳細は、Microsoft Active Directoryへの接続を参照してください。

  • Active Directoryシステム管理者は、Active DirectoryサーバーにOracleパスワード・フィルタをインストールし、要件に合うようにActive Directoryユーザーを含むActive Directoryグループを設定しておく必要があります。

    Autonomous DatabaseでCMUを使用する場合はパスワード認証のみがサポートされているため、付属のユーティリティopwdintg.exeを使用してOracleパスワード・フィルタをActive Directoryにインストールし、スキーマを拡張して、3つのタイプのパスワード確認生成に対する3つの新しいORA_VFRグループを作成する必要があります。Oracleパスワード・フィルタのインストールの詳細は、Microsoft Active Directoryへの接続を参照してください。

  • Active Directoryサーバーには、Autonomous Databaseからパブリック・インターネットを介してアクセスできる必要があります。また、Autonomous Databaseがインターネットを介してTLS/SSL経由でActive Directoryサーバーへの安全なLDAPアクセスができるように、Active Directoryサーバーのポート636がOracle Cloud InfrastructureのAutonomous Databaseに対して開かれている必要があります。

    また、オンプレミスのActive DirectoryをOracle Cloud Infrastructureまで拡張して、そこにオンプレミスのActive Directoryの読取り専用ドメイン・コントローラ(RODC)を設定することもできます。これにより、Oracle Cloud InfrastructureでこれらのRODCを使用して、Autonomous DatabasesにアクセスするオンプレミスのActive Directoryユーザーを認証および認可できます。

    詳細は、Hybrid CloudでのActive Directory統合の拡張を参照してください。

  • Autonomous DatabaseにCMUを構成するには、cwallet.ssoおよびCMU構成ファイルdsi.oraが必要です:

    • オンプレミス・データベースにCMUをすでに構成した場合は、オンプレミス・データベース・サーバーからこれらの構成ファイルを取得できます。

    • オンプレミス・データベースにCMUを構成していない場合は、これらのファイルを作成する必要があります。次に、構成ファイルをクラウドにアップロードして、Autonomous DatabaseインスタンスにCMUを構成します。ウォレットおよびdsi.oraを検証するには、オンプレミス・データベースにCMUを構成し、Active Directoryユーザーがこれらの構成ファイルを使用してオンプレミス・データベースに正常にログオンできることを確認します。次に、Autonomous DatabaseにCMUを構成するために、これらの構成ファイルをクラウドにアップロードします。

    CMUのウォレット・ファイルの詳細は、セキュアな接続のためのウォレットの作成およびOracle Walletの確認を参照してください。

    CMUのdsi.oraファイルの詳細は、dsi.oraファイルの作成を参照してください。

    CMUに対するActive Directoryの構成、およびオンプレミス・データベースでのCMUに関するトラブルシューティングの詳細は、データベース・リリース18c以降での一元管理ユーザーの構成方法(ドキュメントID 2462012.1)を参照してください。

Autonomous DatabaseでのMicrosoft Active Directoryを使用したCMUの構成

Active Directoryサーバーに接続するようにCMUのAutonomous Databaseを構成するには:

  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 Object Storeを使用している場合は、オブジェクト・ストレージへのデータの配置を参照して、ファイルのアップロードの詳細を確認してください。

  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.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');

    ディレクトリ・オブジェクトが作成されたときに大/小文字が保持されていないため、この問合せのディレクトリ・オブジェクト名は大文字にする必要があります。

  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を使用してオブジェクト・ストアからファイルを削除できます。
    DBMS_CLOUD.DELETE_OBJECTの詳細は、DELETE_OBJECTプロシージャを参照してください。
ノート

Autonomous DatabaseからActive Directoryへのアクセスを無効にする手順については、Autonomous DatabaseでのActive Directoryアクセスの無効化を参照してください。

Microsoft Active Directoryを使用したCMUの構成の詳細は、Microsoft Active Directoryを使用した一元管理ユーザーの構成を参照してください。

Exadata Cloud@CustomerでのMicrosoft Active Directoryを使用したCMUの構成

適用対象: 適用可能 Exadata Cloud@Customerのみ

Oracle Object Storeサービスを使用せずにActive Directoryサーバーに接続するようにCMU用にExadata Cloud@Customer上のAutonomous Databaseを構成するには:

  1. ADMINユーザーとしてAutonomous Databaseに接続します。
  2. データベースで別の外部認証スキームが有効になっているかどうかを確認し、次のSQLコマンドを使用して無効にしてください。
    BEGIN
      DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
    END;
    /
  3. CMU-ADには、Autonomous Exadata VMクラスタ(AVMC)上のローカル・ファイル・システム上のActive Directory接続ウォレットcwallet.ssoおよびdsi.oraファイルが必要です。これを実現するには、Oracle Cloud Infrastructure上のOracle Object Storeサービスでこれらのファイルをホストし、DBMS_CLOUDパッケージを使用してローカルにコピーします。このプロセスの詳細は、Autonomous DatabaseでのMicrosoft Active Directoryを使用したCMUの構成を参照してください。
  4. クラウド・ストレージでcwallet.ssoおよびdsi.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.ssoおよび dsi.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.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プロシージャを1回実行して、NFSディレクトリからローカルのCMU Walletディレクトリにdsi.oraおよびcwallet.ssoをコピーします。
      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

これで、Microsoft Active Directoryを介した外部認証をExadata Cloud@Customer上のAutonomous Databaseとともに使用するようにCMU-ADを構成しました。

Autonomous DatabaseでのMicrosoft Active Directoryロールの追加

Active Directoryロールを追加するには、CREATE ROLE文またはALTER ROLE文を使用して(また、IDENTIFIED GLOBALLY AS句も含めて)データベース・グローバル・ロールをActive Directoryグループにマップします。

Autonomous DatabaseでActive Directoryグループのグローバル・ロールを追加するには:

  1. ADMINユーザーとして、Active Directoryを使用するように構成されたデータベースにログインします(ADMINユーザーには、これらのステップに必要なCREATE ROLEおよびALTER ROLEシステム権限があります)。
  2. CREATE ROLE文またはALTER 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を使用したロールの構成の詳細は、一元管理ユーザーの認可の構成を参照してください。

Autonomous DatabaseでのMicrosoft Active Directoryユーザーの追加

Autonomous DatabaseにアクセスするためにActive Directoryユーザーを追加するには、CREATE USER文またはALTER USER文を(IDENTIFIED GLOBALLY AS句とともに)使用して、データベース・グローバル・ユーザーをActive Directoryのグループまたはユーザーにマップします。

Autonomous DatabaseとActive Directoryの統合を機能させるためには、Microsoft Active DirectoryのユーザーおよびグループをOracleデータベースのグローバル・ユーザーおよびグローバル・ロールに直接マップします。

Autonomous DatabaseでActive Directoryのグループまたはユーザーのグローバル・ユーザーを追加するには:

  1. ADMINユーザーとして、Active Directoryを使用するように構成されたデータベースにログインします(ADMINユーザーには、これらのステップに必要なCREATE USERおよびALTER USERシステム権限があります)。
  2. CREATE USERまたはALTER USER文でIDENTIFIED GLOBALLY AS句も含めてAutonomous Databaseユーザーのデータベース認可を設定し、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のメンバーは、(widget_salesグローバル・ユーザーの共有マッピングを介して) Active Directory資格証明を使用してデータベースにログインできます。

  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を使用したユーザーの構成の詳細は、一元管理ユーザーの認可の構成を参照してください。

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"

    この例では、ドメインproductionのActive Directoryユーザー名は、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認可を設定した後は、専用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_salesがAutonomous 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

詳細は、一元管理ユーザーのログオン情報の確認を参照してください。

Autonomous DatabaseでのActive Directoryのユーザーおよびロールの削除

Autonomous DatabaseからActive Directoryのユーザーおよびロールを削除するには、標準のデータベース・コマンドを使用します。これを行っても、削除したデータベース・ユーザーまたはロールからマップされていた関連するActive Directoryのユーザーまたはグループは削除されません。

Autonomous Databaseからユーザーまたはロールを削除するには:

  1. DROP USERまたはDROP ROLEシステム権限を付与されたユーザーとして、Active Directoryを使用するように構成されたデータベースにログインします。
  2. DROP USERまたはDROP ROLE文を使用して、Active Directoryのグループまたはユーザーにマップされたグローバル・ユーザーまたはグローバル・ロールを削除します。
    詳細は、「データベース・ユーザーの削除」を参照してください。

Autonomous DatabaseでのActive Directoryアクセスの無効化

Autonomous DatabaseからCMU構成を削除する(およびAutonomous DatabaseからActive DirectoryへのLDAPアクセスを無効にする)ステップについて説明します。

CMU Active DirectoryにアクセスするようにAutonomous Databaseインスタンスを構成した後、次のようにしてアクセスを無効にできます:

  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プロシージャを参照してください。

Autonomous DatabaseでのMicrosoft Active Directoryの制限事項

Autonomous DatabaseでActive Directoryを使用するCMUには、次の制限が適用されます:

  • Autonomous Databaseを使用したCMUでは、「パスワード認証」および「Kerberos」のみがサポートされています。Autonomous DatabaseでCMU認証を使用している場合、Azure AD、OCI IAM、PKIなどの他の認証方式はサポートされません。

  • Oracle Application Expressおよびデータベース・アクションは、Autonomous Databaseを使用するActive Directoryユーザーではサポートされていません。