7 コンポーネント・イベント・メッセージのロギング
ロギングは、コンポーネントの重要なイベント、プロセスおよび状態情報を捕捉するために、コンポーネントとサービスがログ・ファイルにメッセージを書き込むメカニズムです。管理者は、各種の粒度で情報を提供するようにロギングを構成できます。この構成には、その他のOracle Fusion Middleware 12cコンポーネントと同じロギング・インフラストラクチャjava.util.logging
(すべてのJava環境で使用できる標準)とガイドラインを使用します。
この章の内容は次のとおりで、ロギングの構成およびログ・ファイルの検出に重点を置いています。
7.1 Oracle Access Managementロギングについて
ロギング・システムはフラット・ファイルにのみ出力を書き出します。Oracle Databaseインスタンスへのロギングはサポートされていません。特に明記しないかぎり、この章の情報はOracle Access Managementのどのサービスを使用する場合でも同じです。
次の点にも留意してください:
-
カスタムのOracle WebLogic Scripting Tool (WLST)コマンドを使用して、ロギング・レベルを変更できます。
-
ログ・ファイルの情報を使用した問題診断については、この章では取り上げません。
-
この章のタスクを実行する前に、Oracle Access Managementコンソールと管理対象OAMサーバーが実行中であることを確認してください。
また、「サーバー登録の管理」も確認することをお薦めします。
7.2 コンポーネント・イベント・メッセージのロギング
一般に、ユーザーは、問題診断のためにOracleテクニカル・サポートへ送るファイルを作成するためにロギングを有効にします。ログ・メッセージに関するドキュメントはありません。場合によっては、ログ・ファイルを参照することによってユーザー自身で問題を診断できることもあります。
Oracle Access Managementでは、表7-1に示すファイルを使用します。
表7-1 ロギング・ファイル
ファイル・タイプ | 説明 |
---|---|
ロギング構成ファイル |
ロギング・レベルとロギングに関するその他の構成情報を提供します。このファイルは次のパスに格納されています。 $DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xml ノート: デフォルトでは、セキュリティ・トークン・サービスとIdentity Federationのメッセージは、OAMサーバーのログ・ファイルに記録されます。ただし、便宜上、「Identity Federationのロギング構成」で説明しているとおり、logging.xmlを編集してセキュリティ・トークン・サービスまたはIdentity Federationの情報を別のログ・ファイルに記録するようにできます。 |
ログ・ファイル |
記録された情報は次の場所に格納されます。 $DOMAIN_HOME/servers/SERVER-NAME/logs/ SERVER-NAME-diagnostics.log |
Oracle Access Managementでは、表7-2に示すWebLogicコンテナのロギングのデフォルトを使用します。
表7-2 ロギングのデフォルト
ログの種類 | 説明 |
---|---|
イベント |
次のイベントは自動的に記録されます。
|
レベル |
デフォルトでは、すべてのOracle Access Managementコンポーネントのログ・レベルが「通知」レベルになっています。「エラー」レベルでのロギングで生成される出力は少量ですが、他のログ・レベルではロギング出力が大量になることがあり、その場合はパフォーマンスに影響します。本番環境では、通常はロギングを無効にするか、ロギング出力量が少くなるようなレベル(たとえばエラー・レベル)に設定します。 |
詳細は、次を参照してください。
関連項目:
-
Fusion Middleware Controlを使用してログを構成および表示する方法の詳細は、「Fusion Middleware Controlによるパフォーマンスおよびログのモニタリング」を参照してください。
-
ロギング情報については、『Oracle Platform Security Servicesによるアプリケーションの保護』の、監査イベントのプログラム的ロギングを参照してください。
7.2.1 セキュリティ・トークン・サービスとAccess Managerのコンポーネント・ロガー
セキュリティ・トークン・サービスとAccess Managerのコンポーネント・ロガーは異なります。
セキュリティ・トークン・サービスにあるロガーは、oracle.security.fedの1つのみです。詳細は、「Identity Federationのロギング構成」を参照してください。
次の表に示すように、それぞれのAccess Managerコンポーネントには対応するロガー名が関連付けられています。
表7-3 Oracle Access Managementのサーバー側コンポーネントのロガー
コンポーネント名 | OAMロガー名 | 説明 |
---|---|---|
プロトコル・バインディング |
oracle.oam.binding |
ワイヤ・プロトコルのリクエストとレスポンスのJavaオブジェクト表現へのマーシャリング/アンマーシャリングを処理します |
SSOコントローラ |
oracle.oam.controller.sso |
ユーザー・セッションのライフサイクル管理と、SSOおよびログアウト・フローの編成を処理します |
OAMプロキシ |
oracle.oam.proxy.oam |
OAPプロトコルのリクエストとレスポンスのマーシャリング/アンマーシャリングによるOAM Webゲートとの相互作用と、OAPリクエスト/レスポンスを処理するOAMサーバーを支援するために必要なデータ/メッセージ変換の実行を処理します |
資格証明コレクタ |
oracle.oam.credcollector |
認証スキームが要求する必須情報を取得するためのユーザーとの相互作用を処理します |
パートナのリモート登録 |
oracle.oam.engine.remotereg |
OAMサーバーへのパートナの登録と、それに関連付けられた保護済ポリシーの管理を処理します |
Oracle Access Managementコンソール |
oracle.oam.admin.console |
Access Managementデプロイメントの管理とモニタリングをサポートするコンソールです |
管理サービス構成 |
oracle.oam.admin.service.config |
構成を管理するUIコンソールが使用するモジュールです |
診断とモニタリング |
oracle.oam.diag |
診断とモニタリングを可能にするためにOAMサーバー・コンポーネントが使用するインストゥルメンテーションを提供します |
表7-4 Oracle Access Management共有サービス・エンジン・コンポーネントのロガー
コンポーネント名 | OAMロガー名 | 説明 |
---|---|---|
認証エンジン |
oracle.oam.engine.authn |
指定した認証スキームが要求する資格証明とその他のデータを検証することで、ユーザー・アイデンティティの確立をサポートします |
ポリシー・サービス・エンジン |
oracle.oam.engine.policy |
認証、認可およびトークン発行のポリシー管理をサポートします。さらに、ランタイム処理をサポートするポリシー決定サービスも提供します |
セッション管理エンジン |
oracle.oam.engine.session |
ユーザー/管理者が開始したイベントとタイムアウト・ベースのイベントのサポートがある、ユーザー・セッションとトークン・コンテキスト情報の管理をサポートします |
トークン・エンジン |
oracle.oam.engine.token |
生成から取消しまでのトークンの全ライフ・サイクルの管理をサポートします |
SSOエンジン |
oracle.oam.engine.sso |
ユーザー・ログイン・セッションのライフサイクルを管理することで、シングル・サインオンの操作性をサポートします。 |
PartnerTrustMetadataエンジン |
oracle.oam.engine.ptmetadata |
パートナ・メタデータと信頼情報の管理をサポートします |
認可エンジン |
oracle.oam.engine.authz |
OAPランタイム・リクエスト操作に直接マップするメソッドを提供するラッパーです |
表7-5 Oracle Access Management Foundation APIコンポーネントのロガー
コンポーネント名 | OAMロガー名 | 説明 |
---|---|---|
セッション・アクセス |
oracle.oam.session.access |
** コードを逆コンパイルしないかぎり、有用ではありません |
セッション・アクセス実行 |
oracle.oam.session.accessimpl |
** コードを逆コンパイルしないかぎり、有用ではありません |
ポリシー・アクセス |
oracle.oam.policy.access |
** コードを逆コンパイルしないかぎり、有用ではありません |
7.2.2 サンプルのロガーおよびログ・ハンドラの定義
ここでは、Access Manager専用のサンプルのロガーおよびログ・ハンドラを示します。
セキュリティ・トークン・サービスにあるのは、「Identity Federationのロギング構成」で説明しているように、ロガーとログ・ハンドラそれぞれ1つずつのみです。
次の例に、logging.xml
ファイルでのAccess Managerのロガーとログ・ハンドラの構成を示します。
<logging_configuration> <log_handlers> <log_handler name='oam-handler' class='oracle.core.ojdl.logging. ODLHandlerFactory'> <property name='path' value='oam/diagnostic'/> <property name='maxFileSize' value='10485760'/> <property name='maxLogSize' value='104857600'/> </log_handler> </log_handlers> <loggers> <logger name='oracle.security.am' level='NOTIFICATION:1'> <handler name='oam-handler'/> ... </logger> </loggers> </logging_configuration>
関連項目:
Java EEアプリケーションのロギング情報は、『Oracle Platform Security Servicesによるアプリケーションの保護』の監査ファイルの命名とロギングに関する項を参照してください。
7.2.3 ロギング・レベルについて
Oracle Access Managementでは、ロガーにより出力されるデータの量はロガーのレベルによって制御され、レベルが高くなるほどより多くの情報が記録されます。
ロガーのレベルは、logging.xmlファイルの中で<logger>要素により、次の書式で指定されます。
<logger name="loggerName" level="notifLevel"/>
ここで、loggerNameはロガー名であり(「セキュリティ・トークン・サービスとAccess Managerのコンポーネント・ロガー」を参照)、notifLevelはODLメッセージ・レベルとJavaメッセージ・レベルのどちらかです。
表7-6に、ODLメッセージ・レベルとJavaメッセージ・レベルの対応を昇順に示します。
表7-6 ODLレベルとJavaレベルの対応
ODLメッセージ・レベル | Javaメッセージ・レベル |
---|---|
INCIDENT_ERROR:1 |
SEVERE.intValue()+100 |
ERROR:1 |
SEVERE(例外を記録) |
WARNING:1 |
WARNING(例外を記録) |
NOTIFICATION:1 |
INFO(デフォルト) |
NOTIFICATION:16 |
CONFIG |
NOTIFICATION:32 |
INFOとCONFIG |
TRACE:1 |
FINE(状況によっては本番環境に推奨) |
TRACE:16 |
FINER(本番環境にはお薦めしない) |
TRACE:32 |
FINEST(本番環境にはお薦めしない) |
上記に挙げられていない他のJavaレベル値は(つまり、SEVERE.intValue()+100からFINESTまでの範囲にないもの)、ODLレベルのUNKNOWNに相当します。
ノート:
メッセージを最も詳細レベルで記録するフィルタをoracle.security.fedパッケージおよびサブパッケージ(セキュリティ・トークン・サービスのクラス)に定義すると、サーバーを再起動した後でOAMサーバーのログが表示されます。詳細は、「Identity Federationのロギング構成」を参照してください。
7.3 Access Managerのロギング構成
グラフィカル・ユーザー・インタフェースは、ロガー・レベルの変更には使用できません(WLSTコマンドのみ使用できます)。
この項では、Access Managerのみのタスクを説明します。
この項では次のトピックを記載しています:
7.3.1 Access Managerのロガー・レベルの変更
管理者は、Access Manager用のカスタムWLSTコマンドを使用してロガーの設定を変更できます。
実際のデプロイメントと選択肢は、説明と異なることがあります。
ノート:
WLSTコマンドhelp("fmw diagnostics")
を使用してください。
次の手順に従い、OAMロガー・レベルを変更します。
7.3.2 Access Manager固有のロガーとログ・ハンドラの追加
管理者は、次の手順を使用してログ・ファイルのパスと必要な属性を指定することができます。
次の手順では、ターゲットのOAMサーバー、ローテーション期間と保持期間、ログ・ファイルのパス、ハンドラ、およびロガーを確認します。実際のデプロイメントと選択肢は、説明と異なることがあります。
ノート:
より詳しい内容を知るには、WLSTコマンドhelp("fmw diagnostics")
を使用してください。
次の条件に合致する場合はステップ1から3をスキップしてください。
-
OAMサーバーが稼働している
-
WLSTスクリプトがある
-
すでにサーバーに接続してログインしている
関連項目:
『WebLogic Server WLSTコマンド・リファレンス』のカスタマイズ・コマンドに関する項
この手順に従い、OAMロガー、レベルおよびログ・ハンドラを指定します。
7.4 Identity Federationのロギング構成
デフォルトでは、Identity Federationのメッセージは、OAMサーバーのログ・ファイルに記録されます。
これらのログは、Fusion Middleware Controlで表示および構成できます。ただし、この項で説明するように、logging.xml
を編集してIdentity Federationの情報を個別のログ・ファイルに記録することもできます。この手順に関連するファイルは、次のとおりです。
-
ロギング構成ファイル: ロガー名と、ロギング用のその他の構成情報を提供します。このファイルは、$DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xmlに保存されます。
-
ログ・ファイル: たとえば、$DOMAIN_HOME/ostslogs/SERVER-NAME-diagnostics.log。
セキュリティ・トークン・サービスとIdentity Federationでは、ログ・ハンドラがAccess Managerのように分類されません。そのかわり、Identity Federationのログ・レベルに影響するロガーが1つだけあります。表7-7では、WLSTコマンドで必要となるこのロガーの詳細を示します。
表7-7 Oracle Identity Federationのロガー
コンポーネント名 | ロガー名 | ログ・ハンドラ名 | ログ・クラス |
---|---|---|---|
Identity Federation |
oracle.security.fed |
stsfed-handler |
class=oracle.core.ojdl.logging.ODLHandlerFactory |
詳細は、次を参照してください。
関連項目:
-
Fusion Middleware Controlを使用してログを構成および表示する方法の詳細は、「Fusion Middleware Controlによるパフォーマンスおよびログのモニタリング」を参照してください。
-
『Oracle Platform Security Servicesによるアプリケーションの保護』の、監査イベントのプログラム的ロギングのロギング情報
7.4.1 Identity Federationのロギング構成
管理者は、Identity Federationのログ・メッセージをOAMサーバーのメッセージ・ログから切り離すことができます。
構成するには、次のようにします。
7.4.2 セキュリティ・トークン・サービスまたはIdentity Federationのログ・レベルおよびログ詳細の定義
管理者は、ここでの説明に従い、Oracle Access Management用のカスタムWLSTコマンドを使用してセキュリティ・トークン・サービスのロガー設定を変更できます。この場合は、セキュリティ・トークン・サービスのログ・メッセージ専用の独立した出力ファイルを指定します。
WLSTコマンドhelp("fmw diagnostics")
を使用してください。
次の条件に合致する場合はステップ1から3をスキップしてください。
-
OAMサーバーが稼働している
-
WLSTスクリプトがある
-
すでにサーバーに接続してログインしている
このセキュリティ・トークン・サービスのロギングの手順例は、Access Managerの場合の手順とほとんど同じです。ただしいくつかの違いがあります。実際のデプロイメントの選択肢は、説明と異なることがあります。
7.5 ランタイム・イベント・ロギング構成の検証
次の手順を使用して、ランタイム・イベントのロギング構成をテストすることができます。
始める前に:
-
カスタムWLSTコマンドを使用してロギングを構成します。
-
エージェントとサーバーが稼働していることを確認します。
-
「リソースの保護およびSSOの有効化ポリシーの管理」に従って、リソースを保護するようにアプリケーション・ドメインを構成します。
ランタイム・イベント・ロギング構成を検証するには、次のようにします。