プライマリ・コンテンツに移動
Oracle® Database Vault管理者ガイド
12cリリース1 (12.1)
B71286-08
目次へ移動
目次
索引へ移動
索引

前
次

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のレルムにアプリケーション・スキーマ、機密性の高い表、およびストアド・プロシージャを入れておくと、特権アカウントを悪用した侵入者や内部犯行者による機密アプリケーション・データへのアクセスを阻止するための統制を実施できるようになります。

図1-1 DBAによるデータへのアクセスのOracle Database Vaultレルムによるブロッキング

図1-1の説明が続きます
「図1-1 DBAによるデータへのアクセスのOracle Database Vaultレルムによるブロッキング」の説明

データベース構成に対する統制

監査で明らかになる事項として最も多いのが、無認可でデータベース権限が変更されていることと、DBAロールを付与されているユーザーが多すぎることです。

本番環境に対する無認可での変更を阻止することが重要であるのは、セキュリティのためだけではなく、コンプライアンスのためでもあります。そのような変更によってセキュリティが弱まるおそれがあり、侵入口を開くことになって、プライバシーおよびコンプライアンスの規制に対する違反となるからです。Oracle Database VaultのSQLコマンド・ルールを利用すると、データベース内部での操作(たとえば、CREATE TABLETRUNCATE TABLECREATE USERなどのコマンド)を統制できます。IPアドレス、認証方法、プログラム名などの多様なファクタがあらかじめ定義されているので、盗んだパスワードを悪用する攻撃を阻止するための信頼できるパスの認可の実装に役立ちます。このような統制は、意図しない構成変更を防ぐだけでなく、ハッカーや内部犯行者によるアプリケーションの改悪を阻止します。

Oracle Database Vaultの必須モードのレルムを利用すると、アプリケーション・オブジェクトへのアクセスを禁止でき、オブジェクト所有者など、オブジェクトに対する権限が直接付与されている場合もアクセスできなくなります。必須レルムでは、アクセスできるユーザーを分析する必要はありません。これは、認可ユーザーのリストからそれが明らかであるためです。必須レルムは実行時に有効化でき、サイバー脅威の発生時にこのレルムを使用すると、その脅威の分析が完了するまで一切のアクセスを禁止できます。

エンタープライズ・アプリケーションの保護ポリシー

アプリケーション固有の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が有効化されていなくてもかまいません。

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ユーザーのバックアップ・アカウントを作成する必要があります。ベスト・プラクティスとして、これらのバックアップ・アカウントを保持し続けることをお薦めします。

関連項目:

Oracle Database Vaultのコンポーネント

Oracle Database Vaultには、PL/SQLパッケージおよび他の特定のツールを含む一連のコンポーネントがあります。

内容は次のとおりです。

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で実行されるその他のアクティビティを確認するためのレポート実行方法の詳細が提供されます。

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のレポート作成について説明します。

Oracle Database Vault DVSYSおよびDVFスキーマ

Oracle Database Vaultのデータベース・オブジェクトおよびパブリック・ファンクションは、それぞれDVSYSDVFスキーマに格納されます。

Oracle Database Vaultには、OracleデータをOracle Database Vault用に処理する際に必要なデータベース・オブジェクトを保存するDVSYSスキーマが用意されています。このスキーマには、Oracle Database Vaultが使用するロール、ビュー、アカウント、ファンクションおよびその他のデータベース・オブジェクトが含まれます。DVFスキーマには、Oracle Database Vaultアクセス制御構成内に設定されたファクタ値を(実行時に)取得するパブリック・ファンクションが含まれます。

「Oracle Database Vaultのスキーマ、ロールおよびアカウント」では、これらのスキーマについて詳しく説明します。

Oracle Database Vault PL/SQLインタフェースおよびパッケージ

Oracle Database Vaultは、セキュリティ管理者やアプリケーション開発者がアクセス制御ポリシーを構成できるように、PL/SQLインタフェースとパッケージを備えています。

PL/SQLプロシージャおよびファンクションを使用すると、指定されたデータベース・セッションのコンテキスト内にあるアクセス制御ポリシーの範囲内において、通常のデータベース・アカウントでの操作が可能になります。

詳細は、「Oracle Database VaultレルムのAPI」から「Oracle Database Vault APIリファレンス」までを参照してください。

Oracle Database Vaultレポートおよびモニタリング・ツール

Oracle Database Vaultが監視する様々なアクティビティ上でレポートを生成できます。

また、ポリシー変更、セキュリティ違反未遂行為、およびデータベースの構成や構造の変更も監視できます。

生成可能なレポートの詳細は、「Oracle Database Vaultレポート」を参照してください。「Oracle Database Vaultの監視」では、Oracle Database Vaultの監視方法について説明しています。

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によるユーザー・アカウントの保護

多くのセキュリティ侵害は、外部的なものも内部的なものも、一定の権限を持つユーザーのデータベース・アカウントを標的にしてデータベースからデータを盗み出そうとします。

Oracle Database Vaultは、レルム、ファクタ、コマンド・ルールを使用して権限ユーザー・アカウントへの攻撃を防ぎます。さらに、これらのコンポーネントはデータベース、アプリケーションおよび機密情報への安全なアクセスを支援する強力なセキュリティ・ツールを提供します。ルールとファクタを結合して、データベースのコマンドの実行が可能な条件の制御や、レルムによって保護されているデータへのアクセスの制御ができます。たとえば、ルールとファクタを作成し、IPアドレス、日時および特定のプログラムに基づいてデータへのアクセスを制御できます。これにより、指定の条件を満たす接続のみにアクセスを制限できます。また、認可されていないアプリケーションによるデータベースへのアクセスとともに、アプリケーション・データへの不正なアクセスも防ぐことができます。

Oracle Database Vaultには、データベース、レルムによって保護されているアプリケーションおよびデータベース内のコマンドへのアクセスを制御するためにルールと組み合せて使用できる組込みのファクタが用意されています。

ルールおよびファクタをデータベース内の多数のSQL文に関連付けて、データベースの内部制御を強化できます。また、サイトの運用ポリシーに合せてカスタマイズできます。たとえば、ルールを定義してALTER SYSTEM文の実行を特定のIPアドレスやホスト名に制限することができます。

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のデータベース統合に関する問題への対応

統合とクラウド環境によってコストは削減されますが、機密アプリケーション・データが、本来アクセスする必要のない人にも公開されるおそれがあります。

ある国からのデータがまったく別の国でホスティングされることもありますが、そのデータへのアクセスはデータが属する国の規制に基づいて制限する必要があります。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-2 Oracle Database Vaultのセキュリティ

図1-2の説明が続きます。
「図1-2 Oracle Database Vaultのセキュリティ」の説明

データベースを統合すると、複数の強力なユーザー・アカウントが1つのデータベース内に存在することになります。つまり、データベース全体の管理者だけでなく、個々のアプリケーション・スキーマの所有者も強力な権限を持つ可能性があるということです。権限の取消しは、既存のアプリケーションに悪影響を及ぼす可能性があります。Oracle Database Vaultレルムを使用すると、アプリケーションへのアクセスを、信頼できるパスを介したものにすることができます。これにより、明確にアクセスを認可されていないデータベース・ユーザーが、強力な権限を使用して他のアプリケーション・データを参照するのを防ぐことができます。たとえば、SELECT ANY TABLEシステム権限を持つデータベース管理者が、その権限を利用して同じデータベースに存在する他のアプリケーション・データを表示することを制限できます。

マルチテナント環境におけるOracle Database Vaultの動作について

Oracle Database VaultをOracle Multitenantとともに使用すると、統合のセキュリティがさらに強化されます。

プラガブル・データベース(PDB)内やPDBとコンテナ・データベースでの共通特権ユーザーとの間での特権ユーザー・アクセスを禁止できます。各プラガブル・データベース(PDB)は、レルム、ルール・セット、コマンド・ルール、デフォルト・ポリシー(デフォルト・レルムなど)など独自のDatabase Vaultメタデータを持ちます。また、任意の子のPDBでDVSYSスキーマやDVFスキーマ内のオブジェクトを自動的に利用できます。これらのスキーマはどちらも共通のユーザー・スキーマです。

Oracle Database Vaultのポリシーは個々のPDBに格納されるので、PDBごとに個別のポリシーを作成できます。Database Vaultを使用してオブジェクトを保護する場合、Database Vaultは、共通のオブジェクトの共通の権限を、ローカル・システム権限と同じ強制ルール下に置きます。

Database Vaultを有効にしたPDBを構成すると、DVSYSスキーマが共通ユーザー・スキーマとなり、ルートに格納されます。つまり、DVSYSスキーマ内のすべてのオブジェクト(表、データ・ディクショナリ・ビュー、ユーザー・アカウント、PL/SQLパッケージ、デフォルト・ポリシーなど)が、このスキーマに利用可能な共通の権限の影響下にあるということになります。すなわち、レルム、ファクタなどをルートに作成してルートのスキーマを保護できます。Database Vaultは、関連付けられたPDBで構成する前に、まずルートで構成するようにしてください。

図1-3は、Database Vaultの保護が共通ユーザーおよびローカル・ユーザーにどのように適用されるかを示しています。このシナリオでは、共通ユーザーおよびローカル・ユーザーのいずれも、PDB1とPDB2のレルムにアクセスできません。共通ユーザーおよびPDB3のローカル・ユーザーのいずれも、Database Vaultが有効化されていないPDB3のCRMアプリケーションにはアクセスできます。

図1-3 マルチテナント環境におけるOracle Database Vault

図1-3の説明が続きます。
「図1-3 マルチテナント環境におけるOracle Database Vault」の説明

関連項目: