Oracle Fusion Middleware 11g リリース1(11.1.1)において、監査はアカウンタビリティを実現する手段であり、また、誰が、いつ、何を行ったかというタイプの質問への回答を提供します。この章では、Oracle Fusion Middlewareにおける監査の概要を説明します。内容は次のとおりです。
この項の内容は次のとおりです。
コンプライアンスがビジネス要件の不可欠な要素になりつつある現在、監査のサポートもエンタープライズ・デプロイメントにおける注目の的になりつつあります。顧客は、追加設定なしですぐに使用できる監査サポートを提供するアプリケーション・ベンダーを探しています。また、カスタム・アプリケーションをデプロイするミドルウェアの顧客は、デプロイされる監査が必要な全アプリケーションの監査を集中管理したいと考えています。
IT 組織では、コンプライアンス、監視および分析という要件の観点から、主要な監査機能を探しています。
コンプライアンスがエンタープライズにおける主要な要件であることは、明白です。SOX法(財務)やHealth Insurance Portability and Accountability Act (HIPAA: 医療保険)のような規制により、多くの顧客は現在、アプリケーションやデバイスで、アイデンティティ情報およびユーザー・アクセスの監査を実行できる必要があります。これらには、次のようなイベントが含まれます。
ユーザー・プロファイルの変更
アクセス権の変更
ユーザー・アクセス・アクティビティ
操作アクティビティ(アプリケーションの起動と停止、アップグレード、バックアップなど)
これにより、コンプライアンス担当者は、コンプライアンス・ポリシーを定期的に見直すことができます。
監査データからは通常、監視目的のために、豊富なデータ・セットが得られます。公開されるログ・データおよびコンポーネント・メトリックだけでなく、監査データを使用してダッシュボードを作成したり、アラート用のキー・パフォーマンス・インディケータ(KPI)を設定したりして、様々なシステムの状態を継続的に監視することもできます。
分析
また、監査データを分析し、管理効果を評価することもできます。監査データは、リスク分析にも使用できます。履歴データに基づいてリスク・スコアを計算し、任意のユーザーに割り当てることもできます。ユーザー・アクセスのどのような実行時評価にも、システムに対するアクセスを保護するための追加の基準として様々なリスク・スコアを含めることができます。
監査要件を満たすため、IT組織ではしばしばデプロイされるアプリケーションに対する監査サポートの欠如と闘っています。それは、次の点に対して信頼できる標準が存在していないからです。
監査レコードの生成
監査レコードのフォーマットと格納
監査ポリシーの定義
その結果、現在の監査ソリューションには、次のような多くの大きな問題点があります。
集中管理される監査フレームワークがありません。
監査サポートの品質がアプリケーションごとにまちまちです。
監査データがエンタープライズ全体に散乱しています。
コンポーネント間の意味のある分析を実行するには、その前に複雑なデータの関係付けが必要となります。
監査ポリシーとその構成も散乱しています。
これらの要因により、IT組織は適切な監査ソリューションの構築および維持にかなりの時間とリソースを割いています。データが個々のサイロに散乱していて、一貫性も集中管理もない状態では、様々なベンダーが現時点における独自の監査機能を使用して実現しているアプリケーション間に統一性がなく、監査ソリューションも脆弱になりがちです。
Oracle Fusion Middleware監査フレームワークは、11g リリース1(11.1.1)の新サービスであり、集中管理された監査フレームワークをミドルウェアの製品ファミリに提供するよう設計されています。このフレームワークは、次のものに対して監査サービスを提供します。
ミドルウェア・プラットフォーム: これには、Oracle Platform Security Services (OPSS)やOracle Web ServicesなどのJavaコンポーネントが含まれます。これらは、ミドルウェアでデプロイされるアプリケーションによって使用されるコンポーネントです。これらのJavaコンポーネントを使用するデプロイされたアプリケーションはすべて間接的に、プラットフォーム・レベルで発生するイベントを監視する際、監査フレームワークから恩恵を受けることになります。
JavaEEアプリケーション: 目的は、Oracle独自のコンポーネントから始めて、JavaEEアプリケーションにフレームワークを提供することです。JavaEEアプリケーションは、アプリケーションに固有な監査イベントを作成できます。
11g リリース1(11.1.1)の場合、監査フレームワークはOracle独自のアプリケーションでのみ使用できます。
システム・コンポーネント: Oracle Process Manager and Notification Serverによって管理されるミドルウェア内のシステム・コンポーネントの場合、監査フレームワークはJavaコンポーネントのエンドツーエンド構造に類似したエンドツーエンド構造も提供します。
関連項目: 『Oracle Fusion Middleware 管理者ガイド』のOracle Fusion Middleware主要概念に関する項 |
Oracle Fusion Middleware監査フレームワークの主要な機能には、次のものがあります。
一連のJavaコンポーネント、システム・コンポーネントおよびアプリケーション全体にわたって監査を管理するための統一的なシステム
Oracle Platform Security Servicesによる非監査対応アプリケーションの監査のサポート
任意のアプリケーション・レベルでの監査データ検索機能
認証履歴および認証失敗、認可履歴、ユーザー管理およびその他の共通トランザクション・データの取得
柔軟な監査ポリシー
事前生成済の監査ポリシーや顧客でよく使用される監査イベントの取得機能などを利用した、容易なポリシー構成
ツリー状のポリシー構造による簡便なポリシー設定
ビルトインのコンプライアンス・レポート作成機能
Oracle Fusion Middleware監査フレームワークは、Oracle BI Publisherのすぐに使用可能な分析レポート作成機能を提供します。複数のコンポーネントにわたって複数の次元(実行コンテキストID (ECID)やユーザーIDなど)でデータを分析できます。また、これらのレポートをプリファレンスに従ってカスタマイズすることもできます。
集中管理された監査データに基づいてレポートを作成します。
顧客は、レポートをカスタマイズしたり、公開された監査スキーマに基づいて独自のレポートを作成することができます。
詳細は、第13章「監査分析と監査レポートの使用」を参照してください。
監査レコードの格納
データ・ストア(データベース)とファイル(バスストップ)を使用できます。すべての監査レコードに共通の場所を維持することにより、管理が容易になります。
データ・ストアを使用することにより、Oracle Business Intelligence Publisherを使用したレポートの生成が可能になります。
共通の監査レコード・フォーマット
監査証跡は次の特徴を持ちます。
結果(ステータス)、イベントの日時、ユーザーなどのベースライン属性
認証方式、ソースIPアドレス、ターゲット・ユーザー、リソースなどのイベント固有の属性
実行コンテキストID (ECID)やセッションIDなどのコンテキスト属性
監査ポリシー構成用の共通のメカニズム
Oracle Fusion Middleware監査フレームワークは、ドメイン内で監査ポリシーを構成するための統一的な手段を提供します。
Oracle Fusion Middleware 11gのインフラストラクチャの活用
Oracle Web Services Manager、Oracle Internet Directory、Oracle Virtual Directory、Oracle Directory Integration and Provisioningなど、複数のOracle Fusion Middleware 11gコンポーネントおよびサービス間で使用可能
Oracle Enterprise Manager Fusion Middleware Controlとの統合により、UIベースの構成と管理が可能
wlst
との統合により、コマンドラインでのスクリプトベースの構成が可能
Oracle Platform Security Servicesとの統合により、複数の利点を提供
この項では、Oracle Fusion Middleware監査フレームワークの次の基本概念を説明します。
Oracle Fusion Middleware監査フレームワークは、次の主要なコンポーネントから構成されています。
監査API
このAPIは、Oracle Fusion Middleware監査フレームワークと統合される監査対応の任意のコンポーネントのために、監査フレームワークによって提供されます。アプリケーションは実行時、これらのAPIを適宜コールして、アプリケーション・コード内で発生する特定のイベントに関して必要な情報を監査する場合もあります。アプリケーションはこのインタフェースにより、監視対象イベントのコンテキストの提供に必要な、ユーザー名やその他属性などのイベント詳細を指定できます。
監査イベントと構成
Oracle Fusion Middleware監査フレームワークでは、アプリケーションの監査イベントに簡単にマッピングできる一連の汎用イベントが提供されます。それらの汎用イベントには、認証などの共通のイベントも含まれています。また、アプリケーションはこのフレームワークにより、アプリケーションに固有なイベントを定義することもできます。
これらのイベントの定義と構成は、Oracle Platform Security Servicesの監査サービスの一部として実装されます。構成は、Enterprise Manager (UI)およびWLST(コマンドライン・ツール)により更新できます。
監査バスストップ
バスストップは、監査データ・レコードが監査ストアにプッシュされる前に格納されるローカル・ファイルです。監査ストアが構成されていないイベントの場合、監査データはこれらのバスストップ・ファイルに残ります。バスストップ・ファイルは、問い合せて特定の監査イベントを簡単に見つけることができるシンプルなテキスト・ファイルです。監査ストアが配備されている場合、バスストップはコンポーネントと監査ストア間の中間的な場所として機能します。これらのローカル・ファイルは、構成可能な時間間隔に基づいて、データ・ストアに定期的にアップロードされます。
監査ストアの主な利点は、複数のコンポーネントの監査データ(すべてのミドルウェア・コンポーネントやインスタンスにおける認証失敗など)をレポート内で関係付けて結合できる点です。
監査ローダー
名前からわかるように、監査ローダーが構成されている場合は監査バスストップの監査データを監査ストアにロードします。Javaコンポーネントの監査の場合、監査ローダーはコンテナ起動の一部として起動される起動クラスです。システム・コンポーネントの場合、監査ローダーはOPMNによって起動される、定期的に作成されるプロセスです。
監査ストア
監査ストアは、リポジトリ作成ユーティリティ(RCU)によって作成される、事前定義済のOracle Fusion Middleware監査フレームワーク・スキーマが含まれるデータベースです。構成が完了すると、すべての監査ローダーがデータ・ストアを認識し、データをデータ・ストアに定期的にアップロードします。監査ストア内の監査データは累積されることが想定され、時間の経過に伴って増加します。監査ストアは、他のアプリケーションによって使用される運用データベースではなく、監査専用のスタンドアロン型RDBMSであるのが理想的です。
監査構成用Mbeans
監査構成はすべて、監査構成用Mbeansによって管理されます。Javaコンポーネントおよびアプリケーションの場合、これらのMbeansはドメイン管理サーバー内に存在し、監査構成は集中管理されます。システム・コンポーネントの場合は、コンポーネント・インスタンスごとに別々のMbeansインスタンスが存在します。Enterprise ManagerのUIおよびコマンドライン・ツールでは、これらのMbeansを使用して、監査構成を管理します。
Oracle Business Intelligence Publisher
監査ストア内のデータは、Oracle Business Intelligence Publisher内の事前定義済のレポートにより公開されます。ユーザーは、これらのレポートにより、様々な基準に基づいて監査データをドリルダウンすることができます。例:
ユーザー名
時間範囲
アプリケーション・タイプ
実行コンテキストID (ECID)
Oracle Business Intelligence Publisherを使用して、独自の監査レポートを作成することもできます。
このプロセスは、アプリケーション・サーバー・インスタンス内のOracle HTTP ServerやOracle Virtual Directoryなどのコンポーネントで特定のイベント(ログインなど)が発生したときに、フレームワークで実行されるアクションを例とすると、次のように説明できます。
Oracle Fusion Middleware監査フレームワークは、コンポーネントが起動すると、そのコンポーネントに対してアクティブになります。
コンポーネントは、イベントを監査するための監査関数をコールします。
フレームワークは、このタイプのイベント、ステータス、および特定の属性を監査する必要があるかどうかを確認します。
監査が必要な場合は監査関数が起動され、監査イベント構造体が作成されて、ステータス、イニシエータ、リソース、ECIDなどのイベント情報が収集されます。
イベントは、バスストップとして知られる中間的な場所にあるローカル・ファイルに格納されます。各コンポーネントは個別のバスストップを持ちます。
フローの次のコンポーネントは監査ローダーです。監査ローダーはOracle WebLogic Serverインスタンスのモジュールで、そのインスタンスのプロセス制御を可能にします。監査ローダーは、そのインスタンス内で実行されているすべてのコンポーネントの監査レコードの収集を担当します。
監査ストアとしてデータベースが構成されている場合、監査ローダーはバスストップからイベントをプルしてデータを監査ストアに移動します。
Oracle BI Publisherを使用して、監査データからレポートを生成することもできます。事前定義済のレポート・セットも用意されています(第13章「監査分析と監査レポートの使用」を参照してください)。
監査が失敗した場合のアプリケーションの動作
アプリケーションは、どのような理由で監査イベントを記録できない場合であっても、実行を中止することはありません。
この項では、Oracle Fusion Middleware監査フレームワークの重要な概念を説明します。
監査対応コンポーネント
監査対応とは、Oracle Fusion Middleware監査フレームワークに統合され、監査ポリシーの構成とイベントの監査が可能なコンポーネントを指します。Oracle Internet Directoryは監査対応コンポーネントの一例です。
スタンドアロン・アプリケーションは、jps-config.xml
ファイルを使用して構成を行うことで、Oracle Fusion Middleware監査フレームワークとの統合が可能です。
監査ポリシー
監査ポリシーとは、特定のコンポーネントの監査フレームワークによって取得されるイベントのタイプの宣言です。Javaコンポーネントの場合、監査ポリシーはドメイン・レベルで定義されます。システム・コンポーネントの場合、監査ポリシーはコンポーネント・インスタンス・レベルで管理されます。
Oracle Fusion Middleware監査フレームワークには、次のようないくつかの事前定義済のポリシー・タイプが用意されています。
なし
低(少数のイベントを監査し、定義はコンポーネントによって異なります)
中(多数のイベントを監査し、定義はコンポーネントによって異なります)
カスタム(監査イベントの範囲を絞るためにフィルタを実装します)
監査するコンポーネントのタイプを指します。たとえば、Oracle Internet Directoryは認証時の監査可能イベントのソースになります。
コンポーネントごとに監査可能なイベントのリストは、第C.1項「監査イベント」を参照してください。
一部の監査イベントには、イベントをログに記録する時点を制御するフィルタが実装されています。たとえば、特定のユーザーのOracle Internet Directoryコンポーネントへの正常なログインのイベントにフィルタを適用できます。
詳細は、第12.3項「監査ポリシーの管理」を参照してください。
Oracle Platform Security Services
Oracle Fusion Middleware 11gの主要コンポーネントであるOracle Platform Security Servicesは、Java Authentication and Authorization Service (JAAS)やJavaEEセキュリティなどのJava機能に対応するOracle Fusion Middlewareのセキュリティの実装です。
OPSSの詳細は、第1.1項「Oracle Platform Security Servicesとは」を参照してください。
図11-1に示すように、監査データは2つのタイプの記憶域に配置できます。
監査データの中間的な記憶域となるバスストップ・ファイル。各コンポーネント・インスタンスは個別のバスストップにデータを書き込みます。
バスストップ・ファイルは、監査レコード用にすぐに使用できるデフォルトの記憶域メカニズムです。
Javaコンポーネントの場合は、Oracle WebLogic Serverインスタンスごとに1つのバスストップが存在します。特定のOracle WebLogic Serverインスタンスで実行されるすべてのJavaEEコンポーネントに対して生成された監査レコードが、同じバスストップに格納されます。
システム・コンポーネントの場合は、コンポーネントごとに独立したバスストップが存在します。たとえば、Oracle Internet Directoryの各インスタンスは、個別にバスストップを持ちます。
バスストップ・ファイルはテキストベースで問合せが容易です。詳細は、第11.3.1項「監査アーキテクチャ」を参照してください。
データベース内の永続的記憶域(監査ストアとも呼ばれます)。
データベースを使用する場合は、ドメイン内のすべてのOracle Fusion Middleware 11gインスタンスのすべてのコンポーネントによって生成された監査レコードが、同じストアに格納されます。監査ストアを使用して、Oracle Business Intelligence Publisherレポートを利用する必要があります。
ファイルベースの記憶域から監査ストアへの移行ができます。これには固有の構成手順を実行する必要があります。詳細は、第12.2.3項「Javaコンポーネント用のデータベース監査ストアの構成」を参照してください。
データベース・ストアを使用する利点
バスストップ・ファイルに監査レコードを格納する場合、実用面で次のような制限があります。
ドメイン・レベルの監査データを表示できません。
Oracle BI Publisherでレポートを実行できません。
このため、データベース監査ストアを使用すると、次のような利点が得られます。
Oracle Business Intelligence Publisherを使用してレポートを作成できます。
バスストップでは監査レコードがインスタンス単位で格納されますが、データベース・ストアではドメイン内のすべてのコンポーネントのレコードを集中管理できます。
ファイルベースの記憶域と比較してパフォーマンスが向上する可能性があります。
このような理由から、オラクル社は、監査機能を拡張するためにデータベース・ストアへの切替えをお薦めします。
Oracle Fusion Middleware 11gでは、構造化レポート作成用のフル機能ツールとしてOracle Business Intelligenceを利用できます。
また、次のような多数の事前定義済レポートも使用できます。
作成済ユーザーおよび削除済ユーザー
ユーザー・トランザクション
認証と認可の失敗
ポリシー違反
Oracle Business Intelligenceの使用
ユーザー名や日時の範囲などの基準に基づいてレコードを選択できます。
Oracle Business Intelligenceは、データベース監査ストアでのみ機能します。バスストップ・ファイルでは使用できません。
Oracle Business Intelligenceで使用可能な事前定義済監査レポートのタイプは、次のとおりです。
エラーおよび例外
操作
ユーザー・アクティビティ
認証と認可の履歴
トランザクション履歴
詳細は、第C.2項「ビルトイン監査レポート」を参照してください。また、監査スキーマの詳細情報を使用して、必要に応じてカスタム監査レポートを作成することもできます。