Oracle® Fusion Middleware Oracle Adaptive Access Managerの管理 11gリリース2 (11.1.2.3.0) E67427-01 |
|
前 |
次 |
この付録では、Oracle Adaptive Access Managerの使用中に発生する可能性のある一般的な問題と、その解決方法について説明します。
この章には次の項が含まれます:
この項では、複雑な問題をより簡単に解決するためのプロセスについて説明します。この章の内容は、次のとおりです。
問題の解決を目指して、いくつかの簡単なトラブルシューティング手法を順に実施できます。
手順 | 説明 |
---|---|
経験 | 以前にもこの問題を経験しているか、または問題の解決策がわかっています。 |
フォーラムへの投稿 | これは最初の手順ではありません。基本的な手順を適用した後、第2の意見が必要である場合にのみ有効です。厳密な分析中に行うのが妥当であり、分析前に行うのは適切ではありません。 |
直感的な飛躍(推測) | 問題から原因を推測できます。勘で問題またはその原因がわかります。これは場合によっては有効で、すばやい解決につながることもありますが、適切な確認を怠ると、症状は現れなくなったが、真の原因は解決できないことがあります。 |
基本的な診断の確認 | ログでエラーおよびフローを確認します。フロー(HTTPヘッダー、ネットワーク・パケット・トレース、SQLトレース、strace)を確認します。フローを実行し、文書化します。構成詳細を照合してチェックし、予想したとおりのフローであることを確認します。 |
エラー・メッセージの確認 | エラーおよびフローの情報を確認することにより、大きな手がかりを得ることができます。コンポーネントの動作に関するナレッジと合わせることにより、理解を深めることができます。常に、ナレッジ(Oracleおよび検索エンジン)に一致する事例がないか確認してください。エラーが重大かどうかを判断するために必要な診断を実行します。エラーが複数ある場合は、どのエラーが原因であり、どのエラーが単なる結果であるかを調べます。 |
比較 | ログおよびフローを稼働中のシステムと比較します。テスト・ケースを実行します。エラーが特定のサイトのみで発生する場合は、違いを比較します。 |
分断 | 問題を分割します。 |
この項では、問題を切り分けて管理可能な単位にする手順を示します。
プロセス | 説明 |
---|---|
問題の単純化 | 問題を可能なかぎり単純にします。 |
不要なコンポーネントの削除 | ほとんどの問題には、複雑なコンポーネントおよび各コンポーネント間の結合が関連しています。また、サード・パーティのコンポーネントが関連していることがほとんどです。このため、可能であれば、まずサード・パーティのコンポーネントを削除し、次にできるだけ多くのコンポーネントおよびカスタム・コンポーネントを削除します(たとえば、コマンド行はアプリケーションでないか、SQLPLUSはアプリケーションでないか)。 |
複雑さの軽減 | 症状は同じでより単純な問題が存在するかどうかを調べるテストを実施します(たとえば、複雑な選択のコンポーネントをまたは検索フィルタ削除し、1つのリクエストまたは数件のリクエストで十分かどうかを確認します)。 |
たとえるのであれば漏れ穴のある埋設管の修理 | 複雑な構成を、漏れ穴のある埋設管として考えます。問題が存在すること、どこかに漏れ穴があることはわかっていますが、それがどこにあるのかはわかりません。 |
コンポーネントの列記 | 各コンポーネントを枠で囲み、次のコンポーネントと結び付ける線を引きます。これらを結合する際のプロトコルに注意してください。 |
両端の確認 | 入れたものと出てくるものは同じである必要があります。出入りするデータに問題が生じる場合、問題があるのはどちらかの端です。フローが予想どおりではない場合、問題はその途中にあります。 |
横向きのY | 構成内のポイントをテストし、逸脱が生じている場所を見つけます。1つの構成部分が予想どおりに動作することが(確実に)わかれば、その部分は無視できます。 |
繰返し | このループを繰り返して、問題を突き止めます。 |
ヘルプ | サード・パーティのコンポーネントが問題に関連している場合は、他社からのサポートを受け、協力して問題を解決します。 |
次のような場合、プロセスの全部または一部を適用する必要があります。
問題が複雑な場合
問題が大幅に拡大した場合
最初の試行で問題が解決しなかった場合
問題を制御できなくなってきた場合
問題を制御できなくなる可能性がある場合
分析のプロセス・フローは次のとおりです。
問題を記述します。
問題を詳述します。
次のものに基づいて、考えられる原因を展開します。
知識と経験
差異と変更
考えられる原因を詳述書に対してテストします。
最も可能性の高い原因を特定します。
解決策を検証します。
問題を記述することは、問題を解決するために最も重要な手順です。
手順 | 説明 |
---|---|
明確かつ正確な問題記述を確実に行う | 問題の記述は最も重要な手順です。このことは無視されることが多いか、または少なくとも問題記述があることが前提になっています。問題記述を行わずに問題を解決しようとしても、意味がありません。そうでなければ、実際に何を解決しようとしているのかがあいまいになります。問題の本質がわからなければ、問題の解決方法もわかりません。 |
記述された問題を説明できるかどうかを考察する | 説明できる場合は問題記述ではありません。問題記述が説明可能な場合は前に戻って、より正確な問題記述を作成してください。他の人の問題解決を支援する場合は、ここからコミュニケーションを開始します。直接的な質問をして問題を絞り込むか、電話で担当者と話して真の問題を明確にします。問題が多数ある場合は、それらを個別の問題として書き留めます。 |
あいまいな記述で妥協しない | 「パフォーマンスが悪い」、「何かがクラッシュする」などのあいまいな問題記述は無意味であり、問題が長引き管理がきかなくなる原因となります。 |
複数の問題を1つの記述にまとめない | 対処する問題は常に1つにします。1つにまとめられた問題を受け入れないでください。1つにまとめられた問題は、別々の問題が複数存在するか、一部の問題が実際には症状であるかのどちらかです。 |
問題を詳述し、明確な質問をして関連情報を収集します。
手順 | 説明 |
---|---|
問題を詳述する | これらは問題の症状です。 |
まず質問をする | 何が、どこで、いつ、どの程度といった質問をします。 |
何が | 「何が」は明確な質問であり、通常は事実と症状(何が予測から逸脱しているか)のリストになります。 |
どこで | 「どこで」は関連しない場合もありますが、重要であることが多いのに見過ごされることも多いため、価値のある質問です。 |
いつ | パターンを特定したり、どの変更によって問題が発生したかを判断するうえで時系列が役立つため、「いつ」は重要な質問です。 |
どの程度 | 「どの程度」または「どれだけの数量」は、考えられる原因を特定するうえで非常に有用です。たとえば、システム全体であれば、システム全体が影響を受けるどうかを確認するか、テスト・ケースを試行します。「どれくらいの頻度で」は、非常に重要です。1週間に1回と1秒に複数回では大きな違いがあり、どのような種類の問題であるかを把握する大きな手がかりとなります。 |
症状と事実を列記する | 症状と事実、およびそれらの重要度を列記します。 |
何が変更されたか | 何かが変更されたことは確かですが、問題が最初から常にあった場合は除きます。これは特殊なケースです。 |
前提 | 提供されたデータを検証し、競合や矛盾がないかを確認します。
必ず、想定がないかを確認します。検証されておらず想定でしかない情報を、注意深く特定してください。実際に、これは特に技術的な経験が豊富なアナリストにありがちな誤りです。しかし、経験の少ないアナリストが自分より知識があると思われる人から詳細情報を得るような場合にも多く起こることです。その想定がどれほど些細なものに見えても、その実証と確認は怠らないでください。 |
コンポーネントが前から機能していなかった場合、次の手順を実行します。
考慮事項 | 説明 |
---|---|
パフォーマンス問題の場合、動作と期待を考慮する | ある要素が最初から正常に機能したことがない場合は、まず、正常な動作とは何か、それが合理的であるかを判断する必要があります。これによって、最初からの期待としてどのようなものが適切かも明確になります。これは特に、パフォーマンスの問題に該当します。 |
誤解がないことを確認する | 要件が合理的かどうかを判断します。 |
リンゴとみかんを比較しない | 具体的な目標について合意します。その問題のみに取り組みます。 |
関連するすべてのコンポーネントを考慮する | 関連するすべてのコンポーネントについて考慮します。
|
認識を変えるだけが解決策かどうかを考慮する | 問題があると思った理由は何ですか。
|
何が問題であるか(IS)、何が問題でないか(IS NOT)、何が問題である可能性があるか(COULD BE)を検討します。
手順 | 説明 |
---|---|
IS、IS NOT、COULD BE | 事実または症状ごとに、この問いかけ(IS、IS NOT、COULD BE)を行います。 |
比較を提供する | 多くの場合、テスト・ケースが問題を比較するための手段となります。
問題が再現された場合、ここでの問題分析には役立たなかったことになりますが、問題の修正にあたる次のチームに問題を引き継ぐ際に非常に有用です。また、可能性のある修正策や解決策(回避策)をすばやくテストすることもできます。 |
比較がない場合はテスト・ケースを作成する | 問題が再現されない場合、問題のシステムと比較する対象となり、場合によっては潜在的な回避策となることもあります。 |
問題を解決するには、考えられる原因を展開することが必要です。
展開 | 説明 |
---|---|
知識と経験 | 知識と経験を使用して、考えられる原因を認識できます。
|
差異と変更 | 差異と変更のリストを作成して、原因を絞り込むことができます。
|
各症状と比較の調査 | それぞれの事実を考慮し、事実どうしが関連していること、および競合していないことを確認します。 |
考えられる各原因を詳述書に対してテストします。
考えられる各原因は、詳述書のすべてのアイテムと合致している必要があります。
原因なしという結果になった場合は、戻ってプロセスを調整します。
原因は、「である」と「でないが、かもしれない」の両方を説明している必要があります。
最も可能性の高い原因を特定します。
合致する原因は無視しないでください。
アクション・プランを考案できるように、原因を確定します。
次の操作を実行できます。
考えられる原因をテストする方法の考案
観察
想定のテスト
試験
解決策のテストおよび監視
ここでは、理論を実証または反証するためのアクション・プランを考案することが主要な点です。各アクション・プランの理由を伝達することが重要です。反証テスト(何かが真ではないことを証明するためのテスト)を実施する場合は、特にそうです。すべてのアクション・プランは問題を解決するためのものだと考えていて、正しい方向に進んでいないと思われるものには抵抗を示す人がいます。
ある解決策が失敗した場合、最初に戻ってそのアプローチを再び適用しますが、その際、新しい結果で更新したものを適用します。問題が非常に複雑な場合は、何度かの反復が必要になることがあります。
プロセスにまったく誤りがないわけではありません。
失敗の主な原因は次のとおりです。
問題記述が不十分または不適切
情報が不正確またはあいまい
「である」と「でない」に大きな差異がない
判断を阻害する想定がある
広範なスキル・セットの関与がない
この項では、システムの問題の調査とトラブルシューティングに使用できるツールおよびプロセスに関する情報を示します。
表30-1に、問題のトラブルシューティングに使用できる汎用ツールとOAAM固有のツールを示します。
表30-1 トラブルシューティング・ツール
カテゴリ | 説明 |
---|---|
汎用ツール |
|
OAAM固有のツール |
|
表30-2に、システムをトラブルシューティングする際に確認するアイテムを示します。
表30-2 トラブルシューティングのヒント
ヒント | 理由 |
---|---|
オペレーティング・システムの確認 |
プラットフォームに固有の問題もあります。たとえば、IBM以外のプラットフォームで作成されたJavaキーストアはIBMプラットフォームでは動作しません。 |
WebLogicサーバー・バージョンの確認 |
OAAMが11gで動作保証済のWebLogic Serverにインストールされていることを確認します。 |
JDKの確認 |
JDKがIdentity Management 11g Suiteで動作保証されていることを確認します。 |
Oracle Enterprise Manager Fusion Middleware Controlを使用したロギング構成の変更 |
トレースおよびデバッグの前に、ログ・レベルが適切に変更されていることを確認します。 |
Oracle Enterprise Manager Fusion Middleware Controlを使用したメッセージの検索 |
スクリプトの実行方法に関して知っておくと役立つまたは重要と思われるログ・メッセージ・レコード情報。 |
実行コンテキストIDを使用したログ・メッセージの検索 |
ECIDは、個々のイベントを同じリクエスト実行フローの一部として相互に関連付けるために使用できる一意の識別子です。 |
WebLogicコンソールを使用したデータベース接続プールのモニター |
WebLogicコンソールを使用して、接続プールのヘルスを確認します。 |
表30-3に、問題およびそのトラブルシューティングと解決のために実行できるチェックをまとめます。
表30-3 問題およびヒント
問題 | 実行できるチェック |
---|---|
一般的なトラブルシューティング・ユース・ケース |
|
ほとんどの操作が遅い |
|
サーバーでメモリー不足の例外がスローされる |
|
接続プール・エラー |
|
アップグレード後の管理対象サーバーの起動中のエラー |
|
OAAM CLIスクリプトの問題 |
|
SOAPコールの問題 |
|
ネイティブ統合の問題 |
|
ポリシー実行後に結果が見つからない
質問/問題: ポリシーをインポートし、ポリシーの実行結果が表示されるのを待っていましたが、結果が見つかりませんでした。何が起こったかどのようにわかりますか。
回答/解決策: 問題をデバッグするため、次の手順を実行します。
セッション詳細ページで、そのセッションでそのポリシーが実行されたかどうかを確認します。
そのチェックポイントに対してvcrypt.tracker.rules.trace.policySet.XXXXXXがtrueに設定されていることを確認してください。(XXXXはそのチェックポイントに対応します)
ポリシーの構成を確認します。
ポリシーはアクティブになっているか。
ポリシーはこのユーザーが属するユーザー・グループにリンクされているか。
ポリシーをセッション内で実行するには、そのポリシーを「すべてのユーザー」にリンクするか、ユーザーがメンバーとなっているグループの1つにリンクします。ポリシーが適切にリンクされているかどうかを確認します。
キャッシュがリフレッシュされる十分な時間が与えられていたことを確認します。
グループ・リンクが最近変更された場合は、キャッシュがリフレッシュされるのを必ず30秒以上待ってください。
ルールに対してアラートまたはアクション(あるいはその両方)が生成されない
質問/問題: ポリシーが実行されたのに、アラートおよびアクションが生成されません。
回答/解決策: ルールがトリガーされると、そのルール内に設定されているアラートがトリガーされます。ただし、ルール内に構成されているアクションは、トリガーの組合せやポリシー・セットのオーバーライドなど、様々なレベルでオーバーライドされることがあります。ルールによりトリガーされるアクションがオーバーライドされていないか確認します。
アクションおよびアラートの構成を確認します。
アラートおよびアクションがルール内に設定されていることを確認します。次に、セッション内でルールが実際にトリガーされたことを確認します。
ルールがトリガーされると、そのルール内に設定されているアラートがトリガーされます。ただし、ルール内に構成されているアクションは、トリガーの組合せやポリシー・セットのオーバーライドなど、様々なレベルでオーバーライドされることがあります。ルールによりトリガーされるアクションがオーバーライドされていないか確認します。
ポリシー内に、この特定の条件セットと一致する他のトリガー組合せがあるかどうかを確認します。
トリガー組合せは、すべての条件が組合せに一致するまで、ユーザー・インタフェースに示された順に評価されます。一致した組合せが見つかった後は、残りの組合せは評価されません。特定の条件セットに対して複数の組合せが一致することもありますが、最初に一致した組合せのみがトリガーされます。ポリシー内に、この特定の条件セットと一致する他のトリガー組合せがあるかどうかを確認します。
セッション詳細ページにアラート・トリガー・ソースが表示されない
質問/問題: アラートが含まれるセッションのセッション詳細ページで、「トリガー・ソース」列に何も表示されません。
回答/解決策: 詳細なロギングは実行時間に依存するため、アラートの実行時間が2000ミリ秒未満の場合、デフォルトではセッション詳細ページにトリガー・ソースは表示されません。
このしきい値およびロギングを制御するプロパティは、次のとおりです。
# Int property determining minimum time required for detailed logging vcrypt.tracker.rulelog.detailed.minMillis=2000
プロパティを変更したら、次のように出力します。
vcrypt.tracker.rulelog.detailed.minMillis=value
注意: プロパティの変更の影響を受けるのは新しいセッションのみです。
ログインのたびにアラートが生成される
ルールの構成が厳密すぎます。どのルールがアラートを発生させているかを特定し、制限を緩めます。
アクション要素またはアクション・メンバーがルール内のアクション・グループに表示されない
質問/問題: アクション要素またはアクション・メンバーが追加されましたが、ルール内のアクション・グループに表示されません。
回答/解決策: アクション・メンバーは列挙であるため、アクションが表示されるようにするには、サーバーを再起動する必要があります。
すべてのグループを削除できない
質問/問題: ユーザーが削除するように選択したすべてのグループを削除できません。
回答/解決策: グループがアプリケーション内の他のインスタンスで使用されている場合、ユーザーはグループを削除できません。
グループ内のすべてのメンバーの削除
質問/問題: グループ内のすべてのメンバーを削除するとどうなりますか。
回答/解決策: グループがいずれかのルールまたはパターンにリンクされている場合、ルールまたパターンが予想どおりに機能しません。
ユーザーIDとユーザー名グループの違い
質問/問題: ユーザーIDとユーザー名グループの違いは何ですか。
回答/解決策: ユーザー名はユーザーが設定します。たとえば、「Bob」がログインでユーザーは「xyz123」です。ユーザーIDは、カスタマがユーザーを一意に識別するために使用するスキームです。
グループの用途
質問/問題: グループはどのような目的で使用されますか。
回答/解決策: ルール条件およびルール結果の構成を単純化するために、グループが作成されます。
たとえば、ルール「制限付きIP」を作成するには、ログインしたユーザーのIPが構成済の制限付きIPのリスト内にあるかどうかを判別するための条件を追加する必要があります。制限付きIPはタイプIPのRestrictedIPSGroupというグループにまとめられ、ルール条件でこのグループが使用されます。
ルール・トリガーに基づいたグループ・メンバーの追加/削除
質問/問題: ルール・トリガーに基づいてメンバーを自動的にグループに追加またはグループから削除できますか。それはどのようにして行いますか。
回答/解決策: メンバーをグループに追加する場合、またはグループからメンバーを削除する場合は、「グループへのメンバーの追加」または「グループからのメンバーの削除」という名前の新規のトリガー・アクション列挙と、それに対応するアクション・グループを作成します。グループ内にアクションを追加します。「グループへのメンバーの追加」または「グループからのメンバーの削除」に対してトリガーする、メンバーを追加または削除するための構成可能アクションを構成します。
ユーザーの除外
質問/問題: ユーザーの一部をルールの影響を受けないよう除外するにはどうすればよいですか。
回答/解決策: ユーザーを含むグループを作成します。次に、ルールの「事前条件」タブで、このグループを除外するように指定します。
キャッシュ・ポリシーとは
質問/問題: キャッシュ・ポリシーは何をするのですか。
回答/解決策: キャッシュ・ポリシーは、アプリケーションでキャッシュに保存されているデータを使用するか、それともサーバーからの元のデータを再フェッチするかを決定します。
キャッシュ・ポリシーがパフォーマンスに与える影響
質問/問題: キャッシュ・ポリシーはパフォーマンスにどのような影響を与えますか。
回答/解決策: 情報へのアクセスが必要になるたびにアプリケーションがサーバーと通信する必要がある場合、パフォーマンスは低下します。キャッシュ・データの場合は、情報がすでに格納されているためすばやくアクセスできます。データをキャッシュし、大規模な変更が行われると、キャッシングによりサーバー領域が使用されるために、パフォーマンスが低下します。
グループをキャッシュしない
質問/問題: グループをキャッシュしない方がよいのはどのような状況ですか。
回答/解決策: グループに変更が行われるとグループが再キャッシュされるため、要素リストが長い場合は、グループをキャッシュしないようにする必要があります。
グループ内のグループ
質問/問題: グループ内に別のグループを含めることはできますか。
回答/解決策: できませんが、例外として、市区町村グループを都道府県グループに含め、さらに都道府県グループを国グループに含めることはできます。
グループ・リンクの表示
質問/問題: グループが何かにリンクされているかどうかはどのようにわかりますか。
回答/解決策: ポリシー・ツリーに、ユーザーIDグループがポリシーにリンクされていることが表示されます。
自動学習が機能しているかどうかの確認
質問/問題: 自動学習を有効化し、ポリシーを構成しました。自動学習が動作していることを確認するにはどうすればよいですか。
回答/解決策: 自動学習が有効になっていて機能しているかどうかを確認するには、次の手順を実行します。
システムにログインします。
ログインを数回実行します。
セッションの自動学習データが処理されたかどうかを調べるには、そのセッションのセッション詳細ページに移動し、「ログイン詳細」セクションの「処理ステータス」フィールドを参照します。
自動学習が正しく設定されていない場合、データは処理されません。
カスタム・アクションが使用可能にならない
質問/問題: カスタム・アクションを作成しましたが、ユーザー・インタフェースでそのアクションが使用可能になりません。
回答/解決策: Javaクラスが正しいディレクトリ内にあること、また正しいパッケージ内にあることを確認します。
構成可能アクションによる複数のケースの生成
質問/問題: 構成可能アクションとしてケースの作成を定義した場合、複数のケースが生成されます。
回答/解決策: 頻繁に発生する可能性のあるアクションが事前条件である場合、アクションが発生するたびにケースが作成されます。たとえば、チャレンジなどのアクションは1つのセッション内で2回以上発生する可能性があります(OTPチャレンジ、KBAチャレンジなど)。
同期アクション
質問/問題: 同期アクションが優先度に基づいて昇順で実行されます。たとえば、CSRケースを作成してケースIDとともに電子メールを送信する場合は、同期アクションを選択します。同期アクションは即時にトリガー(実行)されます。
最初のアクションが失敗した場合、どのようになりますか。その場合も電子メールは送信されますか。
回答/解決策: 構成可能アクションの実行は、他の構成可能アクションの実行に依存しません。ただし、アクション間で共有されるコンテキストでデータをチェックし、コンテキスト・データに基づいてロジックを実行するように、カスタム・コードを作成できます。
非同期アクション
質問/問題: 非同期アクションは実行のためにキューに格納され、特定の順序ではなく優先度に基づいて実行されます。たとえば、電子メールを送信するか、アクションを実行するときに、即時実行せず、実行順序にこだわらない場合は、非同期アクションを選択します。
非同期アクションの実行は保証されますか。サーバーの実行が停止した場合、どのようになりますか。
回答/解決策: サーバーの実行が停止した場合、保留中の構成可能アクションは実行されません。
トリガー基準
質問/問題: トリガー基準を使用すると、セッション内でどのような場合にアクションをトリガーするかを選択できます。
アクションは、スコアまたはアクション、あるいはその両方です。これらが、構成可能アクションの定義中に選択したチェックポイントに対するルール・エンジンからの値と比較されます。
アクションとスコアの両方を指定した場合、どちらか一方のみが一致すると、どのようになりますか。優先度はどのようになりますか。
回答/解決策: アクションとスコアの両方を指定した場合、両方の基準がルール・エンジンからの結果と一致した場合にのみ、構成可能アクションが実行されます。
非同期アクションでのアクション優先度
質問/問題: 非同期アクションでアクション優先度はどのように使用されますか。
回答/解決策: アクションは、アクション優先度に基づいて異なるキューに配置されます。キューの次のアクションを実行するタイミングになると、優先度の高いアクションが最初に実行されます。
エンティティが使用可能にならない
質問/問題: ユーザーがエンティティを作成しましたが、「トランザクション」の「エンティティ」リストでそのエンティティが使用可能になりません。
回答/解決策: ユーザーがエンティティをアクティブ化していません。
19.2.4.7項「エンティティのアクティブ化」を参照してください。
データ要素を評価に使用できない
質問/問題: データ要素を条件内の評価に使用できません。
回答/解決策: データ要素が暗号化されている可能性があります。
複数のエンティティ・インスタンスの追加
質問/問題: ユーザーは1つのトランザクションにエンティティの複数のインスタンスを追加できますか。
回答/解決策: はい。
エンティティの変更がエンティティのインスタンスに与える影響
質問/問題: ユーザーがエンティティ定義を変更した場合、エンティティのすべてのインスタンスが影響を受けますか。
回答/解決策: はい、定義はテンプレートです。
19.3.5項「エンティティの編集」を参照してください。
エンティティを削除できない
質問/問題: ユーザーがエンティティを削除できません。ユーザーは、そのインスタンスをトランザクションからすでに削除しています。
回答/解決策: このエンティティは、他のトランザクションやパターンなどでも使用されています。
19.3.9.2項「エンティティの削除」を参照してください。
トランザクションで使用されていないのにエンティティを削除できない
質問/問題: ユーザーは、エンティティを使用するトランザクションを実行していないのに、エンティティを削除できません。
回答/解決策: エンティティを使用している履歴トランザクション・データが存在する可能性があります。
浮動小数点のグループ
質問/問題: トランザクション金額が特定の金額($999.99など)かどうかを調べる必要があります。これをモデル化する方法はありますか。「汎用整数」と「汎用ロング」が使用可能ですが、いずれも浮動小数点を受け入れません。
回答/解決策: 小数点が必要な場合は、単位を変更してモデル化します。たとえば、99.99ではなく9999を使用します。すべてのルールおよびグループでその単位(たとえば、ドルではなくセント)を一貫して使用するように注意してください。
特定のエンティティの除外
質問/問題: 業者やアカウントなど、特定のエンティティを除外するにはどうすればよいですか。たとえば、業者およびアカウントをエンティティとしてモデル化する場合、Oracle Adaptive Access Managerにエンティティ・グループのオプションはありません。
回答/解決策: 主キー(汎用文字列グループなど)を使用して、エンティティをグループ化します。
トランザクションを無効化してもトランザクション・ベースのルールがトリガーされる
質問/問題: トランザクションを無効化してもトランザクション・ベースのルールがトリガーされるのはなぜですか。
回答/解決策: トランザクションが無効な場合でも、そのトランザクションにアクションを実行するように設定されているルールがアクティブな場合は、トランザクション・データが評価の入力として使用されます。ルールがトリガーされると、「セッション詳細」にトランザクション・データが表示され、アラートとアクションがトリガーされます。
トランザクションを無効化しても、そのトランザクションは無効になりません。トランザクションの条件マッピングにトランザクションが表示されなくなるだけです。
レポートを起動したルールに表示されるレコード件数を減らす場合はトランザクションを無効にします。ただし、すべてのトランザクションの処理を無効にする場合は、ルールを非アクティブ化する必要があります。
HTTPヘッダーX-Forwarded-For内のIPアドレスの設定
質問/問題: OAAMサーバーがHTTPヘッダー"X-Forwarded-For"に設定されたIPアドレスでリクエストを識別しませんでした。OAAMはかわりにクライアントのマシンIPアドレスを使用しました。その結果、すべてのユーザーで登録に使用したマシンの同一IPアドレスが使用され、各ユーザーのIPアドレスが同じでした。
回答/解決策: OAAMはデフォルトではヘッダーIPを使用しなくなりました。"X-Forwarded-For" IPの使用を有効にするには、次のプロパティを有効にする必要があります。
vcrypt.tracker.ip.detectProxiedIP=true
ユーザーが7つの質問を登録し、フロー内で通常の1つの質問のかわりに3つの質問でチャレンジされるようにシステムを構成する必要があります。
質問/問題: カスタマは、チャレンジ・フローで表示される質問の数を変更できますか。
回答/解決策: OAAMは、フロー内で一度に1つの質問が行われるように意図的に作られています。1つの質問を提示し、ユーザーがチャレンジの回答に成功した場合にのみ次の質問を表示することは効果的なセキュリティ・プラクティスです。これにより、フィッシング行為で使用するために質問が収集されるのを保護できます。また、OAAMでは、1つの質問に対してユーザーが複数回の入力を試行することが可能であり、そのような質問では回答の誤入力の回数を追跡する必要があります。一度に複数の質問が表示された場合、これを維持することは困難になり、エンド・ユーザーを混乱させることになりかねません。カスタマが複数の質問でユーザーをチャレンジする必要がある場合は、個々の連続した画面で行う必要があります。また、OAAMでは一度に複数の質問による認証をサポートしていないため、カスタマが選択できるのはこの方法に限られます。
失敗を追跡し、IVR、オフライン(KBAおよびOTP)、CSRおよび他のカスタム・メカニズムの失敗カウンタを更新してください。
質問/問題: IVR、オンライン(KBAおよびOTP)、CSRなどをサポートしたいと考えています。失敗を追跡して失敗カウンタを更新するにはカスタム・コードを作成する必要がありますか。
回答/解決策: カスタマはデプロイメントで任意のタイプのチャレンジ・メカニズムをサポートできます。たとえば、KBA、OTP、IVRなどのカスタム・メカニズムがあります。OAAM管理コンソールは、ユーザー詳細およびケース詳細の両画面で失敗カウンタ、登録情報などをサポートします。カスタマが新しいまたはカスタムのプロセッサを追加した場合、カウンタがユーザーおよびCSR詳細のページに表示されます。たとえば、企業が動的KBAソリューションを作成し、チャレンジ・プロセッサを介してOAAMに統合した場合、CSRケース画面には動的KBAチャレンジの失敗カウンタが表示され、設定されているポリシーに基づいてロックアウトが行われます。
注意: タスク・プロセッサ統合の説明が記載されているカスタム・プロセッサの例は、My Oracle Supportの記事ID 1501759.1「OAAM 11gR2 (11.1.2.0) Sample Application Download for Task Processor Integration」を参照してください。
My Oracle Supportにはhttps://support.oracle.com
からアクセスできます。
OTP失敗カウンタでは異なるチャネルの失敗が統合されます。たとえば、複数のチャネルを使用している場合、まとめられたOTPカウンタがしきい値を上回ると、OTPステータスが「ロック済」と表示されます。そのため、ユーザーがショート・メッセージ・サービス(SMS)で2回、電子メールで1回失敗して、しきい値が3の場合、そのユーザーはロックされます。
リセット・アクションにより次の項目のすべてのチャレンジ失敗カウンタがリセットされます。
KBAのリセット: KBAが再登録されます。KBAおよびOTPの件数カウンタがゼロにリセットされます。
CSR KBAのリセット: KBAが再登録されます。KBAおよびOTPのカウンタがゼロにリセットされます。
OTPのリセット: OTPが再登録されます。KBAおよびOTPのカウンタがゼロにリセットされます。
ロック解除アクションによりKBAおよびOTPのユーザー・アカウントのロックが解除されます。
KBAのロック解除: KBAが再登録されます。KBAおよびOTPのカウンタがゼロにリセットされます。
OTPのロック解除: KBAが再登録されます。KBAおよびOTPのカウンタがゼロにリセットされます。
なぜ登録していない質問がチャレンジに使用されたのか
質問/問題: ユーザーが自分で登録していない質問がチャレンジに使用されたと言っています。なぜこのようなことが起こるのでしょうか。
回答/解決策: いくつかの理由が考えられます。
ユーザーが登録後にチャレンジ質問を忘れた可能性があります。多くの場合、このユーザーが長い期間チャレンジを受けていなかったことが原因です。
チャレンジ質問が共同アカウントを持つ別の人(夫、妻、大切な人)によってリセットされた可能性があります。
ユーザーの質問をリセットして、ユーザーが新しいチャレンジ質問を登録できるようにする必要があります。
ユーザー登録用の質問数を増やす必要があるか
質問/問題: 登録用の質問の数を増やす必要があるかどうかはどのように判断できますか。
回答/解決策: 質問の数を増やす必要があるかどうかは、ビジネスのユース・ケースによって異なります。
質問の数が5つに増え、ユーザーが3つの質問を登録した場合、次のようになります。
システムで5つの質問すべてが使用されている場合、ユーザーに質問の再登録を求める必要はありません。この場合、変更は必要ありません。既存のユーザーは、質問がリセットされないかぎり、引き続きこれまでの質問を使用します。
5つの質問すべてが必要な場合、ユーザーに次の質問を登録させることができます。
追加の2つの質問。この場合、ポリシーで変更を行い、新しいルールを追加する必要があります。
5つの質問すべて。この場合、バッチ・ジョブを使用する必要があります。
詳細ページの「質問の統計」に質問のチャレンジ率が表示されないのはなぜか
質問/問題: ユーザーが質問に答えた後すぐに質問のチャレンジ率の統計が更新されないのはなぜですか。
回答/解決策: 質問の統計を更新するスレッドは、1時間おきに実行されます。ユーザーが質問に答えた後に、更新された統計が使用可能になるわけではありません。ただし、統計は1時間後に更新されます。
回答ロジックのレベル
質問/問題: 「オフ」、「低」、「中」、「高」の違いは何ですか。
回答/解決策: 回答ロジックは、チャレンジ・レスポンス処理でユーザーが入力した回答が登録時に指定した回答と一致するかどうかを判断するためにシステムで使用される、高度な照合アルゴリズムのセットです。回答ロジックのアルゴリズムおよびレベルは、回答の評価での係数です。
回答の評価に使用される回答ロジックのレベル(アルゴリズムの強さまたは強度)は、次のとおりです。
オフ: 回答ロジックは使用されず、回答はユーザーが前に登録した回答と完全に一致する必要があります。
低: 低い回答ロジックであり、ユーザーが指定した回答は、登録時に指定した回答と完全一致またはほぼ一致する必要があります。
中: より高い回答ロジックであり、ユーザーは、指定した回答にある程度の余地を与えられます。たとえば、St.は、Streetとして受け入れられます。
高: 最高レベルの回答ロジックです。一致に関する制約は厳しくありません。
7.3.6.2項「回答ロジックのレベル」を参照してください。
ユーザーの登録済の質問と回答の復号化
質問/問題: カスタマはユーザーの登録済の質問と回答を必要に応じて復号化できますか。
回答/解決策: 登録済の質問と回答の復号化は、いくつかの理由によりサポートされていません。これは主に、セキュリティ上の理由です。これがサポートされると、内部者がすべてのユーザーの質問と回答を調べることが可能になります。チャレンジ質問は、高リスク時にアプリケーションを保護するために使用します。これらの質問が悪用されると、不正な行為に使用される可能性があります。また、KBA回答に個人を識別できる情報が含まれていることもあり、この場合は高レベルの保護が必要となります。セキュリティ上の理由に加えて、プライバシ上の理由もあります。
KBA回答で大/小文字が区別されるか
質問/問題: KBA回答では大/小文字が区別されますか。
回答/解決策: ユーザビリティの理由で、KBA回答では大/小文字は区別されません。ユーザーがチャレンジ質問によるチャレンジを受けるのは中レベルの脅威があるときのみであり、ほとんどのユーザーは業務遂行中に正規のパターンに従うため、定期的にチャレンジを受けることはありません。定期的にチャレンジを受けていないユーザーがチャレンジを受けた場合、チャレンジ質問に対する回答は覚えていても、正確なスペルや大/小文字の区別までは覚えていない可能性があります。このため、KBAにはユーザーの回答を解釈するためのファジー・ロジックが含まれています。回答の基本情報が正しい場合、よくあるスペル間違いや略語などは受け入れることができます。ユーザーが住所の通りの名前の大/小文字の区別を間違っただけで正しい回答とみなされないようでは、チャレンジ質問の有用性が低くなるため、これによって解決策の全体的な効果が大幅に増加します。
ケース管理ログ内のノートが英語で表示される
質問/問題: 「ログ」タブのノートが英語で表示されます。
回答/解決策: 「ログ」タブ内の、ユーザーが追加したのではないノートに対する「ノート」列の値は、デフォルトでは英語で表示されます。
ノートはアクションの列挙のノート・フィールド(プロパティ)から取得されます。そのプロパティの値はデータベースに(ノートとして)保存されます。保存された後は、ユーザーはそのデータを変更できません。
導入によって、列挙プロパティのノートをローカライズされた値にカスタマイズできます。
Access caseは、oaam_resources.properties
ファイル内にあります。
customercare.case.actiontype.enum.accesscase.description=Access case
ケース作成/アクセス・ロジックでは、そのポイントより後のレコードの作成にその文字列を使用します。
質問/問題: タスクを実行し、ダッシュボードで履歴データを参照した後のユーザー・インタフェースに何か違いはありますか。モニター・データのロールアップにより、ダッシュボードは影響を受けますか。
回答/解決策: ダッシュボードに影響するようなことはありません。カットオフ時間がデフォルト設定の場合は、影響が生じるようなことはありません。カットオフ時間をデフォルトより小さく設定すると、ダッシュボードが影響を受けることがあります。たとえば、日次ロールアップを実行し、カットオフ時間を3から1に変更した場合、ダッシュボードの下部にある時間別傾向表示の時間別粒度がいくらか失われます。
セッション内の時間範囲に対する「KBAチャレンジ」統計と「チャレンジ」統計が一致しない
質問/問題: KBAチャレンジのサマリー・ダッシュボード統計が、セッション検索ページの同じ時間範囲に対する「チャレンジ」統計と一致していません。
回答/解決策: これらの件数は、2つのメトリックです。「チャレンジ」統計は、チャレンジされたセッション数の件数です。「KBAチャレンジ」統計は、ユーザーがチャレンジ質問に回答した回数の件数です。
たとえば、ユーザーがログインしてチャレンジを受け、質問の回答を1回間違えた後に正しく回答したとします。このログインに関連するセッション検索ページには1つのセッションが表示されますが、ダッシュボードの「KBAチャレンジ」は2つ増えます。
ログイン・サマリー・レポートに示される失敗したチャレンジの件数が正しくない
質問/問題: 高リスクのユーザーがOAAMサーバーにログインし、チャレンジを受けました。このユーザーは、チャレンジ質問に対して間違った回答を入力しました。CSRによって、Oracle Adaptive Access Managerの「ログインのサマリー」レポートがチェックされ、失敗したチャレンジが参照されます。実際よりも多い件数が表示されます。
回答/解決策: 「成功したチャレンジ」と「失敗したチャレンジ」に表示される合計数は、チャレンジ質問の回答が成功または失敗した回数です。
ルールおよびポリシーの平均処理時間がレポートと一致しない
質問/問題: CSRは、ユーザーのセッション詳細からルール処理回数を取得し、SQL問合せを実行してデータベースから統計を収集します。レポートおよびSQL問合せの数値は、ダッシュボードに表示される数とは異なります。
セッション詳細およびデータベース内の平均処理回数は、パフォーマンス・ダッシュボードに表示された数とは異なります。これらは正確には一致しません。
ダッシュボードに表示される実行件数は、セキュリティの「ルール・ブレークダウン」レポートとは異なります。ダッシュボードには追加のルールが表示されます。(セッション詳細およびセキュリティの「ルール・ブレークダウン」レポートに表示されるルールの方が少なくなります。)
回答/解決策: この不一致の理由は次のとおりです。
ダッシュボードとセキュリティの「ルール・ブレークダウン」レポートに表示される実行件数が異なるのは、ダッシュボードにはルールがトリガーされたかどうかに関係なくルールが処理された回数が表示されるのに対し、セキュリティの「RulesBreakdown」レポートにはルールがtrueを返した回数が表示されるためです。ダッシュボードの値とそのSQL問合せにより戻された値は異なる測定値であるため、通常は値が一致しません。
セッション詳細およびデータベース内の平均処理回数は、パフォーマンス・ダッシュボードに表示された数とは異なります。これらは正確には一致しません。このレポートおよび問合せでは、モニター・データの処理時間の計算方法が異なります。レポートおよび問合せには、モニター・データの数には含まれない設定コードおよび他の処理回数が含まれています。モニター・データには、ルールの処理時間と、作業メモリーへのファクト・アサーションにかかった時間が含まれています。
コマンド行エラー
質問/問題: コマンド行エラーのトラブルシューティングはどのように実行しますか。
回答/解決策: コマンド行エラーのトラブルシューティングの手順は、次のとおりです。
Javaバージョンを確認します。推奨されたバージョンと同じバージョンであることを確認します。たとえば、JDK 1.6などです。
クラス・パスにjar (jps*.jars)があることを確認します。
資格証明ストア内に資格証明を定義します。資格証明はsessions.xmlと似ていますが、定義はファイルではなくOAAMドメインのエンタープライズ管理内にあります。
SIDが正しいことを確認します。
エクスポートのスケジュール
質問/問題: ポリシー、グループおよびルールのエクスポートをスケジュールするためのCRONジョブを作成できますか。
回答/解決策: はい。
スケジュールしたジョブを作成する手順は、次のとおりです。
CLIを使用して、必要なデータをエクスポートするためのスクリプトを作成します。データの正確性をテストします。
ポリシーおよびグループのエクスポートの詳細は、第27章「OAAMコマンドライン・インタフェース・スクリプト」を参照してください。
スクリプトを定期的に実行するためのcronジョブを作成します。
cronジョブの作成の詳細は、次のサイトを参照してください。
次のことに注意してください。
必ず、データベース・パスワードを暗号化します。第27章「OAAMコマンドライン・インタフェース・スクリプト」を参照してください。
ファイルは上書きしないでください。一意の命名規則を使用してください。
バックアップ・プロセスをモニターします。電子メールおよび通知を設定します。
必ず、ディスク領域およびパフォーマンスをモニターします。必要なデータのみをバックアップに含め、多数の要素を含むグループを検索するなどします。
大きいポリシーZIPファイルのインポート
質問/問題: 多数のポリシーを含む大きい(ファイル・サイズが1MBを超える)ポリシーZIPファイルをインポートしようとしましたが、インポートに失敗しました。ログ・ファイルにはエラーが表示されていません。このファイルをインポートするにはどうすればよいですか。
回答/解決策: OAAM管理がWindowsプラットフォームにインストールされている場合、WebLogicをインストールしたドライブに\tmp
フォルダを作成する必要があります。
たとえば、WebLogicドメインがCドライブにある場合は、c:\tmp
フォルダを作成する必要があります。
このフォルダは、大きいファイルをOAAM管理にアップロードするための一時フォルダとして使用されます。
OAAM管理でポリシー、ルール条件およびチャレンジ質問ZIPファイルのインポートに失敗する
質問/問題: OAAM管理で、ポリシー、ルール条件およびチャレンジ質問ZIPファイルのインポートに失敗しました。
回答/解決策: これは、Mozilla FirefoxのMIMEタイプ・マッピングに関連する問題です。環境でZIP拡張子にいずれのアプリケーションもマップされていない場合、Mozillaによって間違ったコンテンツ・タイプがマップされます。回避策の1つは、Firefoxのプリファレンスでファイル・タイプ・マッピングを追加することです。
アップロードするファイルがブラウザに認識されない
質問/問題: Oracle Adaptive Access Managerファイルをインポートしようとすると、それらのファイルがブラウザに認識されません。
回答/解決策: Firefoxがインストールされているオペレーティング・システムにFirefoxのMIMEエントリが存在しない場合、ブラウザは正しいファイル・タイプを認識しません。
アップロードするファイルがブラウザに認識されるように、オペレーティング・システムの/etc/mime.types
ファイル内に、すべてのファイル・タイプ(viz、doc、txt、zipなど)に対するMIMEエントリを追加する必要があります。このエントリを追加すると、ブラウザはファイルを正しく認識できるようになります。
MIMEエントリがオペレーティング・システムに存在していれば、問題はありません。
ファイルの転送中に追加される文字
質問/問題: ファイルの転送/ftp中に、改行"\r"などの文字が追加されます。
回答/解決策: この問題を解決するには、ファイルに対してdos2unix
を実行します。.shファイルを実行する場合は、dos2unix
filename
またはdos2unix . *.*
を使用してください。
「TNS: 適切なサービス・ハンドラが見つかりません。」エラー
質問/問題: データをロードすると、次のエラーが発生します。
TNS:no appropriate service handler found
回答/解決策: データベース内のプロセスの数が最小値に設定されている可能性があります。
次のコマンドを使用して、データベース内に設定されているプロセスの数を確認します。
SQL> show parameter process SQL> alter system set processes=100 scope=spfile;
デバイス登録
質問/問題: ユーザーは、チャレンジ質問登録ページで次のオプションを選択してデバイスを登録できます。
「現在、安全なデバイスとして使用しているデバイスの登録を確認します」
登録フロー中にユーザーがこれをスキップした場合、その後「ユーザー・プリファレンス」ページにオプションが表示されません。これを有効にする方法はありますか。
回答/解決策: デバイス登録は、登録中とチャレンジ中にユーザーにデバイスの登録を求めるように設定されています。
これを有効にするには、ユーザー・プリファレンスの「質問の登録」ページで次のように設定します。
bharosa.uio.default.userpreferences.questions.registerdevice.enabled=true
現在、中央のユーザー・プリファレンスのページでのみデバイスを登録解除できます。
ユーザーは登録中にデバイスを登録できますが、チャレンジを受けているときにデバイスを登録することもできます。
質問/問題: 登録フローでデバイスの登録が表示されません。デバイスIDポリシーはOAAM管理にインポートされています。
回答/解決策: デバイス登録はデフォルトでは有効になっていません。デバイス登録を有効にするには、bharosa.uio.default.registerdevice.enabled
をtrue
に設定する必要があります。
タイム・ゾーン管理
質問/問題: 時間を評価するルールでは、すべてのセッションに対して1つのタイム・ゾーンが使用されますか、それともカスタマのブラウザまたはOSからのタイム・ゾーンが使用されますか。たとえば、ユーザーが営業時間(8:00 am - 6:00 pm)外にログインするとKBAチャレンジを受けるようにルールを設定した場合、これはカスタマのブラウザまたはOSからのタイム・ゾーンに基づいて計算されますか。
Nameuser.timezoneTypeSystemValuePST8PDT user.timezone = PST8PDT oaam.adf.timezone = user.timezone
ルール実行(パターンまたはパターン以外)に使用される日時は、"request_time"に基づいています。これは、リクエスト・ベースのルールで使用される日時と同じです。
オンラインの場合、OAAM管理サーバー時間です。
オフラインの場合、そのリクエストのオフライン・データで指定されている時刻です。
キーストアの数
質問/問題: キーストアはいくつありますか。どれが何に対して使用されますか。
回答/解決策: 次の3つのキーストアがあります。
システム・キーストア: プロパティおよびその他のデータベース関連データの暗号化に使用されます。
データベース: データベース内の列。通常は、パスワード、PIN、トランザクション・データ(クレジット・カード番号など)です。
SOAP/Webサービス: クライアント側でWebサービス・リクエストを認証します。
暗号化される表および列
質問/問題: これらのキーストアを使用してデータベースが暗号化される場合、暗号化されるのはデータベース表または列ですか、それともその両方ですか。
回答/解決策: VCryptPassword表とトランザクション表です。
データの復号化
質問/問題: データを復号化する必要がありますか。いつこれを行う必要がありますか。
回答/解決策: データは必要なときにアプリケーションによって復号化されます。このデータを復号化するために使用できる外部ツールはありません。
暗号化の省略
質問/問題: 暗号化は省略できますか。
回答/解決策: SOAPはオプションです。データベースとシステムは必須です。
ローカライゼーションの有効化と無効化
質問/問題: ローカライゼーションを無効にするにはどうすればよいですか。
回答/解決策: ローカライゼーションを無効にするためのフラグはありませんが、デプロイメントでサポートされているロケールを取得するユーザー定義の列挙はあります。この列挙を使用して、1つのみのロケールを有効化できます。
不要なロケールごとに、locale.enum.XXX.adminSupported
プロパティとlocale.enum.XXX.enabled
プロパティをfalse
に変更します。
Oracle Adaptive Access Managerのデータベース内の文字セット
質問/問題: クライアントが持っているデータベースではUTF8がサポートされておらず、これが共有データベースであるためそのまま保持し、ブラウザのロケール・プリファレンスは無視したいと考えています。
回答/解決策: ブラウザのプリファレンスは制御できないため、ロケール・プリファレンスを無視するようにサーバーを設定するか、常に英語を使用します。
ユーザーごとの言語設定
質問/問題: Oracle Adaptive Access Managerでは、ユーザーごとの言語設定がサポートされていますか。
回答/解決策: 通常、Webアプリケーションはブラウザの言語設定を使用します。
たとえば、ユーザーがスペイン語のブラウザを使用して仮想認証デバイスおよびKBA質問を登録したとします。このユーザーが英語のブラウザを使用してログインした場合、フレーズはスペイン語となり、表示されたKBA質問にはすべてスペイン語で回答することが期待されます。しかし、このユーザーに表示されるKBA質問は、ほとんどのWebアプリケーション・コンテンツで期待されるように英語となります。
Oracle Adaptive Access Manager 10.1.4.5では、プロキシ・タイプのデプロイメントで使用される、エンド・ユーザーが使用するWebアプリケーションに対して、グローバリゼーション・サポートがあります。エンド・ユーザーのブラウザの言語またはロケール設定に基づいて、アプリケーションは、KBA質問、仮想認証デバイスのパーソナライズ(フレーズ)など、画面をどの言語で表示するかを認識できます。KBAのAPIおよび仮想デバイスは、ロケールをパラメータとして受け入れます。
ただし、デプロイメントでネイティブ・アプリケーション統合が使用されている場合は、エンド・ユーザーが使用するカスタムWebアプリケーションを構築する際に機能を組み込む必要があります。このアプリケーションでは、リソース・バンドルが使用される可能性があります。また、サポートされているロケールをパラメータとして渡す間に、KBAおよび仮想認証デバイスAPIがコールされる必要もあります。
カスタム・バックグラウンド・イメージの作成
仮想認証デバイスに対してカスタム・バックグラウンド・イメージを作成するには、次の手順を実行する必要があります。
使用するパッドごとに、イメージを正しい解像度に処理します。
次に、仮想認証デバイスごとにイメージを正しいディレクトリに追加する必要があります。TextPadイメージはTextPadディレクトリに、のように配置する必要があります。ディレクトリは、bharosa.image.dirlist= {oracle.oaam.home}/oaam_images
という形式になります。これは、"/scratch/user/Oracle/Middleware/Oracle_IDM1/oaam/oaam_images"
に解決されます。このディレクトリ内には、keypad、questionpad、textpadという3つのサブディレクトリがあります。
.Net内のAuthentipadイメージに表示される日時スタンプの無効化
日時スタンプを無効化するには、次の行をコメントアウトします。
CreateAuthentiPad API
AuthPad.TimeStampText = DateTime.Now.ToString();
CreateQuestionPad API
TimeStampText = DateTime.Now.ToString();
タイムスタンプを表示します。
例1 (ユーザー定義文字列を表示):
ret.AuthPad.TimeStampText = "monster";
ret.TimeStampText = "muppet";
例2 (現在の時刻を表示):
AuthPad.TimeStampText = DateTime.Now.ToString();
TimeStampText = DateTime.Now.ToString();
KeyPadが表示されない
プロパティbharosa.authentipad.image.urlを確認します。
クライアント・アプリケーションが正しいサーバー・アプリケーションを指し示していることを確認します。
KeyPadの背景にイメージが表示されない
ユーザーがイメージを無効化した可能性があります。
ユーザーのイメージがバックグラウンド・ディレクトリから削除された可能性があります。
プロパティ・ファイルを調べて、バックグラウンド・ディレクトリ設定が正しいことを確認します。
WebLogicコンソールには、アプリケーションに対してsession timeout
を指定するオプションがありますが、OAAM管理ではこの値を変更しても機能しません。session timeout
値は、OAAMのデプロイ時に構成する必要があります。
session timeout
値を構成するための回避策として、デプロイメント・プラン機能を使用してWebLogicアプリケーション・サーバーでweb.xml
session timeout
を構成します。手順は次のとおりです。
既存の非プラン・ベースのデプロイメントからデプロイメント・プランを生成します。
WebLogicデプロイメント・プランの例のURLは、次のとおりです。
http://www.slideshare.net/jambay/weblogic-deployment-plan-example
plan.xmlを編集します。
カスタムsession timeout
に変数定義を分単位で追加します。
... <variable-definition> <variable> <name>mySessionTimeOut</name> <value>60</value> </variable> </variable-definition> ...
目的のWebアプリケーションoaam_admin.war
のweb.xml
を次のようにオーバーライドします。
<module-override> <module-name>oaam_admin.war</module-name> ... <module-descriptor external="false"> <root-element>web-app</root-element> <uri>WEB-INF/web.xml</uri> <variable-assignment> <name>mySessionTimeOut</name> <xpath>/web-app/session-config/session-timeout</xpath> </variable-assignment> </module-descriptor> ...
次に、アプリケーションoaam_admin.ear
を選択し、デプロイメント・リスト内の「更新」ボタンをクリックします。
プラン・パスを選択し、アプリケーションを再デプロイします。
共有ライブラリに関する警告は無視します。
config-root
がアプリケーションのEAR
ディレクトリであることを確認します。
すべてのサーバーを再起動します。
OAAMデータベース・スキーマを新規のスキーマに変更するには、WebLogicデータ・ソースを使用してスキーマを更新する必要があります。
OAAMサーバーを停止します。
次のURLでWebLogicコンソールにログインします。
URL:7001/console
左側のパネルにナビゲートし、「環境」 > 「サーバー」をクリックして、OAAM_Server_Server1をクリックします。
「サービス」タブをクリックします。
OAAM_Server_DSをクリックします。
接続プール・タブをクリックして、新しいスキーマ詳細に変更します。
OAAM_ADMIN Webアプリケーションでも同じ手順を実行します。
サーバーを再起動します。
質問/問題: 10gを11gにアップグレードしてから、ユーザーがチャレンジ質問に回答しようとすると、ユーザーが不正なチャレンジ・レスポンスを行ったというメッセージとともにエラーが表示されます。この問題は新規ユーザーには影響を与えません。
回答/解決策: system_db.keystore
キーは、11gの資格証明ストア・フレームワーク(CSF)に移行されないことがあります。
10g
および11gでのプロパティbharosa.cipher.encryption.algorithm.defaultの値を確認し、10g
および11gの両方で値がDESであることを確認します。
コマンド行で、このプロパティの値をOAAM管理対象サーバーに渡せるか確認します。
プロパティbharosa.cipher.encryption.algorithm.default
のタイプがDatabase
の場合は、OAAM管理コンソールを使用してこのプロパティを削除します。
次のコマンドを実行します。
setenv JAVA_OPTIONS
"-D"bharosa.cipher.encryption.algorithm.default=value_from_10g"
OAAM WebLogic管理対象サーバーoaam_server_server1
とOAAM管理サーバーoaam_admin_server1
を起動します。
サーバー・コンソールで、Starting WLS with line
の次に表示される行を参照して、システム・プロパティとして渡されていることを確認します。
ヘッダーベースのIPアドレスはデフォルトでは受け入れられないため、ヘッダーベースのIPアドレスに対するOAAMセッションはデフォルトでは記録されません。ヘッダーからのIPアドレスの読取りを有効にするには、vcrypt.tracker.ip.detectProxiedIP
をtrue
に設定します。"X-Forwarded-For" IPの使用が有効になります。ヘッダーのIPアドレスを使用可能にする場合、有効なIPアドレスのみを使用します。ヘッダーに無効なIPアドレスが含まれると、実際のリクエストIPアドレスが使用されます。
LBRおよびSNATを有効にしてOAAMを使用する場合、クライアントIPアドレスを保持する必要があります。OAAMはポリシーの評価時にクライアントIPアドレスに依存するため、これは重要です。
次のOAAMプロパティが次のように設定されていることを確認してください。
vcrypt.tracker.ip.detectProxiedIP=true bharosa.ip.header.name=X-Forwarded-For
ロード・バランサでのクライアントIPアドレスの保持の詳細は、Oracle Identity Managementエンタープライズ・デプロイメント・ガイドの「エンタープライズ・デプロイメントのためのネットワークの準備」を参照してください。