機械翻訳について

Microsoft Active DirectoryとAutonomous Databaseの使用

Microsoft Active Directoryユーザーを認証および認可するようにAutonomous Databaseを構成できます。 この構成により、Active DirectoryユーザーはActive Directoryの資格証明を使用して「Autonomous Transaction Processingデータベース」にアクセスできます。

Autonomous Database上のMicrosoft Active DirectoryでCMUを構成

Autonomous Databaseと集中管理対象ユーザー(CMU)の統合により、Microsoft Active Directoryとの統合が可能になります。 Active DirectoryのCMUは、Oracleデータベース・ユーザーとロールをMicrosoft Active Directoryのユーザーおよびグループにマッピングすることで機能します。

ノート:

CMUはMicrosoft Active Directoryサーバーをサポートしますが、Azure Active Directoryサービスはサポートしていません。

集中管理ユーザー(CMU)の詳細は、『「Microsoft Active Directoryによる集中管理ユーザーの構成」を参照してください。

Autonomous DatabaseからActive Directoryへの接続を構成する前に、次のものが必要です:

  • Microsoft Active Directoryがインストールおよび構成されている必要があります。 詳細は、次を参照してください:

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

  • Active Directoryシステム管理者は、Active DirectoryサーバーにOracleパスワード・フィルタをインストールし、要件を満たすようにActive DirectoryユーザーにActive Directoryグループを設定する必要があります。 Autonomous DatabaseではCMUでサポートされているのはパスワード認証のみであるため、含めるユーティリティopwdintg.exeを使用して、Active DirectoryにOracleパスワード・フィルタをインストールし、スキーマを拡張し、3タイプのパスワード検証生成で3つの新しいORA_VFRグループを作成する必要があります。 Oracleパスワード・フィルタのインストールの詳細は、「Microsoft Active Directoryへの接続」を参照してください。

  • Active Directoryサーバーは、「パブリック」インターネットを介してAutonomous Databaseからアクセスできる必要があり、Autonomous Databaseがインターネットを介してTLS/SSL経由でActive DirectoryサーバーへのセキュアなLDAPアクセスを持つことができるように、Active Directoryサーバーのポート636がOracle Cloud InfrastructureAutonomous Databaseに対してオープンされている必要があります。

    オンプレミスのActive DirectoryをOracle Cloud Infrastructureに拡張することもできます。ここで、オンプレミスActive Directory用の読取り専用ドメイン・コントローラ(RODC)を設定できます。 その後、Oracle Cloud InfrastructureでこれらのRODCを使用して、オンプレミスActive Directoryユーザーを認証および認可し、Autonomous Databaseにアクセスできます。 詳細については、「Microsoft Windows: Oracle Cloud InfrastructureへのActive Directoryの拡張」を参照してください。

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

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

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

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

  • Autonomous DatabaseでCMUについてサポートされているのは、パスワード認証のみです。 KerberosおよびPKIなど、その他のCMU認証方式は、Autonomous Databaseではサポートされていません。

ノート:

構成ステップを実行するときは、ADMINユーザーとして「Autonomous Transaction Processingデータベース」に接続します。

Autonomous DatabaseでCMUを構成するには、ADMINユーザーとしてCMU構成データベース・ウォレット、cwallet.sso、CMU構成ファイルdsi.oraをオブジェクト・ストアにアップロードし、DBMS_CLOUD.GET_OBJECTを使用してこれらのファイルを「Autonomous Transaction Processingデータベース」のディレクトリ・オブジェクトで指定されたファイル・システム・ディレクトリ・パスにコピーします。

Autonomous Databaseを構成してActive Directoryサーバーに接続するには:

  1. 「Autonomous Transaction Processingデータベース」で、新しいディレクトリ・オブジェクトを作成するか、既存のディレクトリ・オブジェクトを選択します。 これは、Active Directoryに接続するためのウォレットと構成ファイルを格納するディレクトリです:

    次に例を示します。

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

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

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

  3. DBMS_CLOUD.GET_OBJECTを使用すると、オブジェクト・ストアのCMU構成データベース・ウォレットおよびCMU構成ファイルが、ステップ1で作成または選択したディレクトリにコピーされます。

    たとえば、DBMS_CLOUD.GET_OBJECTを使用して、ファイルをObject Storeから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プロシージャおよびファンクション」を参照してください。
  4. 「Autonomous Transaction Processingデータベース」プロパティのCMU_WALLETを、ステップ1で作成または選択したディレクトリ・オブジェクトの名前に設定します。
    ALTER DATABASE PROPERTY SET CMU_WALLET='directory_object_name';

    次に例を示します。

    ALTER DATABASE PROPERTY SET CMU_WALLET='CMU_WALLET_DIR';

    次のSQL文を使用して、データベース・プロパティCMU_WALLETのプロパティ値を問い合せます:

    SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='CMU_WALLET';

    次に例を示します。

    SQL> SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='CMU_WALLET';
    
    PROPERTY_VALUE
    --------------------------------
    CMU_WALLET_DIR

    次のSQL文を使用して、ディレクトリ・オブジェクト・セットのディレクトリ・パスをプロパティCMU_WALLETに問い合せます:

    SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='directory_object_name';

    次に例を示します。

    SQL> SELECT DIRECTORY_PATH FROM DBA_DIRECTORIES WHERE DIRECTORY_NAME='CMU_WALLET_DIR';
    
    DIRECTORY_PATH
    --------------------------------------------------------------------------------
    /file_system_directory_path_example/cmu_wallet

    ステップ1のCREATE OR REPLACE DIRECTORY文で、ディレクトリ・オブジェクト名の大/小文字を保持する場合は、二重引用符を含める必要があります。 次に例を示します。

    CREATE OR REPLACE DIRECTORY "CMU_wallet_dir" AS 'cmu_wallet';

    ケースが保持され、プロパティCMU_WALLETは次のように設定されます:

    ALTER DATABASE PROPERTY SET CMU_WALLET='CMU_wallet_dir';
  5. セキュリティを維持するには、CMU構成データベース・ウォレット、cwallet.ssoおよびCMU構成ファイルdsi.oraをオブジェクト・ストアから削除します。 たとえば、Autonomous DatabaseではDBMS_CLOUD.DELETE_OBJECTを使用してObject Storeからこれらのファイルを削除します。
  6. Autonomous DatabaseからActive Directoryへのアクセスを有効にするには、LDAP_DIRECTORY_ACCESSパラメータ値をPASSWORDに設定します。
    ALTER SYSTEM SET LDAP_DIRECTORY_ACCESS=PASSWORD;

ノート:

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

DBMS_CLOUD.GET_OBJECTの詳細は、「GET_OBJECTプロシージャおよびファンクション」を参照してください。

DBMS_CLOUD.DELETE_OBJECTの詳細は、「DELETE_OBJECTプロシージャ」を参照してください。

Microsoft Active DirectoryでCMUを構成する方法の詳細は、「Microsoft Active Directoryによる集中管理ユーザーの構成」を参照してください。

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

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

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

  1. Active Directoryを使用するように構成されているデータベースにADMINユーザーとしてログインします(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. ロールを追加する場合は、ロールごとに次のステップに従います。

Microsoft Active Directoryでロールを構成する方法の詳細は、「集中管理ユーザーの認可の構成」を参照してください。

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

Active Directoryユーザーを追加して「Autonomous Transaction Processingデータベース」にアクセスするには、データベース・グローバル・ユーザーを、CREATE USER文またはALTER USER文(IDENTIFIED GLOBALLY AS句付き)を持つユーザーにマップします。

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

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

  1. Active Directoryを使用するように構成されているデータベースにADMINユーザーとしてログインします(ADMINユーザーには、これらのステップに必要なCREATE USERおよびALTER USERシステム権限が必要です)。
  2. CREATE USERまたはALTER 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のすべてのユーザーは、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 Transaction Processingデータベース」にログインします。

ノート:

グローバル・ユーザー名を使用してログインしないでください。 グローバル・ユーザー名にパスワードがなく、グローバル・ユーザー名と接続できません。
  1. Active Directoryのユーザー名とパスワードを使用してAutonomous Transaction Processingデータベースにログインするには、次のように接続します:
    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ユーザー名は、ドメインproductionpfitchです。 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 Transaction Processingへの接続」で説明されているいずれかの接続メソッドを使用して、「Autonomous Transaction Processingデータベース」に接続できます。 接続時に、Active Directoryユーザーを使用する場合は、Active Directoryのユーザー資格証明を使用します。 たとえば、AD_DOMAIN \AD_USERNAMEという形式でユーザー名を指定し、パスワードにAD_USER_PASSWORDを使用します。

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

Autonomous DatabaseのActive Directoryでのツールの制限

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

Autonomous DatabaseでのActive Directoryユーザー接続情報の検証

ユーザーがActive Directoryのユーザー名とパスワードを使用して「Autonomous Transaction Processingデータベース」にログインすると、ユーザー・アクティビティを検証および監査できます。

たとえば、ユーザーpfitchがログインした場合は、次のようになります:

CONNECT "production\pfitch"/password@exampleadb_medium;

ユーザー名(samAccountName)でのActive Directoryユーザー・ログはpfitchで、widget_sales_groupはActive Directoryグループ名、widget_sales「Autonomous Transaction Processingデータベース」グローバル・ユーザーです。

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ユーザーおよびロールの削除

Active DirectoryのユーザーおよびロールをAutonomous Databaseから削除するには、標準のデータベース・コマンドを使用します。 削除されたデータベース・ユーザーまたはロールからマップされた関連する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からActive DirectoryへのLDAPアクセスを無効にするステップと、Autonomous DatabaseからCMU構成を削除するステップについて説明します。

Active Directoryにアクセスするように「Autonomous Transaction Processingデータベース」を構成した後、次のようにアクセスを無効化できます:

  1. Autonomous DatabaseからActive Directoryへのアクセスを無効にするには、LDAP_DIRECTORY_ACCESSパラメータ値をNONEに設定します:
    ALTER SYSTEM SET LDAP_DIRECTORY_ACCESS=NONE;
  2. Active Directoryアクセスを再有効化するには、パラメータ値をPASSWORDに設定します:
    ALTER SYSTEM SET LDAP_DIRECTORY_ACCESS=PASSWORD;

ノート:

Active Directoryへの接続を維持する必要がなくなった場合は、次の手順を実行します:

  • 次のSQL文を実行して、データベース・プロパティCMU_WALLETを削除します:

    ALTER DATABASE PROPERTY REMOVE CMU_WALLET;
  • CMUを構成したときに作成または選択したディレクトリから、CMU構成ファイル(cwallet.ssoおよびdsi.ora)を削除します。 たとえば、DBMS_CLOUD.DELETE_FILEを使用して、これらのファイルをCMU_WALLET_DIRから削除します。

DBMS_CLOUD.DELETE_FILEの詳細は、「DELETE_FILEプロシージャ」を参照してください。