Autonomous DatabaseでのOracle Database Vaultの使用

Oracle Database Vaultは、データベースに強力なセキュリティ制御を実装します。これらのユニークなセキュリティ制御により、特権データベース・ユーザーによるアプリケーション・データへのアクセスを制限することで、内部および外部の脅威のリスクを減らし、一般的なコンプライアンス要件に対応できます。

詳細は、Oracle Database Vaultの概要を参照してください。

Autonomous DatabaseでのOracle Database Vaultのユーザーおよびロール

Oracle Database Vaultは、アプリケーション・データを不正アクセスから守り、プライバシおよび規制要件に準拠するために管理者とデータ所有者間の職務分離を実装するのに役立つ強力なセキュリティ制御を提供します。

デフォルトでは、ADMINユーザーにはDV_OWNERおよびDV_ACCTMGRロールがあります。DV_OWNERアカウントとDV_ACCTMGRアカウントに別々のユーザーを設定する場合。詳細は、Oracle Database Vaultのスキーマ、ロールおよびアカウントを参照してください。

Oracle Database Vaultが有効な場合、ユーザー管理は、APEXコンポーネントに対してデフォルトで有効になります。ユーザー管理が有効な場合、ユーザーをCREATE | ALTER | DROPするために必要なロールを持つAPEXユーザーは、Database Vaultが有効なときにこれらの操作を実行するために必要な権限を持っています。これを変更するには、Autonomous DatabaseでのOracle Database Vaultを使用したユーザー管理の無効化を参照してください。

Oracle Database Vaultが有効なAutonomous Databaseでは、次の権限を付与します:

  • Oracle GoldenGateを使用する場合は、GGADMINユーザーにDV_GOLDENGATE_ADMINおよびDV_GOLDENGATE_REDO_ACCESSを付与します。

  • ADMINユーザーは、BECOME USER権限をOracle Data Pumpを使用するユーザーに付与する必要があります。一部のOracle Data Pump操作を実行するには、追加のOracle Database Vault認可が必要な場合があります。たとえば、データベース全体のエクスポートを実行したり、レルム保護スキーマをエクスポートするには、DBMS_MACADM.AUTHORIZE_DATAPUMP_USERを使用する必要があります。

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

  • Oracle Database Vaultが有効で、資格証明所有者のスキーマがDatabase Vaultレルムを使用して保護されている場合に、DBMS_CLOUD資格証明関連のAPIが機能するには、C##CLOUD$SERVICEユーザーの認可をDatabase Vaultレルムに追加する必要があります。

    たとえば:

    BEGIN
        DBMS_MACADM.ADD_AUTH_TO_REALM(realm_name   => 'PROTECT_ADMIN',
            grantee       => 'C##CLOUD$SERVICE',
            rule_set_name => 'Enabled',
            auth_options  => DBMS_MACUTL.G_REALM_AUTH_PARTICIPANT);
    END;
    /

    PROTECT_ADMINは、Oracle Database Vaultレルムです。

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

Autonomous DatabaseでのOracle Database Vaultの有効化

Autonomous DatabaseでOracle Database Vaultを有効にするステップを示します。

Autonomous Databaseでは、Oracle Database Vaultはデフォルトで無効です。Autonomous DatabaseでOracle Database Vaultを構成して有効にするには、次の手順を実行します:

  1. 次のコマンドを使用して、Oracle Database Vaultを構成します:
    EXEC DBMS_CLOUD_MACADM.CONFIGURE_DATABASE_VAULT('adb_dbv_owner', 'adb_dbv_acctmgr');

    説明:

    • adb_dbv_ownerは、Oracle Database Vault所有者です。
    • adb_dbv_acctmgrは、アカウント・マネージャです。

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

  2. Oracle Database Vaultの無効化:
    EXEC DBMS_CLOUD_MACADM.ENABLE_DATABASE_VAULT;

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

  3. Autonomous Databaseインスタンスを再起動します。

    詳細は、Autonomous Databaseの再起動を参照してください。

Oracle Database Vaultが有効かどうかを確認するには、次のコマンドを使用します:

SELECT * FROM DBA_DV_STATUS;

次のような出力が表示されます。

NAME                 STATUS
-------------------- -----------
DV_CONFIGURE_STATUS  TRUE
DV_ENABLE_STATUS     TRUE

DV_ENABLE_STATUS値のTRUEは、Oracle Database Vaultが有効であることを示します。

ノート

Oracle Database Vaultが有効な場合、バックアップやパッチ適用などのAutonomous Databaseのメンテナンス操作は影響を受けません。

Oracle Database Vaultの無効化の詳細は、「Autonomous DatabaseでのOracle Database Vaultの無効化」を参照してください。

Autonomous DatabaseでのOracle Database Vaultの無効化

Autonomous DatabaseでOracle Database Vaultを無効にするステップを示します。

Autonomous DatabaseでOracle Database Vaultを無効にするには、次の手順を実行します。

  1. Oracle Database Vaultの無効化
    EXEC DBMS_CLOUD_MACADM.DISABLE_DATABASE_VAULT;

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

  2. Autonomous Databaseインスタンスを再起動します。

    詳細は、Autonomous Databaseの再起動を参照してください。

Oracle Database Vaultが有効かどうかを確認するには、次のコマンドを使用します:

SELECT * FROM DBA_DV_STATUS;

次のような出力が表示されます。

NAME                 STATUS
-------------------- -----------
DV_CONFIGURE_STATUS  TRUE
DV_ENABLE_STATUS     FALSE

DV_ENABLE_STATUS値のFALSEは、Oracle Database Vaultが無効であることを示します。

Autonomous DatabaseでのOracle Database Vaultを使用したユーザー管理の無効化

Oracle Database Vaultが有効なAutonomous Databaseで、指定したコンポーネントに対してユーザー管理関連の操作を許可しない方法を示します。

Oracle Database Vaultが有効なAutonomous Databaseでは、Oracle APEXコンソールに対してユーザー管理がデフォルトで有効化されています。より厳格な職務分離を強制し、このコンソールからのユーザー管理を許可しない場合は、DBMS_CLOUD_MACADM.DISABLE_USERMGMT_DATABASE_VAULTを使用します。

  1. DV_ACCTMGRおよびDV_ADMINロールを付与されているユーザーとして、指定したコンポーネントのユーザー管理を無効にできます。
  2. APEXコンポーネントなど、指定したコンポーネントのユーザー管理を無効にするには、次のコマンドを使用します:
    EXEC DBMS_CLOUD_MACADM.DISABLE_USERMGMT_DATABASE_VAULT('APEX');

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

Autonomous DatabaseでのOracle Database Vaultを使用したユーザー管理の有効化

Oracle Database Vaultが有効なAutonomous Databaseで、指定したコンポーネントのユーザー管理を許可するステップを示します。

Oracle Database Vaultが有効なAutonomous Databaseでは、Oracle APEXコンソールに対してユーザー管理がデフォルトで有効化されています。これにより、Autonomous Database内で指定したコンポーネントからCREATE USERALTER USERおよびDROP USERなどの操作に対するユーザー管理が許可されます。

Oracle Database Vaultが有効な場合に、DBMS_CLOUD_MACADM.ENABLE_USERMGMT_DATABASE_VAULTを使用して、指定したユーザー・アカウントがユーザー管理を実行できるようにします。このプロシージャは、ユーザー管理が無効になっており、再度有効にする場合に使用します。

  1. DV_ACCTMGRおよびDV_ADMINロールを付与されているユーザーは、指定したコンポーネントのユーザー管理を有効にできます。
  2. APEXコンポーネントなど、指定したコンポーネントのユーザー管理を有効にするには、次のコマンドを使用します:
    EXEC DBMS_CLOUD_MACADM.ENABLE_USERMGMT_DATABASE_VAULT('APEX');

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