日本語PDF

9 Oracle Database Vaultポリシーの構成

Oracle Database Vaultポリシーを使用して、よく使用されるレルムおよびコマンド・ルール設定を実装できます。

9.1 Database Vaultポリシーの概要

Oracle Database Vaultポリシーにより、ローカルのレルムおよびコマンド・ルールが、必要に応じて有効または無効にできる、名前付きポリシーにグループ化されます。

9.1.1 Oracle Database Vaultポリシーについて

Oracle Database Vaultポリシーを使用してレルムおよびコマンド・ルールの定義を1つのポリシーにグループ化でき、その後、まとめて有効または無効にできます。

Database Vaultポリシーにより、DVADMロールおよびDVOWNERロールで提供される強力な権限を付与することなく、限定されたレルム管理権限をデータベース・ユーザーに委任できます。Oracle Database Vaultには、デフォルト・ポリシーが用意されています。

たとえば、レルムおよびいくつかのコマンド・ルールなど、特定のアプリケーションに関連する一連のOracle Database Vaultオブジェクトがあるとします。Database Vaultポリシーを使用して、これらのオブジェクトを1つのポリシーにグループ化できます。その後、このアプリケーションのためとポリシーの有効化または無効化のためにレルムへのユーザーの追加を管理するポリシー管理者を指定できます。プライマリ・アプリケーションが1つのみの場合は、含まれているDatabase Vaultオブジェクトごとにコマンドを発行するのではなく、ユーザーがすべての関連オブジェクトを1つのコマンドで有効化、無効化またはシミュレート(シミュレーション・モードを使用)できるという、管理容易性のためにそれを使用できます。

ポリシーのポリシー状態の設定内容に応じて個々のレルムおよびコマンド・ルールの有効化がどのように機能するかを、次に示します。

  • 完全有効化モード(DBMS_MACADM.G_ENABLED)では、関連付けられたレルムおよびコマンド・ルールの個々の有効化設定より優先されるよう、ポリシーが設定されます。たとえば、ポリシーの関連オブジェクトが個別に無効にされている場合、それらは、ポリシーが有効になると有効になります。(反対に、埋込みのセキュリティ・オブジェクトでそれら固有の有効化、無効化またはシミュレーション・モードを設定できるよう、DBMS_MACADM.G_PARTIALを設定できます)。

  • 部分有効化モード(DBMS_MACADM.G_PARTIAL)では、関連付けられたレルムおよびコマンド・ルールを様々なステータス設定(ENABLEDDISABLEDおよびSIMULATION)にできます。他のポリシー・ステータスを選択すると、関連するすべての制御が、強制的に、ポリシーによって決定された同じステータスになります。ポリシー・ステータスを部分にすると、各レルムおよびコマンド・ルールで、必要に応じてステータスを変更できます。

  • シミュレーション・モード(DBMS_MACACM.G.SIMULATION)では、ポリシーが有効になりますが、レルムまたはコマンド・ルールに対する違反が、ユーザー名や使用されたSQL文など、違反のタイプに関する情報とともに、指定したログ表に書き込まれます。シミュレーションにより、ポリシー内のすべてのセキュリティ・オブジェクトが強制的にシミュレーション・モードになります。

  • 無効化モード(DBMS_MACADM.G_DISABLED)では、ポリシーはその作成後に無効になります。

通常、Database Vaultポリシーを作成するには、次のステップを実行します。

  1. ポリシー内で使用する、必要なレルムおよびコマンド・ルールを作成します。

  2. Database Vaultポリシーを作成します。

    DBMS_MACADM.CREATE_POLICYプロシージャを使用してポリシーを作成できます。

  3. 1つ以上のレルムをポリシーに追加します。

    DBMS_MACADM.ADD_REALM_TO_POLICYプロシージャを使用してレルムをポリシーに追加できます。

  4. 1つ以上のコマンド・ルールをポリシーに追加します。

    DBMS_MACADM.ADD_CMD_TO_POLICYプロシージャを使用してコマンド・ルールをポリシーに追加できます。

  5. 1人以上のデータベース・ユーザーをポリシーの所有者として追加します。

    DBMS_MACADM.ADD_OWNER_TO_POLICYプロシージャを使用してユーザーをポリシーに追加できます。その後、このユーザーにDV_POLICY_OWNERロールを付与します。このユーザーは、ポリシー状態の変更、レルムでの認可の追加または削除、および一連のDVSYS.POLICY_OWNER*データ・ディクショナリ・ビューに対するSELECT権限の保持といった、限定された一連の作業を実行できます。デフォルトでは、DVOWNERユーザーがポリシーを所有します。

ポリシーは、作成後すぐに使用できます。

この項では、Oracle Enterprise Manager Cloud ControlでOracle Database Vault Administratorページを使用してポリシーを構成する方法について説明します。Oracle Database Vaultで提供されるPL/SQLインタフェースおよびパッケージを使用することでポリシーを構成するには、DBMS_MACADM PL/SQLパッケージを使用する必要があります。

9.1.2 マルチテナント環境におけるOracle Database Vaultポリシー

Oracle Database Vaultポリシーは、それらが作成されたプラガブル・データベース(PDB)に対してのみローカルとなります。

つまり、PDBでポリシーを作成した場合は、ローカルのレルムおよびコマンド・ルールのみをそれに追加できます。共通レルムまたは共通コマンド・ルールを保持できるDatabase Vaultポリシーは作成できません。

9.2 デフォルトのOracle Database Vaultポリシー

Oracle Database Vaultには、ユーザー・アカウントとシステム権限をよりしっかりと保護するために使用できる、2つのデフォルト・ポリシーが用意されています。

独自のセキュリティ構成でデフォルトのポリシーを使用できます。それらは、Oracle Database Vaultによる内部使用には必要ないため、不要な場合は削除できます。

デフォルト・ポリシーは、次のとおりです。

  • Oracleアカウント管理コントロールは、Oracle Database Vault内のユーザー関連操作を強制的に制御します。権限のない特権ユーザーによるその場かぎりのユーザー・アカウント作成、ユーザー削除、およびその他のユーザー・アカウント関連操作を防ぐために使用されます。それには、CREATE USERなどのSQL文のためのDatabase Vaultアカウント管理レルムおよびユーザー・アカウント管理コマンド・ルールが含まれています。

  • Oracleシステム保護コントロールは、デフォルトのOracle Database環境に関連付けられている、重要なデータベース・スキーマ、権限およびロールを強制的に制御します。それには、システム管理SQL文ALTER SYSTEMのための、Oracleデフォルト・スキーマ保護レルムなどのレルム、およびコマンド・ルールが含まれています。

関連トピック

9.3 Oracle Databaseポリシーの作成

Oracle Database Vaultポリシーを作成するには、そのポリシーを取り巻くレルムおよびコマンド・ルールを指定する、コンテナ・ポリシーを作成します。

ポリシーは作成時に有効にするか、後で有効にできます。
  1. DV_OWNERまたはDV_ADMINロールおよびSELECT ANY DICTIONARY権限を付与されているユーザーとして、Cloud ControlからOracle Database Vault Administratorにログインします。ログイン方法については、「Oracle Enterprise Cloud ControlからのOracle Database Vaultへのログイン」を参照してください。
  2. 「レルムの作成」および「ルール・セットの作成」を使用して、ポリシーに関連付ける必要があるレルムおよびコマンド・ルールを作成します。
  3. 「管理」ページの「Database Vaultコンポーネント」の下で、「ポリシー」をクリックして「ポリシー」ページを表示します。
    policies_home_page.pngの説明が続きます
    図policies_home_page.pngの説明
  4. 「ポリシー」ページで、「作成」をクリックして「ポリシーの作成」ページを表示します。
    create_policy122.pngの説明が続きます。
    図create_policy122.pngの説明
  5. 「ポリシーの作成」ページの「一般」で、次の設定を入力します。
    • 名前: ポリシー名を最大128文字で入力します。

    • 説明: ポリシーの説明を最大4000文字で入力します。

    • ステータス: 次の中から選択します。

      • 「有効」では、ポリシーがその作成後に有効になります。

      • 「無効」では、ポリシーがその作成後に無効になります。

      • 「シミュレーション」では、ポリシーがシミュレーション・モードに設定されます。シミュレーション・モードでは、ポリシー内で使用されるレルムまたはコマンド・ルールに対する違反が、ユーザー名や使用されたSQL文などエラーを説明する十分な情報とともに、指定されたログ表に記録されます。

      • 「部分」では、ポリシーに関連付けられているレルムまたはコマンド・ルールの強制状態を個別に変更できます。

  6. 「レルム」の下で「追加」をクリックし、レルムを選択してポリシーに追加します。次に、「OK」をクリックします。
  7. 「コマンド・ルール」の下で「追加」をクリックし、コマンド・ルールを選択してポリシーに追加します。次に、「OK」をクリックします。
  8. 「所有者」の下で「追加」をクリックし、所有者をポリシーに追加します。次に、「OK」をクリックします。
  9. 「次へ」をクリックします。
  10. 確認ページで、「終了」をクリックします。
  11. Database Vaultポリシー所有者にポリシーに関連するビューの問合せと許可されたプロシージャの実行が可能になるよう、このユーザーにDV_POLICY_OWNERロールを付与します。
    たとえば:
    GRANT DV_POLICY_OWNER TO psmith;

9.4 Oracle Database Vaultポリシーの変更

Enterprise Manager Cloud Controlを使用してOracle Database Vaultポリシーを変更できます。

  1. DV_OWNERまたはDV_ADMINロールおよびSELECT ANY DICTIONARY権限を付与されているユーザーとして、Cloud ControlからOracle Database Vault Administratorにログインします。ログイン方法については、「Oracle Enterprise Cloud ControlからのOracle Database Vaultへのログイン」を参照してください。
  2. 「管理」ページの「Database Vaultコンポーネント」で、「ポリシー」をクリックします。
  3. 変更するポリシーの行を選択します。
  4. 「編集」をクリックします。
  5. 「ポリシーの編集」ページで、必要に応じて設定を変更します。
  6. 「次へ」をクリックして、「完了」をクリックします。

9.5 Oracle Database Vaultポリシーの削除

Enterprise Manager Cloud Controlを使用してOracle Database Vaultポリシーを削除できます。

Oracle Database Vaultポリシーを削除する場合、基礎となるレルムおよびコマンド・ルールは保持され、それら個別の有効化ステータスが維持されます。
  1. DV_OWNERまたはDV_ADMINロールおよびSELECT ANY DICTIONARY権限を付与されているユーザーとして、Cloud ControlからOracle Database Vault Administratorにログインします。ログイン方法については、「Oracle Enterprise Cloud ControlからのOracle Database Vaultへのログイン」を参照してください。
  2. 「管理」ページの「Database Vaultコンポーネント」で、「ポリシー」をクリックします。
  3. 削除するポリシーの行を選択し、「削除」をクリックしてから、確認ダイアログ・ボックスで「はい」をクリックします。

9.6 関連するデータ・ディクショナリ・ビュー

Oracle Database Vaultには、Database Vaultポリシーの分析に便利なデータ・ディクショナリ・ビューが用意されています。

表9-1に、既存のOracle Database Vaultポリシーについて情報を提供するデータ・ディクショナリ・ビューを示します。

表9-1 Oracle Database Vaultポリシーのために使用されるデータ・ディクショナリ・ビュー

データ・ディクショナリ・ビュー 説明

DBA_DV_POLICYビュー

Database Vaultポリシー、説明およびそれらの状態を示します。

DBA_DV_POLICY_OBJECTビュー

関連付けられているレルムおよびコマンド・ルールなど、ポリシーに関する詳細情報を提供します。

DBA_DV_POLICY_OWNERビュー

Database Vaultポリシーの所有者を示します。

DBA_DV_REALM_AUTHビュー

DV_POLICY_OWNERロールを付与されたユーザーが、レルム名、権限受領者および関連付けられたルール・セットなど、Database Vaultポリシーに関連付けられているレルムに付与された認可について情報を確認できます。

DVSYS.POLICY_OWNER_COMMAND_RULEビュー

DV_POLICY_OWNERロールを付与されたユーザーが、コマンド・ルール名など、Database Vaultポリシーに関連付けられているコマンド・ルールについて情報を確認できます。

DVSYS.POLICY_OWNER_POLICYビュー

DV_POLICY_OWNERロールを付与されたユーザーが、他のポリシー所有者によって作成されたポリシーを含め、現在のデータベース・インスタンス内の既存のポリシーの名前、説明および状態などの情報を確認できます。

DVSYS.POLICY_OWNER_POLICYビュー

DV_POLICY_OWNERロールを付与されたユーザーが、他のポリシー所有者によって作成されたポリシーを含め、現在のデータベース・インスタンス内の既存のポリシーの名前、説明および状態などの情報を確認できます。

DVSYS.POLICY_OWNER_REALMビュー

DV_POLICY_OWNERロールを付与されたユーザーが、レルム名、監査オプションまたはタイプなど、Database Vaultポリシーに関連付けられているレルムについて情報を確認できます。

DVSYS.POLICY_OWNER_REALM_OBJECTビュー

DV_POLICY_OWNERロールを付与されたユーザーが、レルム名、権限受領者および関連付けられたルール・セットなど、Database Vaultポリシーに関連付けられているレルムに追加されたオブジェクトについて情報を確認できます。

DVSYS.POLICY_OWNER_RULEビュー

DV_POLICY_OWNERロールを付与されたユーザーが、ルール名とその式など、Database Vaultポリシー内のルール・セットに関連付けられているルールについて情報を確認できます。

DVSYS.POLICY_OWNER_RULE_SETビュー

DV_POLICY_OWNERロールを付与されたユーザーが、ルール・セットの名前、そのハンドラ情報、およびそれが有効になっているかどうかなど、Database Vaultポリシーに関連付けられているルール・セットについて情報を確認できます。

DVSYS.POLICY_OWNER_RULE_SET_RULEビュー

DV_POLICY_OWNERロールを付与されたユーザーが、ルール・セットの名前、およびそれが有効になっているかどうかなど、Database Vaultポリシーで使用されるルールを含むルール・セットについて情報を確認できます。