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では、実行時に使用される、実際の権限およびロールを識別できます。
親トピック: Oracle Database Vaultの概要
1.1.1 Oracle Database Vaultについて
Oracle Database Vaultのセキュリティ統制は、アプリケーション・データを不正アクセスから守るとともに、プライバシおよび規制の要件の順守に役立ちます。
Oracle Database Vaultは、Oracle Database Enterprise Editionのライセンス可能なオプションです。その目的は、特権アカウントの不正使用、誤用、内部および外部の脅威、および機密データに対するヒューマン・エラーによる潜在的な影響を軽減することです。
特権アカウントとは、データベース管理者やアプリケーション管理者、アプリケーション所有者、データ・アナリストなどの管理者アカウントです。これらのタイプのアカウントを持つほとんどのユーザーには、日常的に必要な権限よりはるかに強力な権限およびアクセス権があります。
Oracle Database Vaultは、Oracleデータベースのカーネルに組み込まれており、システム権限またはオブジェクト権限の検証後に意思決定がなされます。コマンドがシステム権限またはオブジェクト権限によって認可されている場合、Oracle Database Vaultは、コマンドがOracle Database Vaultのレルムまたはコマンド・ルールのどちらによって制御されるかを決定します。レルムまたはコマンド・ルールの制御は、あなたが決定します。Oracle Database Vaultは、既存の権限付与やロールを置き換えるのではなく、権限受領者がオブジェクト権限やシステム権限またはロールをいつ、どこで、なぜ、どのように使用するかをあなたが決定できるようにすることで、既存の権限付与やロールを強化します。
たとえば、SELECT ANY TABLE
システム権限を付与されているユーザーは、その権限を使用して、機密または重要とみなされる表を含め、データベース内のほぼすべての表を問い合せることができます。Oracle Database Vaultでは、機密性の高い表または他のデータベース・オブジェクトに対するSELECT ANY TABLE
システム権限の使用を制限できます。
Oracle Database Vaultは、要件に従って決定される透過的な制御によって、既存のアプリケーションのセキュリティを強化するのに役立ちます。
親トピック: Oracle Database Vaultの概要
1.1.2 特権アカウントに対する統制
特権データベース・アカウントは、データベース内の機密性の高いアプリケーション・データへのアクセスを獲得する手段として最もよく使われています。
広範囲にわたる無制限のアクセス権が付与されているので、データベースの保守がしやすくなりますが、同じアクセス権が攻撃ポイントとなって大量のデータへのアクセスを許してしまうおそれがあります。Oracle Database Vaultのレルムにアプリケーション・スキーマ、機密性の高い表、およびストアド・プロシージャを入れておくと、特権アカウントを悪用した侵入者や内部犯行者による機密アプリケーション・データへのアクセスを阻止するための統制を実施できるようになります。
図1-1 DBAによるデータへのアクセスのOracle Database Vaultレルムによるブロッキング
「図1-1 DBAによるデータへのアクセスのOracle Database Vaultレルムによるブロッキング」の説明
親トピック: Oracle Database Vaultの概要
1.1.3 データベース構成に対する統制
監査で明らかになる事項として最も多いのが、データベース権限の無認可での変更およびDBA
ロールのユーザーへの付与が多すぎることです。
本番環境に対する無認可での変更を阻止することが重要であるのは、セキュリティのためだけではなく、コンプライアンスのためでもあります。そのような変更によってセキュリティが弱まるおそれがあり、侵入口を開くことになって、プライバシーおよびコンプライアンスの規制に対する違反となるからです。Oracle Database VaultのSQLコマンド・ルールを利用すると、データベース内部での操作(たとえば、CREATE TABLE
、TRUNCATE TABLE
、CREATE USER
などのコマンド)を統制できます。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の概要
1.1.5 ユーザーおよびアプリケーションの実行時権限分析
Oracle Database Vaultでは、実行時に使用される、実際の権限およびロールを識別できます。
その後で、余分な未使用のロールや権限の監査または取消しをセキュリティ管理者が行うことによって、攻撃対象領域を縮小するとともに、最低限の権限のモデルを実施できます。権限分析は管理者に対して使用することもでき、管理者としての職務を果たすために付与されるロールおよび権限を制限するのに役立ちます。権限分析を実行するときは、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 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」も参照してください。 -
ファクタ。ファクタとは、ユーザー・ロケーション、データベースIPアドレス、セッション・ユーザーなどOracle Database Vaultで信頼できるパスとして認識および使用できる名前付きの変数または属性です。ルールでファクタを使用すると、データベースに接続するデータベース・アカウントを認可したり、データの可視性および管理性を制限する特定のデータベース・コマンドを実行したりするアクティビティを制御できます。各ファクタは1つ以上のアイデンティティを持ちます。アイデンティティは、ファクタの実際の値です。ファクタの取得メソッド、またはそのアイデンティティ・マッピング・ロジックによって、ファクタは複数のアイデンティティを持つ場合があります。ファクタの詳細は、「ファクタの構成」で説明しています。「Oracle Database VaultファクタのAPI」も参照してください。
-
ルール・セット。ルール・セットとは、レルム認可、コマンド・ルール、ファクタ割当て、保護アプリケーション・ロールに関連付けることのできる1つ以上のルールの集まりです。ルール・セットは、それに含まれる各ルールと評価タイプ(「すべてのTrue」または「いずれかTrue」)に基づいて、trueまたはfalseに評価されます。ルール・セット内のルールは、trueまたはfalseに評価されるPL/SQL式です。複数のルール・セットに同じルールを作成できます。ルール・セットの詳細は、「ルール・セットの構成」で説明しています。「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では、Database Vaultのポリシーの構成とDatabase Vaultのアラートおよびレポートの表示にグラフィカル・ユーザー・インタフェースを使用する場合、「Oracle Database Vault Administrator」ページにアクセスできます。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.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アドレス、日時および特定のプログラムに基づいてデータへのアクセスを制御できます。これにより、指定の条件を満たす接続のみにアクセスを制限できます。また、認可されていないアプリケーションによるデータベースへのアクセスとともに、アプリケーション・データへの不正なアクセスも防ぐことができます。
Oracle Database Vaultには、データベース、レルムによって保護されているアプリケーションおよびデータベース内のコマンドへのアクセスを制御するためにルールと組み合せて使用できる組込みのファクタが用意されています。
ルールおよびファクタをデータベース内の多数のSQL文に関連付けて、データベースの内部制御を強化できます。また、サイトの運用ポリシーに合せてカスタマイズできます。たとえば、ルールを定義してALTER SYSTEM
文の実行を特定のIPアドレスやホスト名に制限することができます。
親トピック: Oracle Database Vaultの概要
1.6 Oracle Database Vaultによる柔軟なセキュリティ・ポリシーの実現
Oracle Database Vaultは、データベースの柔軟なセキュリティ・ポリシーの設計を支援します。
たとえば、DBA
ロールがあるデータベース・ユーザーは、データベースで基本的なパラメータを変更できます。システム権限を持つ経験の浅い管理者が、特定の時間に新規REDOログ・ファイルを開始するとデータベースに問題が発生することに気付かずに、その実行を決定したとします。Oracle Database Vaultを使用すると、このユーザーのALTER SYSTEM SWITCH LOGFILE
文の使用を制限することで、そのような変更が行われるのを防ぐコマンド・ルールを作成できます。また、文の実行を次のようにして制限するなど、アクティビティをさらに制限するルール・セットをコマンド・ルールに追加できます。
-
時間で制限(金曜日の午後4時から5時の間のみなど)
-
リモートではなく、ローカル・アクセスのみに制限
-
IPアドレスで制限(指定した範囲の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レルムにより保護されているスキーマにアクセスできません。データベース管理者は最も権限が多く信頼されているユーザーですが、データベースに存在するアプリケーション・データへのアクセス権を付与する必要はありません。
-
アプリケーション・データへのアクセスに関する職務の分離: この場合、Oracle Database Vault内に作成されたHRレルムの所有者には、HRレルムのスキーマへのアクセス権があります。
データベースを統合すると、複数の強力なユーザー・アカウントが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は、制限されたモードで動作します。アプリケーション・コンテナでDBMS_MACADM.ENABLE_DV
を実行する場合は、アプリケーション・アクションの外部のアプリケーション・コンテナで実行する必要があります。
図1-3では、Database Vaultが有効になっているかどうかによって、標準モードのデータベースで共通およびローカル・データベース管理者に可能になるアクセスがどのように異なるかを示します。このシナリオでは、共通ユーザーおよびローカル・ユーザーのいずれも、PDB1とPDB2のレルムにアクセスできません。共通ユーザーとPDB3のローカル・ユーザーはどちらも、Database Vaultが有効化されていないPDB3内のCustom Appアプリケーションにアクセスできます。