ヘッダーをスキップ
Oracle® Database Vault管理者ガイド
12cリリース1 (12.1)
B71286-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 Oracle Database Vaultの概要

この章の内容は次のとおりです。

Oracle Database Vaultの概要

この項の内容は次のとおりです。

Oracle Database Vaultについて

Oracle Database Vaultは、強力なセキュリティ統制のための機能であり、アプリケーション・データを不正アクセスから守るとともに、プライバシーおよび規制の要件を順守するのに役立ちます。統制によって特権アカウントによるアプリケーション・データへのアクセスをブロックすることや、データベース内での要注意操作を複数ファクタ認可を使用して統制することができます。権限およびロールの分析を通して、既存アプリケーションのセキュリティを強化できます。Oracle Database Vaultは、既存のデータベース環境のセキュリティを透過的に強化するので、コストと時間をかけてアプリケーションを変更する必要はありません。

特権アカウントに対する統制

特権データベース・アカウントは、データベース内の機密性の高いアプリケーション・データへのアクセスを獲得する手段として最もよく使われています。広範囲にわたる無制限のアクセス権が付与されているので、データベースの保守がしやすくなりますが、同じアクセス権が攻撃ポイントとなって大量のデータへのアクセスを許してしまうおそれがあります。Oracle Database Vaultのレルムにアプリケーション・スキーマ、機密性の高い表、およびストアド・プロシージャを入れておくと、特権アカウントを悪用した侵入者や内部犯行者による機密アプリケーション・データへのアクセスを阻止するための統制を実施できるようになります。

図1-1は、Oracle Database Vaultレルムによって、たとえSELECT ANY TABLEシステム権限を持つデータベース管理者からのアクセスに対してであっても、finance.vendors表が保護される様子を示しています。

図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ロールが付与され、2番目のオプション・ユーザーにDV_ACCTMGRロールが付与されます。Database Vaultロールは他のユーザーに付与できますが、それらのユーザーが信頼できることを確認してください。


関連項目:

Oracle Database Vaultロールの完全なリストについては、「Oracle Database Vaultロール」を参照してください。

Oracle Database Vaultのコンポーネント

Oracle Database Vaultには次のコンポーネントが含まれます。

Oracle Database Vaultアクセス制御コンポーネント

Oracle Database Vaultを使用して次のコンポーネントを作成し、データベース・インスタンスのセキュリティを管理できます。

  • レルム。レルムとは、データベース内で、スキーマ、オブジェクトおよびロールを保護できる保護ゾーンです。たとえば、会計、販売、人事に関する一連のスキーマ、オブジェクトおよびロールを保護できます。これらをレルムに保護すると、レルムを使用してシステム権限とオブジェクト権限の利用を特定のアカウントまたはロールに限定することができます。そのため、これらのスキーマ、オブジェクトおよびロールを使用する任意のユーザーで詳細なアクセス制御が可能になります。レルムの詳細は、第5章「レルムの構成」で説明しています。第13章「Oracle Database VaultレルムのAPI」も参照してください。

  • コマンド・ルール。コマンド・ルールとは、ユーザーによるSELECT文、ALTER SYSTEM文、データベース定義言語(DDL)文およびデータ操作言語(DML)文などのほぼすべてのSQL文の実行方法を制御するために作成する特別なセキュリティ・ポリシーです。文が許可されるかどうかを判断するには、コマンド・ルールをルール・セットとともに使用する必要があります。コマンド・ルールの詳細は、第7章「コマンド・ルールの構成」で説明しています。第15章「Oracle Database Vaultコマンド・ルールのAPI」も参照してください。

  • ファクタ。ファクタとは、ユーザー・ロケーション、データベースIPアドレス、セッション・ユーザーなどOracle Database Vaultで認識および使用できる名前付きの変数または属性です。ルールでファクタを使用すると、データベースに接続するデータベース・アカウントを認可したり、データの可視性および管理性を制限する特定のデータベース・コマンドを実行したりするアクティビティを制御できます。各ファクタは1つ以上のアイデンティティを持ちます。アイデンティティは、ファクタの実際の値です。ファクタの取得メソッド、またはそのアイデンティティ・マッピング・ロジックによって、ファクタは複数のアイデンティティを持つ場合があります。ファクタの詳細は、第8章「ファクタの構成」で説明しています。第16章「Oracle Database VaultファクタのAPI」も参照してください。

  • ルール・セット。ルール・セットとは、レルム認可、コマンド・ルール、ファクタ割当て、保護アプリケーション・ロールに関連付けることのできる1つ以上のルールの集まりです。ルール・セットは、それに含まれる各ルールと評価タイプ(「すべてのTrue」または「いずれかTrue」)に基づいて、trueまたはfalseに評価されます。ルール・セット内のルールは、trueまたはfalseに評価されるPL/SQL式です。複数のルール・セットに同じルールを作成できます。ルール・セットの詳細は、第6章「ルール・セットの構成」で説明しています。第14章「Oracle Database Vaultルール・セットのAPI」も参照してください。

  • セキュア・アプリケーション・ロール。セキュア・アプリケーション・ロールは、Oracle Database Vaultルール・セットの評価に基づいて有効化できる特別なOracle Databaseロールです。セキュア・アプリケーション・ロールの詳細は、第9章「Oracle Database Vaultのセキュア・アプリケーション・ロールの構成」で説明しています。第17章「Oracle Database Vaultセキュア・アプリケーション・ロールのAPI」も参照してください。

これらのコンポーネントを補強するため、Oracle Database Vaultには一連のPL/SQLインタフェースおよびパッケージが用意されています。「Oracle Database Vault PL/SQLインタフェースおよびパッケージ」で概要を説明しています。

これらのコンポーネントに加えて、DBMS_PRIVILEGE_CAPTURE PL/SQLパッケージおよび関連するデータ・ディクショナリ・ビューを使用して、御社のユーザーの権限使用を分析できます。この情報に基づき、Oracle Database Vaultポリシーを作成して権限使用を監視できます。第4章「権限分析を実行した権限の使用の確認」では、権限分析の使用方法を説明しています。

一般的に、最初の手順は、保護するデータベース・スキーマまたはデータベース・オブジェクトを含むレルムを作成することです。ルール、コマンド・ルール、ファクタ、アイデンティティ、ルール・セットおよびセキュア・アプリケーション・ロールを作成すると、さらに強固にレルムを保護できます。また、これらのコンポーネントが監視および保護するアクティビティでレポートを実行できます。第3章「Oracle Database Vaultの開始」には、Oracle Database Vaultの基本的な機能を紹介する簡単なチュートリアルが用意されています。以降の章では、さらに高度なチュートリアルを扱います。第24章「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には、ベースライン・セキュリティ構成の理解をサポートするセキュリティ関連のレポートが多数用意されています。これらのレポートは、このベースラインからの偏差の特定にも役立ちます。

第3章から第11章では、レルム、コマンド・ルール、ファクタ、ルール・セット、セキュア・アプリケーション・ロールで定義されるアクセス制御ポリシーを構成するためのOracle Database Vault Administratorページの使用方法と、他のOracle製品へのOracle Database Vaultの統合方法について説明します。第23章では、これらのページを使用してDatabase Vaultアクティビティを監視する方法について、第24章「Oracle Database Vaultレポート」では、Oracle Database Vaultのレポート作成について説明します。

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

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

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

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

Oracle Database Vaultには、セキュリティ管理者またはアプリケーション開発者が必要に応じてアクセス制御ポリシーを構成できるよう、PL/SQLインタフェースおよびパッケージが多数用意されています。PL/SQLプロシージャおよびファンクションを使用すると、指定されたデータベース・セッションのコンテキスト内にあるアクセス制御ポリシーの範囲内において、通常のデータベース・アカウントでの操作が可能になります。

詳細は、第13章から第21章を参照してください。

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

Oracle Database Vaultが監視する様々なアクティビティ上でレポートを生成できます。また、ポリシー変更、セキュリティ違反未遂行為、およびデータベースの構成や構造の変更も監視できます。

生成可能なレポートの詳細は、第24章「Oracle Database Vaultレポート」を参照してください。第23章「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ロールを持つSYSTEMなどの任意のデータベース・ユーザーによる、データベースの基本的なパラメータの変更を可能にできます。システム権限を持つ経験の浅い管理者が、特定の時間に新規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は、セキュリティ管理、アカウント管理および日常的データベース管理の3つの職務を明確に分離するための統制機能を標準で備えています。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」の説明