Autonomous DatabaseでのMicrosoft Active Directoryの使用

Microsoft Active Directoryユーザーを認証および認可するようにAutonomous Databaseを構成できます。

この構成により、Active Directoryユーザーは、Active Directory資格証明を使用してパスワードやKerberosなどのAutonomous Databaseにアクセスできます。

Autonomous DatabaseでのMicrosoft Active Directoryを使用したCMUの構成の前提条件

Microsoft Active Directoryユーザーを認証および認可するようにAutonomous Databaseを構成できます。

Active Directoryサーバーが存在する場所に応じて、Microsoft Active Directoryで集中管理ユーザー(CMU)を使用してAutonomous Databaseを構成するための2つのオプションがあります:

  • Active Directory (AD)サーバーがパブリックにアクセス可能: Active Directoryサーバーは、パブリック・インターネットを介してAutonomous Databaseからアクセスできます。

  • Active Directory (AD)サーバーはプライベート・エンドポイントに存在: Active Directoryサーバーはプライベート・エンドポイントに存在し、パブリック・インターネットを介してAutonomous Databaseからアクセスできません。この場合、データベース・プロパティROUTE_OUTBOUND_CONNECTIONSを設定する「Autonomous DatabaseでのMicrosoft Active DirectoryでのCMUの構成」の最後のステップに示すように、追加の構成ステップが必要です。

ノート

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

Autonomous Databaseと一元管理ユーザー(CMU)の統合によって、Microsoft Active Directoryとの統合が提供されます。CMUをActive Directoryと連携動作させるには、Oracleデータベースのグローバル・ユーザーおよびグローバル・ロールを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グループを設定しておく必要があります。

    ノート

    これは、CMU Active DirectoryにKerberos認証を使用している場合には必要ありません。詳細は、Microsoft Active Directoryを使用したCMUのKerberos認証を参照してください。

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

  • Autonomous DatabaseにCMUを構成するには、CMU構成データベース・ウォレットcwallet.ssoおよびCMU構成ファイルdsi.oraが必要です。

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

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

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

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

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

  • Active Directoryサーバーのポート636は、Oracle Cloud InfrastructureのAutonomous Databaseに対してオープンしている必要があります。これにより、Autonomous DatabaseはActive Directoryサーバーにアクセスできます。

  • Active Directoryサーバーがパブリック・エンドポイントにある場合:

    • Active Directoryサーバーは、パブリック・インターネットを介してAutonomous Databaseからアクセスできる必要があります。

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

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

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

Microsoft Active Directoryユーザーを認証および認可するようにAutonomous Databaseを構成できます。

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

ノート

構成ステップを実行するときは、ADMINユーザーとしてデータベースに接続します。
  1. データベースで別の外部認証スキームが有効になっているかどうかを確認し、無効にします。

    Kerberos上でCMU-AD構成を続行して、Microsoft Active DirectoryユーザーにCMU-AD Kerberos認証を提供できます。

    詳細は、Microsoft Active Directoryを使用したCMUのKerberos認証を参照してください。

  2. CMU構成ファイル(データベース・ウォレット・ファイルcwallet.ssoおよびCMU構成ファイルdsi.oraを含む)をオブジェクト・ストアにアップロードします。このステップは、使用するオブジェクト・ストアによって異なります。

    dsi.ora構成ファイルには、Active Directoryサーバーを検出するための情報が含まれています。

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

  3. DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONプロシージャを実行し、params JSON引数を使用して場所URIを渡します。構成ファイルcwallet.ssoおよびdsi.oraは、location_uriパラメータで指定されたオブジェクト・ストレージの場所に配置する必要があります。

    たとえば:

    BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
           type     => 'CMU',
           params   => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                                   'credential_name' value 'my_credential_name')
       );
    END;
    /

    Oracleでは、オブジェクト・ストアのプライベート・バケットにCMU構成ファイルを格納することをお薦めします。

    この例では、namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。

    このステップで使用するcredential_nameは、オブジェクト・ストアにアクセスするための資格証明です。

    リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

    location_uriが事前認証済URLまたは事前署名済URLの場合、credential_nameを指定する必要はありません。

    このプロシージャは、データベースにCMU_WALLET_DIRという名前のディレクトリ・オブジェクトを作成し、オブジェクト・ストアの場所からディレクトリ・オブジェクトにCMU構成ファイルをコピーします。また、このプロシージャは、データベース・プロパティCMU_WALLETを値'CMU_WALLET_DIR'に設定し、LDAP_DIRECTORY_ACCESSパラメータ値を値PASSWORDに設定して、Autonomous DatabaseインスタンスからActive Directoryへのアクセスを有効にします。

  4. CMU認証を有効にした後、データベース・ウォレットcwallet.ssoおよびCMU構成ファイルdsi.oraを含むCMU構成ファイルをオブジェクト・ストアから削除します。ローカル・オブジェクト・ストア・メソッドを使用してこれらのファイルを削除するか、DBMS_CLOUD.DELETE_OBJECTを使用してオブジェクト・ストアからファイルを削除できます。
  5. Active Directoryサーバーがプライベート・エンドポイント上にある場合は、追加の構成ステップを実行して、プライベート・エンドポイントへのアクセスを提供します。
    1. データベース・プロパティROUTE_OUTBOUND_CONNECTIONSを値'PRIVATE_ENDPOINT'に設定します。
    2. CMU-AD構成ファイルdsi.oraにホスト名が含まれていることを確認します。ROUTE_OUTBOUND_CONNECTIONS'PRIVATE_TARGET'に設定されている場合、IPアドレスはdsi.oraで指定できません。

Autonomous DatabaseでActive Directoryを使用するCMUのノート:

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

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

DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONの詳細は、ENABLE_EXTERNAL_AUTHENTICATIONプロシージャを参照してください。

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

Microsoft Active Directoryを使用したCMUのKerberos認証

Microsoft Active DirectoryユーザーでCMUにKerberos認証を使用するようにAutonomous Databaseを構成できます。この構成により、CMU Active Directory (CMU-AD)ユーザーは、Kerberos資格証明を使用してAutonomous Databaseインスタンスにアクセスできます。

Kerberosは、CMU-ADの有無にかかわらず構成できます。Kerberosを構成するだけでは、すべての Kerberosユーザーのデータベースユーザーを作成および保守する必要があります。CMUを使用してKerberosを構成すると、KerberosユーザーのActive Directoryグループを単一のデータベース・ユーザー(共有スキーマ)にマップできるため、データベース・アクセスはActive Directoryグループ・メンバーシップによって制御できます。CMU-ADを使用しないKerberosの構成の詳細は、Autonomous DatabaseでのKerberos認証の構成を参照してください。

ノート

認可のためにKerberos認証とCMU-ADの両方を実装する場合、Oracleでは最初にKerberos認証を実装してから、CMU-AD認可を追加することをお薦めします。
  1. Microsoft Active Directory Kerberosサーバーを使用して、Autonomous DatabaseインスタンスでKerberosを有効にします。

    CMU-ADでKerberos認証を構成する場合、Microsoft Active Directory KerberosサーバーのみがKerberosでサポートされます。

    1. Autonomous DatabaseでKerberos認証を有効にするには、Kerberos構成ファイル(krb.conf)およびサービス・キー表ファイル(v5srvtab)を取得しておく必要があります。

      CMU-ADを使用して Kerberos認証を構成するときにこれらのファイルを生成するには、サーバーのホスト名が必要です。サーバー・ホストの値は、V$PDBSCLOUD_IDENTITY列の属性PUBLIC_DOMAIN_NAMEから取得できます。この値は、プライベート・エンドポイント上のデータベースの完全修飾ドメイン名(FQDN)とは異なります。

      サーバーのホスト名を取得するには、次のコマンドを使用します。

      SELECT guid ||'/'|| json_value(cloud_identity, '$.PUBLIC_DOMAIN_NAME')
          "KSERVICE/KINSTANCE" FROM v$pdbs;

      次のようなコマンドを使用して、サービス・キー表ファイルを生成できます。

      ktpass -princ ORACLE/DATABASE_SERVER_HOST_NAME.DATABASE_SERVER_HOST_DOMAIN@ACTIVE_DIRECTORY_DEFAULT_DOMAIN
                       -pass ACTIVE_DIRECTORY_PASSWORD 
                       -mapuser DATABASE_SERVER_HOST_NAME 
                       -crypto ALL 
                       -ptype KRB5_NT_PRINCIPAL 
                       -out database.keytab

      たとえば:

      ktpass -princ ORACLE/user.example.com@example.com 
                       -pass password -mapuser dbexamplekrb 
                       -crypto ALL -ptype KRB5_NT_PRINCIPAL -out database.keytab

      これらのファイルおよびそれらを取得するステップの詳細は、Kerberos認証の構成に関する項を参照してください。

    2. Kerberos構成ファイルkrb.confおよびv5srvtabをオブジェクト・ストアのバケットにコピーします。

      このステップは、使用するオブジェクト・ストアによって異なります。

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

    3. DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONを実行して、Kerberos外部認証を有効にします。

      たとえば:

      BEGIN
         DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
             type     => 'KERBEROS',
             params   => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                                     'credential_name' value 'my_credential_name')
         );
      END;
      /
      ノート

      Oracleでは、Kerberos構成ファイルをオブジェクト・ストアのプライベート・バケットに格納することをお薦めします。

      この例では、namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。

      このステップで使用するcredential_nameは、オブジェクト・ストアの資格証明です。

      詳細は、Autonomous DatabaseでのKerberos認証の有効化を参照してください。

    4. Kerberosが構成され、有効になっていることを確認します。
      SELECT property_value FROM database_properties 
            WHERE property_name='KERBEROS_DIRECTORY';
  2. Autonomous DatabaseでCMU-ADを有効化および構成します。
    1. CMU構成ファイル(データベース・ウォレット・ファイルcwallet.ssoおよびCMU構成ファイルdsi.oraを含む)をオブジェクト・ストアにアップロードします。

      cwallet.ssoをアップロードして、CMU-AD構成にActive Directoryサービス・アカウントに接続するためのAutonomous Databaseインスタンスの資格証明があるようにします。

      dsi.ora構成ファイルには、Active Directoryサーバーを検出するための情報が含まれています。

      このステップは、使用するオブジェクト・ストアによって異なります。

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

    2. DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATIONプロシージャを実行し、params JSON引数を使用して場所URIを渡します。構成ファイルcwallet.ssoおよびdsi.oraは、location_uriパラメータで指定されたオブジェクト・ストレージの場所に配置する必要があります。

      たとえば:

      BEGIN
         DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
             type     => 'CMU',
             params   => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
                                     'credential_name' value 'my_credential_name')
         );
      END;
      /

      Oracleでは、オブジェクト・ストアのプライベート・バケットにCMU構成ファイルを格納することをお薦めします。

      この例では、namespace-stringはOracle Cloud Infrastructureオブジェクト・ストレージ・ネームスペースで、bucketnameはバケット名です。詳細は、オブジェクト・ストレージ・ネームスペースの理解を参照してください。

      このステップで使用するcredential_nameは、オブジェクト・ストアにアクセスするための資格証明です。

      リソース・プリンシパル資格証明を有効にする場合、Oracle Cloud Infrastructureオブジェクト・ストアにアクセスするための資格証明の作成は必要ありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

      location_uriが事前認証済URLまたは事前署名済URLの場合、credential_nameを指定する必要はありません。

      詳細は、Autonomous DatabaseでのMicrosoft Active Directoryを使用したCMUの構成の前提条件を参照してください。

    3. CMU-ADが構成され、有効になっていることを確認します。
      SELECT property_value FROM database_properties
            WHERE property_name='CMU_WALLET';
  3. ステップ1およびステップ2を完了した後、CMU-ADを使用したKerberos認証の構成が完了していることを確認します。
    1. SYS_CONTEXT情報がUSERENVに移入されるように、Active DirectoryユーザーとしてAutonomous Databaseインスタンスにログインします。
    2. SYS_CONTEXT USERENVを問い合せます。
      SELECT SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') FROM DUAL;
      
      SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD')                                 
      --------------------------------------------------------------------------------
      KERBEROS_GLOBAL

    CMU-ADを使用せずにKerberos認証を構成して有効にした場合、この問合せはKERBEROSを返します。詳細は、Autonomous DatabaseでのKerberos認証の構成を参照してください。

    Kerberosを使用せずにCMU-AD認証を構成した場合、この問合せはPASSWORD_GLOBALを返します。詳細は、Autonomous DatabaseでのMicrosoft Active Directoryを使用したCMUの構成の前提条件を参照してください。

CMU-ADでKerberos認証を使用するためのノート:

  • CMU-ADでKerberos認証を使用する場合、パスワード・フィルタを追加する必要はありません。詳細は、Autonomous DatabaseでのMicrosoft Active Directoryを使用したCMUの構成の前提条件を参照してください。

  • Active Directoryユーザーの追加または削除は、パスワード認証を使用しているときに Active Directoryを使用するCMUと同じ方法でサポートされます。詳細は、Autonomous DatabaseでのMicrosoft Active Directoryユーザーの追加を参照してください。

  • Active Directoryパスワードを使用したCMUを使用したAutonomous Database組込みツールに対する認証に関する既存の制限は、Kerberos認証を使用したActive Directoryを使用したCMUにも適用されます。詳細は、Autonomous DatabaseでのActive Directoryのツール制限を参照してください。

  • DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATIONを使用して、Kerberos認証を使用するCMU-ADを無効にします。詳細は、DISABLE_EXTERNAL_AUTHENTICATIONプロシージャを参照してください。

  • CMU-ADサーバーがプライベート・エンドポイント上にある場合、Kerberos認証でCMU-ADを使用するには、キー・タブの生成に使用されるサーバー・ホスト名を、V$PDBSCLOUD_IDENTITY列にある属性PUBLIC_DOMAIN_NAMEの値に設定する必要があります。この値は、プライベート・エンドポイント・データベースのFQDNとは異なります。

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は、共通権限が定義されている事前定義済ロールです。See Manage User Privileges on Autonomous Database - Connecting with a Client Tool for information on setting common privileges for Autonomous Database users.

  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セキュリティ・ガイド』または『Oracle Database 23aiセキュリティ・ガイド』集中管理ユーザーの認可の構成に関する項を参照してください。

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

データベースにアクセスするためにActive Directoryユーザーを追加するには、データベース・グローバル・ユーザーを(IDENTIFIED GLOBALLY AS句も含めて)CREATE USER文またはALTER USER文を使用して、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を使用したロールの構成の詳細は、『Oracle Database 19cセキュリティ・ガイド』または『Oracle Database 23aiセキュリティ・ガイド』集中管理ユーザーの認可の構成に関する項を参照してください。

Autonomous DatabaseでのActive Directoryに関するツールの制限事項

Active DirectoryでAutonomous Databaseツールを使用する際のノート:

Active Directoryユーザー資格証明を使用したAutonomous Databaseへの接続

ADMINユーザーがCMU Active Directory構成ステップを完了し、グローバル・ロールおよびグローバル・サービスを作成した後、ユーザーはActive Directoryのユーザー名およびパスワードを使用してデータベースにログインします。

ノート

グローバル・ユーザー名を使用してログインしないでください。グローバル・ユーザー名はパスワードを持たないため、グローバル・ユーザー名を使用して接続しても成功しません。データベースにログインするためには、Autonomous Databaseにグローバル・ユーザー・マッピングが必要です。グローバル・ロール・マッピングのみでデータベースにログインすることはできません。
  1. Active Directoryのユーザー名およびパスワードを使用してデータベースにログインするには、次のように接続します:
    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への接続」で説明されているいずれかの接続方法を使用してデータベースに接続できます。接続時にActive Directoryユーザーを使用する場合は、Active Directoryユーザー資格証明を使用します。たとえば、"AD_DOMAIN\AD_USERNAME"という形式でユーザー名を指定し(二重引用符で囲む必要があります)、パスワードにAD_USER_PASSWORDを使用します。

Autonomous Databaseインスタンスが制限モードの場合、このモードでは、RESTRICTED SESSION権限を持つユーザーにのみがデータベースに接続できます。ADMINユーザーはこの権限を持ちます。索引付け、データ・ロード、その他の計画アクティビティなどの管理タスクは、制限アクセス・モードを使用して実行できます。詳細は、「Autonomous Database操作モードを読取り/書込み、読取り専用または制限付きに変更」を参照してください。

Autonomous Databaseを使用したActive Directoryユーザー接続情報の確認

ユーザーがActive Directoryのユーザー名およびパスワードを使用してデータベースにログインすると、これらのユーザーのアクティビティを検証および監査できるようになります。

たとえば、ユーザーpfitchがログインした場合:

CONNECT "production\pfitch"/password@exampleadb_medium;

Active Directoryユーザーのログオン・ユーザー名(samAccountName)はpfitchで、widget_sales_groupはActive Directoryグループ名、widget_salesはデータベース・グローバル・ユーザー。

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セキュリティ・ガイド集中管理ユーザー・ログオン情報の確認またはOracle Database 23aiセキュリティ・ガイドを参照してください。

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でのユーザーの削除」を参照してください。

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