1 Oracle Database Vaultの概要
Oracle Database Vaultを使用すると、データに対する管理アクセスを制御できます。
- Oracle Database Vaultの概要
Oracle Database Vaultは、認可されていない特権ユーザーによる機密データへのアクセスを防ぐためと認可されていないデータベース変更を防ぐための制御を提供します。 - Oracle Database Vaultの使用に必要な権限
Oracle Database Vaultは、様々なユーザーが職務の分離ガイドラインに基づいて特定のタスクを実行するためのデータベース・ロールを提供します。 - Oracle Database Vaultのコンポーネント
Oracle Database Vaultには、PL/SQLパッケージおよび他の特定のツールを含む一連のコンポーネントがあります。 - Oracle Database Vaultのコンプライアンスへの対応
法令を順守することで得られる最も大きな副産物の1つは、セキュリティに対する意識の向上です。 - Oracle Database Vaultによるユーザー・アカウントの保護
多くのセキュリティ侵害は、外部と内部の両方とも、特権データベース・ユーザー・アカウントを標的にし、データベースからデータを盗み出します。 - Oracle Database Vaultによる柔軟なセキュリティ・ポリシーの実現
Oracle Database Vaultは、データベースの柔軟なセキュリティ・ポリシーの設計を支援します。 - Oracle Database Vaultのデータベース統合に関する問題への対応
統合とクラウド環境によってコストは削減されますが、機密アプリケーション・データが、本来アクセスする必要のない人にも公開されるおそれがあります。 - マルチテナント環境におけるOracle Database Vaultの動作について
統合のセキュリティをさらに強化するために、Oracle Database VaultをOracle Multitenantとともに使用できます。
1.1 Oracle Database Vaultの概要
Oracle Database Vaultは、認可されていない特権ユーザーによる機密データへのアクセスを防ぐためと認可されていないデータベース変更を防ぐための制御を提供します。
- Oracle Database Vaultについて
Oracle Database Vaultのセキュリティ統制は、アプリケーション・データを不正アクセスから守るとともに、プライバシおよび規制の要件の順守に役立ちます。 - 特権アカウントに対する統制
特権データベース・アカウントは、データベース内の機密性の高いアプリケーション・データへのアクセスを獲得する手段として最もよく使われています。 - データベース構成に対する統制
監査で明らかになる事項として最も多いのが、データベース権限の無認可での変更およびDBA
ロールのユーザーへの付与が多すぎることです。 - エンタープライズ・アプリケーションの保護ポリシー
アプリケーション固有のOracle Database Vault保護ポリシーおよびガイドラインを、主要なエンタープライズ・アプリケーションで利用可能です。
親トピック: Oracle Database Vaultの概要
1.1.1 Oracle Database Vaultについて
Oracle Database Vaultのセキュリティ統制は、アプリケーション・データを不正アクセスから守るとともに、プライバシおよび規制の要件の順守に役立ちます。
統制によって特権アカウントによるアプリケーション・データへのアクセスをブロックすることや、信頼できるパスの認可を使用してデータベース内での要注意操作を統制することができます。Oracle Database Vaultでは、最小権限のベスト・プラクティスを使用することで、既存のアプリケーションのセキュリティを強化できます。Oracle Database Vaultは、既存のデータベース環境のセキュリティを透過的に強化するので、コストと時間をかけてアプリケーションを変更する必要はありません。
親トピック: Oracle Database Vaultの概要
1.1.2 特権アカウントに対する統制
特権データベース・アカウントは、データベース内の機密性の高いアプリケーション・データへのアクセスを獲得する手段として最もよく使われています。
広範囲にわたる無制限のアクセス権が付与されているので、データベースの保守がしやすくなりますが、同じアクセス権が攻撃ポイントとなって大量のデータへのアクセスを許してしまうおそれがあります。Oracle Database Vaultのレルムにアプリケーション・スキーマ、機密性の高い表、およびストアド・プロシージャを入れておくと、特権アカウントを悪用した侵入者や内部犯行者による機密アプリケーション・データへのアクセスを阻止するための統制を実施できるようになります。
図1-1 DBAによるデータへのアクセスのOracle Database Vaultレルムによるブロッキング
![図1-1の説明が続きます 図1-1の説明が続きます](img/dvadm_vm_003.png)
「図1-1 DBAによるデータへのアクセスのOracle Database Vaultレルムによるブロッキング」の説明
親トピック: Oracle Database Vaultの概要
1.1.3 データベース構成に対する統制
監査で明らかになる事項として最も多いのが、データベース権限の無認可での変更およびDBA
ロールのユーザーへの付与が多すぎることです。
本番環境に対する無認可での変更を阻止することが重要であるのは、セキュリティのためだけではなく、コンプライアンスのためでもあります。そのような変更によってセキュリティが弱まるおそれがあり、侵入口を開くことになって、プライバシーおよびコンプライアンスの規制に対する違反となるからです。Oracle Database VaultのSQLコマンド・ルールを使用すると、データベース内部での操作(たとえば、CREATE TABLE
、TRUNCATE TABLE
、DROP TABLE
などのコマンド)を統制できます。IPアドレス、認証方法、プログラム名などの多様なファクタがあらかじめ定義されているので、盗んだパスワードを悪用する攻撃を阻止するための信頼できるパスの認可の実装に役立ちます。このような統制は、意図しない構成変更を防ぐだけでなく、ハッカーや内部犯行者によるアプリケーションの改悪を阻止します。
Oracle Database Vaultの必須モードのレルムを利用すると、アプリケーション・オブジェクトへのアクセスを禁止でき、オブジェクト所有者など、オブジェクトに対する権限が直接付与されている場合もアクセスできなくなります。必須レルムでは、アクセスできるユーザーを分析する必要はありません。これは、認可ユーザーのリストからそれが明らかであるためです。
親トピック: Oracle Database Vaultの概要
1.1.4 エンタープライズ・アプリケーションの保護ポリシー
アプリケーション固有のOracle Database Vault保護ポリシーおよびガイドラインを、主要なエンタープライズ・アプリケーションで利用可能です。
これらのエンタープライズ・アプリケーションには、Oracle Fusion Applications、Oracle E-Business Suit、Oracle PeopleSoft、Oracle Siebel、Oracle Financial Services (i-Flex)、Oracle Primavera、SAPおよびInfosysのFinacleが含まれています。Oracle Database Vaultは、アプリケーションを変更したりクライアントを変更する必要がないため、ほとんどの既製アプリケーションやカスタム・アプリケーションで使用できます。
親トピック: Oracle Database Vaultの概要
1.2 Oracle Database Vaultの使用に必要な権限
Oracle Database Vaultは、様々なユーザーが職務の分離ガイドラインに基づいて特定のタスクを実行するためのデータベース・ロールを提供します。
よく使用されるロールは次のとおりです。
-
DV_OWNER
およびDV_ADMIN
では、Database Vaultポリシーを作成および管理できます。 -
DV_ACCTMGR
では、ユーザー・アカウントを管理できます。
Oracle Database Vaultを構成して有効化すると、DV_OWNER
ロールがユーザーに付与されます。このユーザーは、構成プロセスの開始前に存在する必要があります。また、DV_ACCTMGR
ロールが、2人目となるオプションのユーザーに付与されます。このユーザーも構成前に存在する必要があります。Database Vaultロールは他のユーザーに付与できますが、それらのユーザーが信頼できることを確認してください。
登録プロセスの間に、DV_OWNER
ユーザーとDV_ACCTMGR
ユーザーのバックアップ・アカウントを作成する必要があります。ベスト・プラクティスとして、これらのバックアップ・アカウントを保持し続けることをお薦めします。
1.3 Oracle Database Vaultのコンポーネント
Oracle Database Vaultには、PL/SQLパッケージおよび他の特定のツールを含む一連のコンポーネントがあります。
- Oracle Database Vaultアクセス制御コンポーネント
Oracle Database Vaultを使用して一連のコンポーネントを作成し、データベース・インスタンスのセキュリティを管理できます。 - Oracle Enterprise Manager Cloud ControlのDatabase Vault Administratorページ
Oracle Database Vaultはデフォルトで事前インストールされており、簡単に有効化できます。 - Oracle Database Vault DVSYSおよびDVFスキーマ
Oracle Database Vaultのデータベース・オブジェクトおよびパブリック・ファンクションは、それぞれDVSYS
とDVF
スキーマに格納されます。 - Oracle Database Vault PL/SQLインタフェースおよびパッケージ
Oracle Database Vaultには、セキュリティ管理者またはアプリケーション開発者がアクセス制御ポリシーを構成するためのPL/SQLインタフェースおよびパッケージが用意されています。 - Oracle Database Vaultレポートおよびモニタリング・ツール
Oracle Enterprise Managerは、Oracle Database Vaultレポートを生成および保守します。
親トピック: Oracle Database Vaultの概要
1.3.1 Oracle Database Vaultアクセス制御コンポーネント
Oracle Database Vaultを使用して一連のコンポーネントを作成し、データベース・インスタンスのセキュリティを管理できます。
これらのコンポーネントは次のとおりです。
-
レルム。レルムとは、データベース内で、スキーマ、オブジェクトおよびロールを保護できる保護ゾーンです。たとえば、会計、販売、人事に関する一連のスキーマ、オブジェクトおよびロールを保護できます。これらをレルムに保護すると、レルムを使用してシステム権限とオブジェクト権限の利用を特定のアカウントまたはロールに限定することができます。これにより、これらのスキーマ、オブジェクト、ロールを使用するユーザーに対してきめ細かいアクセス制御を提供できるようになります。レルムの構成では、レルムについて詳しく説明します。「Oracle Database VaultレルムのAPI」も参照してください。
-
コマンド・ルール。コマンド・ルールとは、ユーザーによる
SELECT
文、ALTER SYSTEM
文、データベース定義言語(DDL)文およびデータ操作言語(DML)文などのほぼすべてのSQL文の実行方法を制御するために作成する特別なセキュリティ・ポリシーです。コマンド・ルールでは、ルール・セットを使用して、文が許可されるかどうかを判断します。コマンド・ルールの詳細は、「コマンド・ルールの構成」で説明しています。「Oracle Database Vaultコマンド・ルールのAPI」も参照してください。 -
ルール・セット。ルール・セットとは、レルム認可、コマンド・ルール、ファクタ割当て、保護アプリケーション・ロールに関連付けることのできる1つ以上のルールの集まりです。ルール・セットは、それに含まれる各ルールと評価タイプ(「すべてのTrue」または「いずれかTrue」)に基づいて、trueまたはfalseに評価されます。ルール・セットは、ゼロ、1つまたは複数のレルム認可、コマンド・ルールまたはセキュア・アプリケーション・ロールに関連付けることができます。ルール・セットの詳細は、「ルール・セットの構成」で説明しています。「Oracle Database Vaultルール・セットのAPI」も参照してください。
- ルール。ルールは、TrueまたはFalseに評価されるPL/SQL式です。複数のルール・セットで同じルールを使用できます。詳細は、ルール・セットの機能を参照してください。
-
ファクタ。ファクタとは、ユーザー・ロケーション、データベースIPアドレス、セッション・ユーザーなどOracle Database Vaultで信頼できるパスとして認識および使用できる名前付きの変数または属性です。ルールでファクタを使用すると、データベースに接続するデータベース・アカウントを認可したり、データの可視性および管理性を制限する特定のデータベース・コマンドを実行したりするアクティビティを制御できます。各ファクタは1つ以上のアイデンティティを持ちます。アイデンティティは、ファクタの実際の値です。ファクタの取得メソッド、またはそのアイデンティティ・マッピング・ロジックによって、ファクタは複数のアイデンティティを持つ場合があります。ファクタの詳細は、「ファクタの構成」で説明しています。「Oracle Database VaultファクタのAPI」も参照してください。
-
セキュア・アプリケーション・ロール。セキュア・アプリケーション・ロールは、Oracle Database Vaultルール・セットの評価に基づいて有効化できる特別なOracle Databaseロールです。セキュア・アプリケーション・ロールの詳細は、「Oracle Database Vaultのセキュア・アプリケーション・ロールの構成」で説明しています。「Oracle Database Vaultセキュア・アプリケーション・ロールのAPI」も参照してください。
これらのコンポーネントを補強するため、Oracle Database Vaultには一連のPL/SQLインタフェースおよびパッケージが用意されています。「Oracle Database Vault PL/SQLインタフェースおよびパッケージ」で概要を説明しています。
一般的に、最初のステップは、保護するデータベース・スキーマまたはデータベース・オブジェクトを含むレルムを作成することです。ルール、コマンド・ルール、ファクタ、アイデンティティ、ルール・セットおよびセキュア・アプリケーション・ロールを作成すると、さらに強固にレルムを保護できます。また、これらのコンポーネントが監視および保護するアクティビティでレポートを実行できます。「Oracle Database Vaultの開始」には、Oracle Database Vaultの基本的な機能を紹介する簡単なチュートリアルが用意されています。以降の章では、さらに高度なチュートリアルを扱います。「Oracle Database Vaultレポート」では、構成、およびOracle Database Vaultで実行されるその他のアクティビティを確認するためのレポート実行方法の詳細が提供されます。
1.3.2 Oracle Enterprise Manager Cloud ControlのDatabase Vault Administratorページ
Oracle Database Vaultはデフォルトで事前インストールされており、簡単に有効化できます。
Oracle Database Vaultの管理はOracle Enterprise Manager Cloud Controlに完全統合されているので、セキュリティ管理者は効率的な中央集中型インタフェースでOracle Database Vaultを管理できます。
Oracle Enterprise Manager Cloud Controlには、Oracle Database Vaultのポリシーの表示と構成、およびOracle Database Vaultのアラートとレポートの表示に使用できるグラフィカル・ユーザー・インタフェースが用意されています。Oracle Database Vault Administratorには、ベースライン・セキュリティ構成の理解をサポートするセキュリティ関連のレポートが多数用意されています。これらのレポートは、このベースラインからの偏差の特定にも役立ちます。
「Oracle Database Vaultの開始」からOracle Database Vault環境でのDBA操作」では、レルム、コマンド・ルール、ファクタ、ルール・セット、セキュア・アプリケーション・ロールで定義されるアクセス制御ポリシーを構成するためのOracle Database Vault Administratorページの使用方法と、他のOracle製品へのOracle Database Vaultの統合方法について説明します。「Oracle Database Vaultの監視」では、これらのページを使用してDatabase Vaultアクティビティを監視する方法について、「Oracle Database Vaultレポート」では、Oracle Database Vaultのレポート作成について説明します。
1.3.3 Oracle Database Vault DVSYSおよびDVFスキーマ
Oracle Database Vaultのデータベース・オブジェクトおよびパブリック・ファンクションは、それぞれDVSYS
とDVF
スキーマに格納されます。
Oracle Database Vaultには、OracleデータをOracle Database Vault用に処理する際に必要なデータベース・オブジェクトを保存するDVSYS
スキーマが用意されています。このスキーマには、Oracle Database Vaultが使用するロール、ビュー、アカウント、ファンクションおよびその他のデータベース・オブジェクトが含まれます。DVF
スキーマには、Oracle Database Vaultアクセス制御構成内に設定されたファクタ値を(実行時に)取得するパブリック・ファンクションが含まれます。これらのスキーマは両方ともスキーマ専用アカウントとして認証されます。これらのアカウントはデフォルトでロックされ、Oracle Supportからの指示がないかぎりロックされたままにしておきます。
1.3.4 Oracle Database Vault PL/SQLインタフェースおよびパッケージ
Oracle Database Vaultには、セキュリティ管理者またはアプリケーション開発者がアクセス制御ポリシーを構成するためのPL/SQLインタフェースおよびパッケージが用意されています。
PL/SQLプロシージャおよびファンクションを使用すると、指定されたデータベース・セッションのコンテキスト内にあるアクセス制御ポリシーの範囲内において、通常のデータベース・アカウントでの操作が可能になります。
詳細は、「Oracle Database VaultレルムのAPI」から「Oracle Database Vault APIリファレンス」までを参照してください。
1.3.5 Oracle Database Vaultレポートおよびモニタリング・ツール
Oracle Enterprise Managerは、Oracle Database Vaultレポートを生成および保守します。
Oracle Database Vaultには、Oracle Database Vaultの構成設定に関する情報(ステータスやコンポーネント情報など)を取得できるデータベース・ビューが用意されています。
また、Oracle Database統合監査証跡またはOracle Enterprise Managerを使用して、ポリシーの変更、セキュリティ違反の試行、Oracle Database Vaultの構成および構造の変更を監視できます。
1.4 Oracle Database Vaultのコンプライアンスへの対応
法令を順守することで得られる最も大きな副産物の1つは、セキュリティに対する意識の向上です。
これまで、情報技術(IT)部門は高可用性とパフォーマンスを重視してきました。法令順守に重点を置くことで、ITインフラストラクチャ、データベースおよびアプリケーションをセキュリティという観点から客観的に見ることが必要になりました。一般的な疑問には次のものがあります。
-
どこに機密情報が保存されているのか。
-
誰がこの情報へのアクセス権を持っているのか。
サーベンス・オクスリー法(Sarbanes-Oxley Act)、医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)、国際業務を行う銀行の自己資本比率に関する国際統一基準(改定版)(バーゼルII、International Convergence of Capital Measurement and Capital Standards: a Revised Framework)、日本の個人情報保護法、PCIデータ・セキュリティ基準(Payment Card Industry Data Security Standard、PCI DSS)、欧州連合のプライバシと電子通信に関する指令(European Union Directive on Privacy and Electronic Communications)などの規制には、内部規制、職務分離およびアクセス制御を含む共通のテーマがあります。
サーベンス・オクスリーやHIPAAなどの規制による変更の多くは性質上手続き的なものであるのに対し、その他は技術的な投資を必要とする場合があります。規制に共通に見られるセキュリティ要件は厳密な内部規制です。Oracle Database Vaultを使用することで企業が達成できるコンプライアンスのレベルは規制によって異なります。一般的に、Oracle Database Vaultレルム、コマンド・ルール、ファクタおよび職務の分離機能は、規制により世界的に対応が求められている、全体的なセキュリティ・リスクを低減します。
表1-1に、潜在的なセキュリティの脅威に対応している規制を示します。
表1-1 潜在的なセキュリティの脅威に対応している規制
規制 | 潜在的なセキュリティの脅威 |
---|---|
サーベンス・オクスリー法(Sarbanes-Oxley)302条 |
データの不正な変更 |
サーベンス・オクスリー法(Sarbanes-Oxley)404条 |
データの変更、不正なアクセス |
サーベンス・オクスリー法(Sarbanes-Oxley)409条 |
サービス妨害、不正なアクセス |
グラム・リーチ・ブライリー(Gramm-Leach-Bliley) |
不正なアクセス、変更または公開 |
医療保険の相互運用性と説明責任に関する法律(Health Insurance Portability and Accountability Act、HIPAA)164.306 |
データへの不正なアクセス |
HIPAA 164.312 |
データへの不正なアクセス |
バーゼルII(Basel II) - 内部リスク管理 |
データへの不正なアクセス |
CFR Part 11 |
データへの不正なアクセス |
日本の個人情報保護法 |
データへの不正なアクセス |
欧州連合のプライバシと電子通信に関する指令(EU Directive on Privacy and Electronic Communications) |
データへの不正なアクセス |
PCIデータ・セキュリティ基準(Payment Card Industry Data Security Standard、PCI DSS) |
データの不正な変更 |
親トピック: Oracle Database Vaultの概要
1.5 Oracle Database Vaultによるユーザー・アカウントの保護
多くのセキュリティ侵害は、外部と内部の両方とも、特権データベース・ユーザー・アカウントを標的にし、データベースからデータを盗み出します。
Oracle Database Vaultは、レルム、ファクタ、コマンド・ルールを使用して権限ユーザー・アカウントへの攻撃を防ぐのに役立ちます。さらに、これらのコンポーネントはデータベース、アプリケーションおよび機密情報への安全なアクセスを支援する強力なセキュリティ・ツールを提供します。ルールとファクタを結合して、データベースのコマンドの実行が可能な条件の制御や、レルムによって保護されているデータへのアクセスの制御ができます。たとえば、ルールとファクタを作成し、IPアドレス、日時および特定のプログラム(JDBC、SQL Developer、SQL*Plusなど)に基づいてデータへのアクセスを制御できます。これにより、指定の条件を満たす接続のみにアクセスを制限できます。また、認可されていないアプリケーションによるデータベースへのアクセスとともに、アプリケーション・データへの不正なアクセスも防ぐことができます。たとえば、ルールを定義してDROP TABLE
文の実行を特定のIPアドレスやホスト名に制限できます。
親トピック: Oracle Database Vaultの概要
1.6 Oracle Database Vaultによる柔軟なセキュリティ・ポリシーの実現
Oracle Database Vaultは、データベースの柔軟なセキュリティ・ポリシーの設計を支援します。
たとえば、DBA
ロールを持つデータベース・ユーザーは、そのロールに付与されたDROP ANY TABLE
システム権限を使用できます。経験のない管理者が、DROP TABLE
コマンドを実行したときに非本番データベース上にいると思い込み、実際には本番システム上にいて重要なアプリケーション表を削除するとします。これにより、アプリケーションの停止、データの損失およびリカバリ時間が発生する可能性があります。Oracle Database Vaultを使用すると、このユーザーによるDROP TABLE
文の使用を制限することでそのような変更を防ぐように、コマンド・ルールを作成できます。また、文の実行を次のようにして制限するなど、アクティビティをさらに制限するルール・セットをコマンド・ルールに追加できます。
-
時間別(たとえば、営業時間の午前8時から午後6時まで、月曜日から金曜日まで)
-
リモートではなく、ローカル・アクセスのみに制限
-
アクションを認可するために、1人のユーザーではなく2人のデータベース・ユーザーが必要
-
ユーザーがOracle Database Vaultセキュア・アプリケーション・ロールを有効にしている場合
-
ホスト名またはIPアドレス別(たとえば、ホスト名を
%appserver%
にするか、192.0.2.150のIPアドレスと一致させることができます)
Oracle Database Vaultの職務分離は、規模を問わず企業の要件に合わせてカスタマイズできます。たとえば、専門のITスタッフや、アウトソーシング先のバックエンド事業者を抱えている大規模なユーザーは、職務分離をさらに微調整して、アウトソーシング先のデータベース管理者が実行できる処理を制御することができます。一方、一部のユーザーが複数の職責を兼ねる小規模な組織であれば、職務分離を整理し、それらのユーザーが職責ごとに個別の専用アカウントを作成することができます。実行されたすべてのアクションを追跡できるので、侵入者が権限のあるデータベース・アカウントを侵害して不正利用し、機密データを盗み出すことも防止できます。また、監査者によるコンプライアンスの検証も容易になります。
親トピック: Oracle Database Vaultの概要
1.7 Oracle Database Vaultのデータベース統合に関する問題への対応
統合とクラウド環境によってコストは削減されますが、機密アプリケーション・データが、本来アクセスする必要のない人にも公開されるおそれがあります。
ある国からのデータがまったく別の国でホスティングされることもありますが、そのデータへのアクセスはデータが属する国の規制に基づいて制限する必要があります。Oracle Database Vaultによる統制の下で、データベース管理者によるアプリケーション・データへのアクセスを禁止することによって、このような環境のセキュリティを強化できます。加えて、統制はアプリケーションのバイパスのブロックにも役立ち、アプリケーション層からアプリケーション・データへは信頼できるパスだけを強制的に使用させることができます。
Oracle Database Vaultでは、セキュリティ管理のために次の4つの個別の職務分離制御が提供されます。
-
DBA
ロールを使用した日常的なデータベース管理者作業 -
DV_OWNER
ロールとDV_ADMIN
ロールを使用したセキュリティ管理者作業 -
DV_ACCTMGR
ロールを使用したアカウント管理者作業 -
信頼できる名前付きユーザーによるロールおよび権限の付与
Oracle Database Vault職務分離制御はカスタマイズでき、リソースが限られている組織は、複数のOracle Database Vault責務を同じ管理者に割り当てることができますが、あるアカウントが盗用された場合にデータベースへの損害が最小限に抑えられるよう、職務分離ロールごとに別個のアカウントを使用します。
今日においても、非常に多くのOracleデータベースがエンタープライズ、さらには世界中に分散しています。ただし、今後数年間のコスト削減戦略としてデータベース統合が効果を発揮するには、専用データベース・アーキテクチャによって提供される物理的なセキュリティも、統合環境で利用できなければなりません。Oracle Database Vaultは、データベース統合に関する主要なセキュリティの問題に対応します。
図1-2に、次のデータベースのセキュリティ問題にOracle Database Vaultがどのように対応するかを示します。
-
管理権限のあるアカウントからのアプリケーション・データへのアクセス: この場合、Oracle Database Vaultが許可しないため、データベース管理者はFinanceレルムにより保護されているスキーマにアクセスできません。データベース管理者は最も権限が多く信頼されているユーザーですが、データベースに存在するアプリケーション・データへのアクセス権を付与する必要はありません。
-
アプリケーション・データへのアクセスに関する職務の分離: この場合、
HR
レルムの所有者には、HR
レルム・スキーマへのアクセス権がありますが、Procurement
やFinance
へのアクセス権はありません。
データベースを統合すると、複数の強力なユーザー・アカウントが1つのデータベース内に存在することになります。つまり、データベース全体の管理者だけでなく、個々のアプリケーション・スキーマの所有者も強力な権限を持つ可能性があるということです。権限の取消しは、既存のアプリケーションに悪影響を及ぼす可能性があります。Oracle Database Vaultレルムを使用すると、信頼できるアプリケーション・パスを介したアプリケーションへのアクセスを強制し、アプリケーション・スキーマのユーザー名とパスワードがアプリケーション自体以外のユーザーによって使用されるのを防止できます。たとえば、SELECT ANY TABLE
システム権限を持つデータベース管理者が、その権限を利用して同じデータベースに存在する他のアプリケーション・データを表示することを制限できます。
親トピック: Oracle Database Vaultの概要
1.8 マルチテナント環境におけるOracle Database Vaultの動作について
統合のセキュリティをさらに強化するために、Oracle Database VaultをOracle Multitenantとともに使用できます。
Oracle Database Vaultでは、プラガブル・データベース(PDB)内や、PDBとコンテナ・データベースでの共通特権ユーザーとの間での、特権ユーザー・アクセスを禁止できます。各PDBには、レルム、ルール・セット、コマンド・ルール、デフォルト・ポリシー(デフォルト・レルムなど)など独自のDatabase Vaultメタデータがあります。また、任意の子のPDBでDVSYS
スキーマやDVF
スキーマ内のオブジェクトを自動的に利用できます。どちらのスキーマも共通のユーザー・スキーマです。
共通レルムはアプリケーション・ルートのみで構成できますが、共通ルール・セットおよびコマンド・ルールは、アプリケーション・ルートまたはCDBルートのどちらでも作成できます。アプリケーション・ルート内の共通コマンド・ルールは、その関連付けられたPDBに適用され、CDBルート内の共通コマンド・ルールは、CDB環境内のすべてのPDBに適用されます。共通レルムおよびコマンド・ルールを作成できることにより、CDB環境全体で共有の一連のレルム、ルール・セットまたはコマンド・ルールを使用するポリシーを作成できます。マルチテナント環境ですべてのPDBに対してこれらの同じコンポーネントを作成する必要はありません。
PDBごとに個別のローカル・ポリシーを作成できます。Database Vaultを使用してオブジェクトを保護する場合、Database Vaultは、共通のオブジェクトの共通の権限を、ローカル・システム権限と同じ強制ルール下に置きます。
Database Vaultを有効にしたPDBを構成すると、DVSYS
スキーマが共通ユーザー・スキーマとなり、ルートに格納されます。つまり、DVSYS
スキーマ内のすべてのオブジェクト(表、データ・ディクショナリ・ビュー、ユーザー・アカウント、PL/SQLパッケージ、デフォルト・ポリシーなど)が、このスキーマに利用可能な共通の権限の影響下にあるということになります。すなわち、レルム、ファクタなどをルートに作成してルートのスキーマを保護できます。Database Vaultは、関連付けられたPDBで構成する前に、まずルートで構成するようにしてください。
CDBルートでOracle Database Vaultを有効にするときは、通常モードまたは厳密モードのどちらかを選択できます。設定は、選択した設定に基づいてCDB全体に伝播されます。たとえば、CDBに、Database Vaultが有効になっているPDBとDatabase Vaultが有効になっていないPDBが含まれているとします。通常モードを使用してDatabase Vaultを有効にした場合は、両方のタイプのPDBが通常どおり機能し続けます。厳密モードを使用してDatabase Vaultを有効にした場合、Database Vaultが無効になっているPDBは、制限されたモードで動作します。
図1-3では、Database Vaultが有効になっているかどうかによって、標準モードのデータベースで共通およびローカル・データベース管理者に可能になるアクセスがどのように異なるかを示します。このシナリオでは、共通ユーザーおよびローカル・ユーザーのいずれも、PDB1とPDB2のレルムにアクセスできません。共通ユーザーとPDB3のローカル・ユーザーはどちらも、Database Vaultが有効化されていないPDB3内のCustom Appアプリケーションにアクセスできます。