Oracle® Fusion Middleware Oracle Access Manager with Oracle Security Token Service管理者ガイド 11g リリース1 (11.1.1) B62265-02 |
|
前 |
次 |
ロギングは、コンポーネントがファイルにメッセージを書き込むためのメカニズムです。管理者は、ロギング・メカニズムを使用して重要なコンポーネント・イベントを取得できます。Oracle Access ManagerおよびOracle Security Token Serviceのコンポーネントは、Oracle Fusion Middleware 11gの他のコンポーネントと同じロギング・インフラストラクチャとガイドラインを使用しています。これはjava.util.logging
パッケージを使用して行いますが、このパッケージは標準的なもので、すべてのJava環境で使用できます。ロギング・システムはフラット・ファイルにのみ出力を書き出します。Oracle Databaseインスタンスへのロギングはサポートされていません。
Oracle Security Token Serviceを伴うOracle Fusion Middleware Oracle Access Manager管理者ガイド
ロギングの構成とログ・ファイルの検索がこの章の焦点です。ログ・ファイルの情報を使用した問題診断については、このマニュアルでは取り上げません。
注意: 特に明記しないかぎり、この章の情報は、Oracle Access Managerを単体で使用している場合もOracle Security Token Serviceとともに使用している場合も同じです。 |
この章の内容は次のとおりです。
この章のタスクを実行する前に、Oracle Access Managerコンソールと管理対象OAMサーバーが実行中であることを確認してください。
第6章「共通のOAMサーバー登録の管理」を確認することをお薦めします。
ロギング・インフラストラクチャは、問題診断に使用できるメッセージを記録します。Oracle Security Token ServiceはJ2EE Webアプリケーションであり、Oracle Access Manager J2EEアプリケーションの一部になります。どちらもOJDLをロギング目的に使用します。Oracle Security Token Serviceは、パートナとの対話操作をタイムスタンプとともに取得します。管理者はメッセージに記録される情報の量を、ロガーが定義される各コンポーネントのログ・レベルを指定することにより制御します。
注意: 一般に、ユーザーは、問題診断のためにOracleテクニカル・サポートへ送るファイルを作成するためにロギングを有効にします。ログ・メッセージに関するドキュメントはありません。場合によっては、ログ・ファイルを参照することによってユーザー自身で問題を診断できることもあります。 |
Oracle Access ManagerおよびOracle Security Token Serviceは、次のWebLogicコンテナのロギング・デフォルトを使用します。
ロギング構成ファイル: ロギング・レベルと、ロギングのためのその他の構成情報を提供します。このファイルは次のパスに保存されます: DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xml
Oracle Access Managerログ・ファイル: DOMAIN_HOME/servers/SERVER-NAME/logs/SERVER-NAME-diagnostics.log
注意: デフォルトでは、Oracle Security Token Serviceメッセージは管理対象サーバー・ログ・ファイルに記録されます。ただし、便宜上、「Oracle Security Token Serviceのロギング構成」で説明しているとおり、logging.xmlを編集してOracle Security Token Service情報を別のログ・ファイルに記録するようにできます。 |
次のイベントは自動的に記録されます。
OAMサーバー・イベント(管理されたランタイム・サーバー)
管理イベント(コンソールを使用した構成変更に対して生成)
デフォルトでは、すべてのOracle Access ManagerおよびOracle Security Token Serviceコンポーネントのログ・レベルは通知レベルです。「エラー」レベルでのロギングで生成される出力は少量ですが、他のログ・レベルではロギング出力が大量になることがあり、その場合はパフォーマンスに影響します。本番環境では、通常はロギングを無効にするか、ロギング出力量が少くなるようなレベル(たとえばエラー・レベル)に設定します。
詳細は、次を参照してください。
関連項目:
|
この項では、Oracle Security Token ServiceとOracle Access Managerの両方のコンポーネント・ロガーを説明します。これらには違いがあります。
Oracle Security Token Serviceにあるロガーは、oracle.security.fedの1つのみです。詳細は、「Oracle Security Token Serviceのロギング構成」を参照してください。
次の表に示すように、それぞれのOracle Access Managerコンポーネントには対応するロガー名が関連付けられています。
表22-1 Oracle Access Managerサーバー側コンポーネント
コンポーネント名 | OAMロガー名 |
---|---|
プロトコル・バインディング |
oracle.oam.binding |
SSOコントローラ |
oracle.oam.controller.sso |
OAMプロキシ |
oracle.oam.proxy.oam |
OSSOプロキシ |
oracle.oam.proxy.osso |
資格証明コレクタ |
oracle.oam.credcollector |
パートナのリモート登録 |
oracle.oam.engine.remotereg |
Oracle Access Managerコンソール |
oracle.oam.admin.console |
管理サービス構成 |
oracle.oam.admin.service.config |
診断とモニタリング |
oracle.oam.diag |
表22-2 Oracle Access Manager共有サービス・エンジン・コンポーネント
コンポーネント名 | 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 |
このトピックでは、Oracle Access Managerの例のみを示します。Oracle Security Token Serviceにあるのは、「Oracle Security Token Serviceのロギング構成」で説明しているように、ロガーとログ・ハンドラそれぞれ1つずつのみです。
例22-1は、logging.xml
ファイルでのOracle Access Managerロガーとログ・ハンドラの構成を示します。
例22-1 Oracle 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 Fusion Middlewareアプリケーション・セキュリティ・ガイド』の付録I、I.1.1項を参照してください。 |
この項の内容は、Oracle Access ManagerとOracle Security Token Serviceに同様に適用されます。
ロガーにより出力されるデータの量はロガーのレベルによって制御され、レベルが高くなるほどより多くの情報が記録されます。ロガーのレベルは、logging.xmlファイルの中で<logger>要素により、次の書式で指定されます。
<logger name="loggerName" level="notifLevel"/>
ここで、loggerNameはロガー名であり(「コンポーネント・ロガーについて」を参照)、notifLevelはODLメッセージ・レベルとJavaメッセージ・レベルのどちらかです。
表22-4に、ODLメッセージ・レベルとJavaメッセージ・レベルの対応を昇順に示します。
表22-4 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パッケージおよびサブパッケージ(Oracle Security Token Serviceのクラス)に定義すると、サーバーを再起動した後でOracle Security Token ServiceによるOAMサーバーのログが表示されます。詳細は、「Oracle Security Token Serviceのロギング構成」を参照してください。 |
この項では、Oracle Access Managerのみのタスクを説明します。
ロガー・レベルの変更に使用できるグラフィカル・ユーザー・インタフェースはありません。使用できるのはWLSTコマンドのみです。ここでは、次の内容について説明します。
管理者は、次に示す手順に従い、Oracle Access Manager用のカスタムWLSTコマンドを使用してロガーの設定を変更できます。実際のデプロイメントと選択肢は、説明と異なることがあります。
注意: WLSTコマンドhelp("fmw diagnostics") を使用してください。 |
OAMロガー・レベルの変更方法
OAMサーバーが稼動中であることを確認します。
Oracle Access Manager用のカスタムWLSTスクリプトを取得します。次に例を示します。
<ORACLE_HOME>/common/bin/wlst.sh
WebLogic Serverに接続してWebLogic管理者としてログインします。次に例を示します。
sh wlst.sh wls:/offline> connect adminID password
OAMサーバーで使用可能なロガーをリストします。次に例を示します。
wls:/base_domain/serverConfig> listLoggers(pattern="oracle.oam.*",target="oam_ server1")
ここで、pattern=はoam.controllerコンポーネントを表し、target=は希望のOAMサーバー(登録時に指定されたもの)を表します。
このOAMサーバーに関連付けられているOracle Access Managerロガーのリストを表示します。次に例を示します。
Logger | Level --------------------------------------------+----------------- oracle.oam | <Inherited> oracle.oam.admin.foundation.configuration | <Inherited> oracle.oam.agent-default | <Inherited> oracle.oam.audit | <Inherited> oracle.oam.binding | <Inherited> oracle.oam.commonutil | <Inherited> oracle.oam.config | <Inherited> oracle.oam.controller | <Inherited> oracle.oam.default | <Inherited> oracle.oam.diagnostic | <Inherited> oracle.oam.engine.authn | <Inherited> oracle.oam.engine.authz | <Inherited> oracle.oam.engine.policy | <Inherited> oracle.oam.foundation.access | <Inherited> oracle.oam.idm | <Inherited> oracle.oam.idm | <Inherited> oracle.oam.idm | <Inherited> oracle.oam.user.identity.provider | <Inherited>
自身の要求に基づいてログ・レベルを変更します。たとえば、このシーケンスは、oam.controllerのログ・レベルを永続性のないTRACE:32に変更します。
wls:/base_domain/serverConfig> domainRuntime() wls:/base_domain/domainRuntime> setLogLevel(logger="oracle.oam.controller", level="TRACE:32", persist="0", target="oam_server1")
ステップ4を繰り返して再びロガーをリストし、ログ・レベルの変更を確認します。次に例を示します。
wls:/base_domain/serverConfig> listLoggers(pattern="oracle.oam.*",target="oam_ server1")
Logger | Level --------------------------------------------+----------------- oracle.oam | <Inherited> oracle.oam.admin.foundation.configuration | <Inherited> oracle.oam.agent-default | <Inherited> oracle.oam.audit | <Inherited> oracle.oam.binding | <Inherited> oracle.oam.commonutil | <Inherited> oracle.oam.config | <Inherited> oracle.oam.controller | TRACE:32 oracle.oam.default | <Inherited> oracle.oam.diagnostic | <Inherited> oracle.oam.engine.authn | <Inherited> oracle.oam.engine.authz | <Inherited> oracle.oam.engine.policy | <Inherited> oracle.oam.foundation.access | <Inherited> oracle.oam.idm | <Inherited> oracle.oam.idm | <Inherited> oracle.oam.idm | <Inherited> oracle.oam.user.identity.provider | <Inherited>
生成されたログ・ファイルを検証して、コントローラがTRACE:32レベルでロギングされていることを確認します。
DOMAIN_HOME/server/SERVER_INSTNCE_NAME/logs/
「ランタイム・イベント・ロギング構成の検証」へ進みます。
管理者は、次の手順を使用してログ・ファイルのパスと必要な属性を指定できます。
次の手順では、ターゲットのOAMサーバー、ローテーション期間と保持期間、ログ・ファイルのパス、ハンドラ、およびロガーを確認します。実際のデプロイメントと選択肢は、説明と異なることがあります。
注意: より詳しい内容を知るには、WLSTコマンドhelp("fmw diagnostics") を使用してください。 |
次の条件に合致する場合はステップ1から3をスキップしてください。
OAMサーバーが稼動している
WLSTスクリプトがある
すでにサーバーに接続してログインしている
関連項目: Oracle Fusion Middleware WebLogic Scripting Toolのコマンド・リファレンス |
OAMロガー、レベル、およびログ・ハンドラの指定方法
OAMサーバーが稼動中であることを確認します。
WLSTスクリプトを取得します。次に例を示します。
<ORACLE_HOME>/common/bin/wlst.sh
WebLogic Serverに接続してWebLogic管理者としてログインします。次に例を示します。
sh wlst.sh wls:/offline> connect
Oracle Access ManagerロガーとOAMサーバーのレベルを追加します。次に例を示します。
wls:/base_domain/serverConfig> domainRuntime() wls:/base_domain/domainRuntime> setLogLevel(logger="oracle.oam", level="WARNING", persist="0", target="oam_server1")
カスタム・ログ・ハンドラを追加して、それにOracle Access Managerロガーを関連付けます。次に例を示します。
wls:/base_domain/domainRuntime> configureLogHandler(name="oam-log-handler", target="oam_server1", rotationFrequency="daily", retentionPeriod="week", path="${domain.home}/oamlogs" , maxFileSize ="10485760", maxLogSize = "104857600", addHandler="true", handlerType="oracle.core.ojdl.logging .ODLHandlerFactory", addToLogger="oracle.oam") wls:/base_domain/domainRuntime>configureLogHandler(name="oam-log-handler", addProperty="true", propertyName="supplementalAttributes", propertyValue= "OAM.USER, OAM.COMPONENT", target="oam_server1")
DOMAIN_HOME/oamlogsディレクトリの中のすべてのログを確認します。
DOMAIN_HOME/oamlogs/
デフォルトでは、Oracle Security Token ServiceメッセージはOAMサーバーのログ・ファイルに記録されます。Fusion Middleware Controlでログを表示および構成できます。ただし、ここで説明するように、logging.xmlを編集してOracle Security Token Service情報を別のログ・ファイルに記録することもできます。
関係するファイルには次のものがあります。
ロギング構成ファイル: ロガー名と、ロギング用のその他の構成情報を提供します。このファイルは、DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xmlに保存されます。
Oracle Security Token Serviceログ・ファイル: たとえば、DOMAIN_HOME/ostslogs/SERVER-NAME-diagnostics.logです。
Oracle Security Token Serviceでは、ログ・ハンドラがOracle Access Managerのように分類されません。そのかわりに、Oracle Security Token Serviceのログ・レベルに影響を及ぼすロガーが1つのみあります。表22-5では、WLSTコマンドで必要となるこのロガーの詳細を示します。
表22-5 Oracle Security Token Serviceロガー
コンポーネント名 | ログ出力名 | ログ・ハンドラ名 | ログ・クラス |
---|---|---|---|
Oracle Security Token Service |
oracle.security.fed |
sts-handler |
class='oracle.core.ojdl.logging.ODLHandlerFactory' |
詳細は、次の項目を参照してください。
関連項目:
|
管理者は、次の手順を使用してOracle Security Token Serviceログ・メッセージをOAM Serverメッセージ・ログから切り離すことができます。
Oracle Security Token Serviceのロギングを構成する方法
次のlogging.xmlを見つけて開きます。DOMAIN_HOME/config/fmwconfig/servers/SERVER-NAME/logging.xml
次のように追加して、Oracle Security Token Serviceの独立したメッセージ・ログを作成します。
<log_handler name='sts-handler' class='oracle.core.ojdl.logging.ODLHand lerFactory'> <property name='path' value='sts/log'/> <property name='maxFileSize' value='10485760'/> <property name='maxLogSize' value='104857600'/> </log_handler> <logger name='oracle.security.fed' level='TRACE:32'> <handler name='sts-handler'/> </logger>
ファイルを保存します。
管理者は、ここでの説明に従い、Oracle Access Manager用のカスタムWLSTコマンドを使用してOracle Security Token Serviceのロガー設定を変更できます。この場合は、Oracle Security Token Serviceログ・メッセージ専用の独立した出力ファイルを指定します。
このOracle Security Token Serviceロギングの手順例は、Oracle Access Managerの場合の手順とほとんど同じです。ただしいくつかの違いがあります。実際のデプロイメントの選択肢は、説明と異なることがあります。
注意: WLSTコマンドhelp("fmw diagnostics") を使用してください。 |
次の条件に合致する場合はステップ1から3をスキップしてください。
OAMサーバーが稼動している
WLSTスクリプトがある
すでにサーバーに接続してログインしている
Oracle Security Token Serviceのロガー・レベルとログ・ファイルを変更する方法
OAMサーバーが稼動中であることを確認します。
Oracle Access Manager用のカスタムWLSTスクリプトを取得します。
<ORACLE_HOME>/common/bin/wlst.sh
WebLogic Serverに接続してWebLogic管理者としてログインします。次に例を示します。
sh wlst.sh wls:/offline> connect adminID password
oracle.security.fed
のログ・レベルを、自身の要求に基づいて変更します。たとえば、このシーケンスは、ログ・レベルを永続性のないWARNINGに変更します。
wls:/base_domain/serverConfig> domainRuntime() wls:/base_domain/domainRuntime> setLogLevel(logger="oracle.security.fed", level="WARNING", persist="0", target="oam_server1")
ターゲットのOAMサーバーの他に、ローテーション期間と保持期間、ログ・ファイルのパス、ハンドラ、およびロガーを指定します。次に例を示します。
wls:/base_domain/domainRuntime> configureLogHandler(name="osts-log-handler", target="oam_server1", rotationFrequency="daily", retentionPeriod="week", path="${domain.home}/ostslogs", maxFileSize ="10485760", maxLogSize ="104857600", addHandler="true",handlerType="oracle.core.ojdl.logging.ODL HandlerFactory", addToLogger="oracle.security.fed")
生成されたログ・ファイルを検証して、コントローラがWARNINGレベルでロギングされていることを確認します。
DOMAIN_HOME/ostslogs/SERVER-NAME-diagnostics.log
「ランタイム・イベント・ロギング構成の検証」へ進みます。
次の手順を使用して、ランタイム・イベントのロギング構成をテストできます。
前提条件
この章に示すWLSTコマンドを使用してロギングを構成します。
エージェントとサーバーが稼動していることを確認します。
第13章、「リソースを保護してSSOを有効化するポリシーの管理」に従い、リソースを保護するためにアプリケーション・ドメインを構成します。
ランタイム・イベント・ロギングの検証方法
ブラウザで、保護されたリソースへのURLを入力し、無効な資格証明を使用してサインインします。
正しい資格証明を使用して再度サインインします。
物理サーバー上で、次のパスに生成されるすべてのログを検証します。
DOMAIN_HOME/oamlogs/
DOMAIN_HOME/ostslogs/SERVER-NAME-diagnostics.log
ログ・ファイルを開いて最後のエントリを探し、認証の失敗と成功を確認します。