Autonomous DatabaseでのMicrosoft Active Directoryの使用

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

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

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

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での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から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認証を参照してください。

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

  • Autonomous Databaseに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)を参照してください。

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

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

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

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

      詳細は、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 Object Storeにアクセスするための資格証明を作成する必要はありません。詳細は、リソース・プリンシパルを使用した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認証を有効にしたあと、データベースウォレットを含むCMU構成ファイル cwallet.ssoおよびCMU構成ファイル dsi.oraをオブジェクトストアから削除します。ローカル・オブジェクト・ストア・メソッドを使用してこれらのファイルを削除するか、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認証を使用している場合、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認証を構成する場合、KerberosではMicrosoft Active Directory 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をオブジェクト・ストアにアップロードします。

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

      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 Object Storeにアクセスするための資格証明を作成する必要はありません。詳細は、リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセスを参照してください。

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

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

    3. CMU-ADが構成され、有効になっていることを確認します。
      SELECT property_value FROM database_properties
            WHERE property_name='CMU_WALLET';
  3. ステップ1およびステップ2を完了したら、CMU-ADによるKerberos認証の構成が完了していることを確認します。
    1. USERENVSYS_CONTEXT情報が移入されるように、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でCMUをMicrosoft Active Directoryで構成するための前提条件を参照してください。

CMU-ADでのKerberos認証の使用に関するノート:

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

  • 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は、共通権限が定義されている事前定義済ロールです。Autonomous Databaseユーザーの共通権限の設定の詳細は、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ユーザーの追加

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

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

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

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アクセスを無効にする)ステップについて説明します。

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