Oracle® Fusion Middleware Oracle Adaptive Access Manager管理者ガイド 11gリリース1 (11.1.1) E67347-01 |
|
前 |
次 |
自動学習は、動作をリアルタイムで動的にプロファイリングする、Oracle Adaptive Access Managerの一連の機能です。ユーザー、デバイスおよびロケーションの動作が記録され、現在の動作のリスクを評価するために使用されます。
この章では、次の項で示す自動学習機能の管理と使用を中心に説明します。
この項では、自動学習の概念およびその使用方法について説明します。
自動学習機能を使用すると、様々なアクターが実行するトランザクションおよび認証を、作成したパターンに基づいて追跡できます。このプロセスで、個人または集団の正常または平均的な動作が確立されます。
パターンは、アクセス・データのダイジェストを作成することによって、システムにアクセスするユーザー、デバイスおよびロケーションの動作を記録します。その後、ダイジェストまたはプロファイル情報が履歴データ表に格納され、ルールを使用して現在のリスクを計算するために使用されます。
パターンでは、バケット、メンバー・タイプおよび属性の定義が必要です。また、パターンにより実行されるプロファイリングを付加するようにルールを構成する必要があります。
パターンは、1つのバケットを定義したり、複数のバケットを動的に作成する際に、Oracle Adaptive Access Managerによって使用されます。Oracle Adaptive Access Managerでデータが収集され、パターン・パラメータに基づいてこれらのバケットにメンバーが移入されると、動的に変化するメンバーシップとバケットの分散についてルールによるリスク評価が実行されます。パターンの評価および移入は、トランザクションの結果が成功した場合にのみ行われます。
図17-1に、バケットの作成および移入の例を示します。
従業員のログイン時間を追跡する場合は、次の手順を実行します。
メンバー・タイプを「ユーザー」、属性を「時間」として、パターンを設定します。
パターンの作成方法として、複数バケットを選択します。単一バケット・パターンでは、特定の動作を取得するために1つのみのバケットが作成されるのに対して、複数バケット・パターンでは、動作を取得するためにバケットが必要な数だけ作成されます。
日の開始時刻を0:00、終了時刻を23:59として設定し、増分ステップ・サイズは8時間に設定します。
トランザクション・データおよびログイン・データの処理中、Oracle Adaptive Access Managerによってバケットが必要な数だけ作成され、各メンバーの件数がバケットに移入されます。各バケットは、システム内にすでに存在する他のバケットに基づいて互いに重ならないよう自動的に調整されます。図17-1に示すとおり、Oracle Adaptive Access Managerでは、ログインが発生した8時間間隔で最大3個のバケットが作成されます。
たとえば、Jeffが8:27にログインした場合、7:00から14:59までのバケットでのJeffのカウンタは1増えます。7:00から14:59までの間にこのシステムにログインしたユーザーがいない場合も、Oracle Adaptive Access Managerの処理の一部としてそのバケットが作成されます。この7:00から14:59までのバケットは、以降のすべてのユーザーのログイン時間動作を記録するために使用されます。
作成されたバケットにはその後、それぞれの8時間範囲内に行われるユーザー・ログインが移入されます。
Oracle Adaptive Access Managerでは、Jeffのログインが成功した場合、Jeffがこのコンピュータを使用したことのみが記録されます。これにより、記録される内容が、不正な試行ではなく、Jeffの実際の動作となる可能性が高くなり、Jeffの資格証明を使用したログインであることが確認されます。メンバーシップおよび関連付けられた統計が各ユーザー・プロファイルに保存されます。
動作をプロファイリングするには、メンバーおよび属性が必要です。
メンバーおよび属性は、Oracle Adaptive Access Managerがデータを分析するためのガイドとして機能します。メンバーはシステム内のアクターです。アクターの例として、ユーザー、ログインに使用されるIPアドレスなどがあります。
属性は、追跡中のアクティビティに関連付けられた特定の情報です。例としてログイン時刻をあげることができます。パターンによって、メンバーに関するデータが収集されます。メンバー・タイプが「ユーザー」の場合、パターンによってユーザーに関するデータが収集されます。
パターンを定義する際、メンバーに目的のデータ・ポイントを指定します。
たとえば、サンフランシスコに住むJoeが金曜日の9:00 amに自宅から保護されたアプリケーションにログインする場合、ユーザーJoeに関連する属性は「市区町村」、「時間」および「曜日」となります。Joeがログインに使用したすべての市区町村、時間および曜日の組合せが取得されるようにパターンを構成できます。あるいは、時間、市区町村および曜日がまとめてまたは個別に評価されるように、それぞれに個別のパターンを作成するともできます。選択する構成は、ビジネスのユース・ケースに基づきます。
ログインしたユーザーの市区町村をプロファイリングする場合、プロファイリングする属性は「市区町村」となります。
また、使用するデバイスに基づいてユーザーを追跡する場合は、ユーザーに関する情報を収集する必要があるため、メンバー・タイプを「ユーザー」としてパターンを設定します。各ユーザーが使用しているデバイスを調べる必要があるため、次に属性として「デバイスID」を選択します。
Oracle Adaptive Access Managerでは、メンバーおよびその属性が追跡されるため(そのように構成されている場合)、複雑な動作を取得することが可能です。ただし、多くの場合、パターンは属性の数に関して比較的単純なものにしておき、ルールを使用して、様々な属性を追跡する複数のパターンが関与する複雑な評価を実行することがベスト・プラクティスです。長期的にはこの戦略のほうが柔軟で、管理が容易です。
パターンは管理者が構成し、Oracle Adaptive Access Managerでは、その構成を使用して、必要に応じてバケットを作成します。管理者はどのような方法でも、直接バケットを使用または参照できません。
パターンは、1つまたは複数のバケットを作成できるように構成されます。バケットは、動作の頻度を取得するために使用するコンテナです。ルールによって、これらのバケットのカウンタが特定のメンバーについて評価され、状況が異常であるかどうかが確認されます。
単一バケット・パターンでは、パターンで指定された完全に一致するデータ・ポイントおよび値範囲を持つ1つのバケットが作成および移入されます。
たとえば、国がアメリカ合衆国(属性)のユーザー(メンバー・タイプ)の認証パターンの作成を選択した場合、正確に1つのバケットが作成されユーザーが移入されます。ユーザーがアメリカ合衆国からログインした場合、そのユーザーはバケットのメンバーになり、バケット・カウントが増分されます。そのユーザーがアメリカ合衆国からログインしていない場合、バケット・カウントは増分されません。
別の例として、午前8時から午後5時までの時間(属性)のユーザー(メンバー・タイプ)の認証パターンを作成することを選択した場合、バケットは1つのみ作成され、ユーザーが移入されます。ユーザーが午前8時から午後5時までの間にログインした場合、そのユーザーはバケットのメンバーとなり、バケットの件数が増分されます。ユーザーが午前8時から午後5時までの間にログインしていない場合、バケットの件数は増分されません。
複数バケット・パターンでは、通常単一バケット・パターンよりも多くのバケットが作成されます。パラメータの構成に基づき、必要に応じてバケットが作成されます。
Oracle Adaptive Access Managerでのバケットの作成に使用するデータ型およびサンプルを構成すると、パターンの処理中にOracle Adaptive Access Managerによって動作の取得に必要なバケットが作成されます。
例:
「各」を比較演算子として指定し、国を属性として指定する場合、Oracle Adaptive Access Managerでは、アクティビティが国から発生すると、国ごとにバケットを動的に作成します。いずれかのユーザーがカナダから初めてログインすると、Oracle Adaptive Access Managerによってカナダ・バケットが作成され、そのユーザーがメンバーとして追加され、件数が1になります。その次にカナダからログインしたユーザーは、メンバーとして同じバケットに追加され、件数が1になります。以降は、カナダからユーザーがログインするたびに、カナダ・バケットの件数が増分されます。
バケットは必要になるまで作成されません。増分ステップ・サイズが8で24時間の範囲でユーザーがログインするように選択する場合、最大3個のバケットが作成されます。ログインが発生する8時間のスロットごとに1つのバケットになります。
OAAMでは、パターンおよびパターンが生成するバケットを使用して、個々のユーザー、デバイス、ロケーションなどのそれぞれについて特定の動作が発生する頻度を取得します。パターン・バケットはリアルタイムで更新されるため、これらに照らし合わせてルールを実行することにより、現在の動作が異常であるかどうかを動的に判断できます。ルール評価では、個人の現在の動作と過去の動作を比較することも、個人の現在の動作とすべての個人の過去の動作を比較することもできます。
自動学習機能では、様々なアクター(エンティティ)が実行するトランザクションおよび認証を、作成したパターンに基づいて追跡します。このプロセスで、個人または集団の正常または平均的な動作が確立されます。
注意: トランザクション・パターンは、データ値ではなくエンティティ値に基づく定義のみが可能です。
この例では、Johnのログイン動作がJohn自身のプロファイルおよびすべてのユーザーのプロファイルに対して評価されています。
バケット評価の例
この例では、ユーザー、デバイスおよびIPログイン時間動作を取得するためのパターンを作成しました。4時間のサンプルで24時間全体をカバーするバケットを作成するように、複数バケット・パターンを構成しました。各時間範囲内でログイン・アクティビティが発生したため、OAAMでは最終的に4つの時間バケットが作成されました。
バケット | 時間範囲 |
---|---|
バケット#1 |
0:00から4:59 |
バケット#2 |
5:00から8:59 |
バケット#3 |
9:00から16:59 |
バケット#4 |
17:00から23:59 |
1か月の記録後、4つの時間バケットが作成され、バケットには、メンバーおよび各メンバーの件数が移入されました。3つのエンティティには次のバケット・メンバーシップがあります。
エンティティ | メンバーシップ |
---|---|
ユーザーA |
#3 |
デバイスX |
#2, #3, #4 |
IP Y |
#2, #3 |
メンバーシップの評価によって、次の結果が生じます。
注意: これらのシナリオは連続するものではありません。それぞれが別個のシナリオです。 |
シナリオ | リスク |
---|---|
ユーザーAがデバイスXを使用してIP Yから3:37にログインする場合 |
リスクは非常に高い(#1には何もなし) |
ユーザーAがデバイスXを使用してIP Yから18:07にログインする場合 |
中 - リスクは高い(#4にはデバイスあり) |
ユーザーAがデバイスXを使用してIP Yから8:27にログインする場合 |
リスクは中程度(#2にはデバイスとIPあり) |
ユーザーAがデバイスXを使用してIP Yから11:15にログインする場合 |
リスクは非常に低い(#3にはすべてあり) |
次のパラグラフでは、最初のシナリオについてさらに詳しく説明します。
ユーザーAが3:37にログインし、以前のログインが9:00から16:59の間のみだった場合、バケット#1のメンバーではないためリスクが高まります。デバイスXを使用し、その以前の使用が5:00から23:59の間のみだった場合、ユーザーAとデバイスXはバケット#1のメンバーではないためリスクが高まります。さらに、IP Yを使用し、その以前の使用が5:00から16:59の間のみだった場合、ユーザーA、デバイスXおよびIP Yはすべてバケット#1のメンバーではないため同様にリスクが高まります。リスク評価に関与する3つの主要コンポーネントのすべてがバケット#1にないため、リスク・レベル全体が非常に高いことになります。重要なのは、この例では、これらの各要素が時間プロファイルのメンバーシップに対して単独で評価されることを重視している点です。
バケットの作成と移入、およびカウンタの増分は、トランザクションが正常に完了したときにのみ行われます。
例
Joeは、3つの市区町村(自宅、オフィスAおよびオフィスB)からログインします。市区町村パターンにより、各市区町村からログインした頻度が記録されます。
バケット | ロケーション |
---|---|
市区町村バケット#1 |
自宅 |
市区町村バケット#2 |
オフィスA |
市区町村バケット#3 |
オフィスB |
Joeの会社では、先月に使用していない市区町村からログインしたユーザーが、2つの連続するセッションで、OTPのチャレンジを受けるようにする必要があります。JoeがオフィスBでの勤務を37日間停止し、その市区町村の他のどの場所からもアクセスしていない場合、Joeがその市町区村から次にログインするときに、OTPのチャレンジを受けます。このユース・ケースを実現するには、先月の現在の市区町村バケットのメンバーシップ件数をチェックするようにルールを構成します。件数のしきい値は、最後のローリング月の期間でユーザーが2回以上メンバーになるまでこのルールがトリガーされるように2に設定されます。
この章は、トピック別の項で構成されています。以前に自動学習を使用したことがある場合、この章は必要に応じた順序で使用してください。
システムのプロファイリングおよび自動学習を有効にするには、次の手順を実行します。
エンティティがインポートされていることを確認します。
17.3.1項「認証に関連するベース・エンティティのインポート」を参照してください。
自動学習プロパティを有効化します。
第17.3.2項「自動学習プロパティの有効化」を参照してください。
サーバーに自動学習ポリシーをインポートします。
パターンを作成します。
システムでパターン・データの収集を開始できるように、パターンを定義して属性を追加し、パターンをアクティブ化および有効化します。
17.9項「パターンの作成と編集」を参照してください。
最後に、ルール評価でパターンを使用します。
自動学習の使用の詳細は、17.12項「自動学習データ/プロファイリング・データの使用」を参照してください。
自動学習が有効になっており、機能していることを確認するには、第31章「FAQ/トラブルシューティング」を参照してください。
自動学習機能を使用する前に、17.1項「概要と概念」をよくお読みください。この項は、この章に示されている概念を理解するのに役立ちます。
自動学習機能を使用するには、次の手順を実行する必要があります。
認証の際に追跡されるアクターは認証エンティティと呼ばれ、ユーザー、市区町村、デバイスなどが含まれます。これらのベース・エンティティは、パターンに使用される条件を有効にする際に必要となります。自動学習機能を使用する前に、これらのベース・エンティティをシステムにインポートする必要があります。2.6項「OAAMスナップショットのインポート」を参照してください。
サーバーにエンティティをインポートするには:
第20.2項「エンティティ検索ページへのナビゲート」の説明に従って、エンティティ検索ページにナビゲートします。
「エンティティのインポート」をクリックします。
「パターンのインポート」ダイアログで「参照」をクリックして、Auth_EntityDefinition.zipを見つけます。
「OK」をクリックします。
OAAM管理にそのファイル内のエンティティが表示されます。
これらすべてを選択してインポートします。
OAAMでプロファイリング・データが収集されるように、自動学習を有効化します。
トランザクションおよび認証のモニタリングに自動学習を使用するためには、ネイティブ統合クライアントで、自動学習フラグを使用するupdateStatus APIまたはupdateTransaction APIを使用する必要があります。あるいは、ネイティブ統合では、自動学習の対象となるセッション・データを処理するためのprocessPatternAnalysis APIを使用することもできます。
APIにより、OAAMにユーザー・アクティビティ(ログインまたはトランザクション)に関する情報を提供できます。たとえば、カスタマ・ログインが完了したときやログインがブロックされたときなどには、updateAuthStatusまたはupdateTransactionがコールされます。
UpdateAuth Status APIの場合、analyzePatternsの値をtrueに設定すると、ログインのパターン処理がトリガーされます。何も値が渡されない場合は、falseの値とみなされます。認証ステータスの値(resultStatus)がsuccessであり、analyzePatternsの値がtrueの場合、OAAMではユーザーのデータが処理され、そのユーザーの自動学習データとプロファイリング・データが収集されます。認証ステータスがsuccessの場合、ログインごとに自動学習が1回のみ実行されます。認証またはトランザクションのステータスがsuccessでない場合、バケットは更新されません。バケットが更新されない場合、その自動学習ルールで使用されるデータが正確でなくなる可能性があります。
自動学習APIの詳細は、付録B「パターン処理」を参照してください。
次の操作に対するユーザー・フローを示します。
次の手順では、新しいパターンの作成フローを示します。
パターンを検索します。
パターンが存在する場合は、パターンの詳細を確認します。
パターンが存在しない場合は、新しいパターンを作成します。
パターン名、メンバー・タイプ、評価優先度および説明を指定します。
属性を追加します。
検証エラーがない場合、新しいパターンが正常に作成されます。
次の手順では、パターンの編集フローを示します。
注意: パターンを編集すると、そのパターンに基づいてすでに収集されたデータが使用できなくなる可能性があります。たとえば、ユーザーがパターンを編集して属性の1つを削除した場合、削除した属性がこのパターンに対して過去に作成されたバケットで考慮されていたため、以前に収集されたデータを使用できなくなることがあります。 |
パターンを検索します。
パターンが存在する場合は、パターンの詳細を確認します。
詳細を変更します。
属性を追加します。
検証エラーがない場合、パターンの編集は正常に完了します。
パターン検索ページにナビゲートする手順:
Fraud Preventionで、ナビゲーション・ツリーを開きます。
「パターン」をダブルクリックします。
パターン検索ページが表示され、デフォルトの検索基準に基づく結果が示されます。
検索ページを開く他の方法については、3.9項「検索、作成およびインポート」を参照してください。
パターンの管理は、パターン検索ページから開始します。パターン検索ページからは、次の操作を実行できます。
パターンの検索
パターンのリストの表示
新規パターンの作成
パターンの削除
パターンのアクティブ化
パターンの非アクティブ化
パターンのインポート
パターンのエクスポート
パターンを検索するには:
第17.5項「パターン検索ページへのナビゲート」の説明に従って、パターン検索ページにナビゲートします。
図17-6に、パターン検索ページの例を示します。
パターン検索ページには、「検索」セクションと、検索基準と一致したパターンのサマリーを示す「結果」表が表示されます。
検索フィルタでパターンを見つけるための基準を指定して、「検索」をクリックします。
検索フィルタ基準については、表17-1で説明します。
検索パラメータをデフォルト設定にリセットする場合は、「リセット」ボタンを使用します。
表17-1 検索フィルタの基準
フィールド | 説明 |
---|---|
パターン名 |
パターンの名前。パターン名の全部または一部を入力できます。 |
評価優先度 |
収集されたデータが評価される優先度。
|
パターン・ステータス |
|
トランザクション・タイプ |
デフォルトは「認証」(ログイン)です。トランザクション・パターンは、データ値ではなくエンティティ値に基づく定義のみが可能です。 |
作成方法 |
作成されたパターンのバケット・タイプ。
|
「検索結果」表に、「評価優先度」、「パターン名」、「パターン・ステータス」および「トランザクション・タイプ」フィールドで指定した基準に一致するパターンのサマリーが表示されます。
サマリーに作成方法を含める場合は、「表示」リストの追加フィールド・リストから「作成方法」を選択します。
「パターン」列ヘッダーをクリックすると、すべてのパターン名が昇順または降順でソートされます。すべての列に対してソートを実行できます。
ユーザー・インタフェースに説明の一部が表示されていない場合、ツールチップを使用するとパターンの完全な説明が表示されます。
パターン詳細ページにナビゲートするには、次の手順を実行します。
パターン検索ページが開いていない場合は、第17.5項「パターン検索ページへのナビゲート」の手順を実行します。
17.6項「パターンの検索」の手順に従って、目的のパターンを検索します。
「検索結果」表のパターン名にはリンクがあります。
パターン名をクリックすると、特定のパターンのパターン詳細ページが表示されます。
パターン詳細からは、パターンの作成後にメンバー・タイプを選択してパターン名、パターン・ステータス、評価優先度および説明を変更したり、属性を追加したり、パターン使用ポイントを表示できます。
この項では、パターンの表示について詳しく説明します。
パターン検索ページでパターン名をクリックすると、特定のパターンのパターン詳細ページが表示されます。手順については、17.7項「パターン詳細ページへのナビゲート」を参照してください。
パターン詳細ページには、パターンの一般詳細(パターン名、ステータス、メンバー・タイプ、評価優先度、説明など)が表示されます。
パターン詳細ページには、次の3つのタブが表示されます。
サマリー: パターン名、ステータス、トランザクション・タイプなどの一般詳細が表示されます。
属性: 定義、ステータス、説明などの属性詳細が表示されます。
タブには属性の数が(カッコ付きで)表示されます。
この項では、パターンを作成および編集する方法について説明します。この章の内容は、次のとおりです。
自動学習およびパターン作成のベスト・プラクティス
自動学習およびパターン作成のベスト・プラクティスは、次のとおりです。
自動学習の構成: 管理者は、動作の追跡には計算能力や記憶領域が必要となることに留意し、最大の効果が得られるように慎重にシステムを構成する必要があります。
パターン作成のベスト・プラクティス: パターンを作成するときは、システム内の他のパターンによって同じ種類の情報が収集されていないことを確認する必要があります。たとえば、ユーザーおよびIPのログイン時間情報を収集するパターンを作成し、続いてユーザーおよびログイン時間に関する別のパターンを作成すると、同じ情報を収集するパターンが2つ作成されます。
Oracle Adaptive Access Managerを常に最新の状態に保ち、進化するオンラインのセキュリティ脅威に対処するためのベスト・プラクティス: 自動学習テクノロジは、変化するアクティビティおよび動作に合わせて自動的に調整されます。たとえば、自動学習により、各ユーザーおよびすべてのユーザーの通常の動作がプロファイリングされます。このようにして、セキュリティ・ポリシーは、ユーザーがどのように行動するかを推測するのではなく、ユーザーの実際の行動に基づいてリアルタイムで動的に調整されます。自動機能に加えて、セキュリティ・ポリシーを定期的に確認して、ユーザーが予想どおりの動作をしているか確認することをお薦めします。
パターンの使用量が多い場合: 複数のパターンに異なる評価優先度を割り当てることができます。たとえば、ログイン・パターンを「高」に設定し、それ以外のパターンを「低」に設定できます。
評価プロパティの場合: パフォーマンスが低下するため、すべてのパターンの評価優先度を「高」に設定することは避けてください。
新しいパターンを作成する手順
新しいパターンを作成するには、次の手順を実行します。
「トランザクション・タイプ」以外の値はすべて、パターン詳細ページで後から変更できます。
「トランザクション・タイプ」、「作成方法」、「メンバー・タイプ」、「評価優先度」および「説明」は、必須フィールドです。
第17.5項「パターン検索ページへのナビゲート」の説明に従って、パターン検索ページにナビゲートします。
パターン検索ページで、「新規パターン」ボタンまたは「新規」アイコンをクリックします。
「新規パターン」ページを開く他の方法については、3.9項「検索、作成およびインポート」を参照してください。
「新規パターン」ページで、パターン名を入力します。
一意のパターン名を入力する必要があります。
トランザクション・タイプを選択します。
デフォルトは「認証」です。
トランザクションベースのパターンのサポートは制限されます。トランザクション・パターンは、データ値ではなくエンティティ値に基づく定義のみが可能です。(トランザクション自体のデータ要素を使用してパターンを作成することはできません。エンティティに属するデータ要素のみになります。)それらのパターンに基づいてルールを作成することはできません。
「作成方法」リストから、パターンを作成するために使用する方法を選択します。
メンバー・タイプを選択します。
メンバー・タイプは、データ取得の対象となるアクターです。
たとえば、メンバー・タイプとして「市区町村」を選択した場合、作成されたパターンによって市区町村データが収集されます。
評価優先度を選択します。
評価優先度は、データが評価される優先度です。「高」と「低」の2つの評価優先度があります。
高
このカテゴリでは、優先度が「低」の場合と比べて、パターン・データの処理に使用できるリソース量が2倍になります。
リソースには、処理リソースおよびデータベース・リソースが含まれます。
低
このカテゴリでは、優先度が「高」の場合と比べて、パターン・データの処理に使用できるリソース量が半分になります。
優先度の高いパターンの処理が完了する確率は、優先度の低いパターンが完了する確率の2倍です。
説明を入力します。
「適用」をクリックします。
「サマリー」タブと「属性」タブで構成されるパターン詳細ページが開きます。
データベースにすでに存在するパターンを作成しようとすると、エラーが発生します。
別のパターンと同じメンバー名を使用してパターンを作成しようとすると、次のメッセージが表示されます。「同じメンバー構成のパターンがすでに存在します。新規パターンを作成しますか。」「はい」と回答すると、パターンを作成できます。
パターンは作成後すぐに有効になり、パターン詳細ページが表示されます。パターンを編集または確認できます。
パターンは、属性なしでも作成できます。
属性を追加します。
詳細は、17.9.2項「属性の追加」を参照してください。
属性の詳細は、17.1.3項「メンバー・タイプおよび属性」を参照してください。
パターンをアクティブ化します。
パターンをアクティブ化するには、17.9.3.1項「パターンのアクティブ化」を参照してください。
ルール評価でパターンを使用するには、17.12項「自動学習データ/プロファイリング・データの使用」を参照してください。
自動学習が機能していることを確認するには、第31章「FAQ/トラブルシューティング」を参照してください。
属性の詳細は、17.1.3項「メンバー・タイプおよび属性」を参照してください。
属性を追加するには、次の手順を実行します。
パターンのパターン詳細ページが開いていない場合は、第17.8.1項「特定のパターンの詳細の表示」の手順を実行します。
「属性」タブで、「検索結果」ツールバーの「追加」ボタンをクリックします。
「属性の追加」ダイアログで、「追加」リストから属性を選択します。
メンバー・タイプに目的の属性(データ・ポイント)を選択します。OAAMによって属性に関するデータが収集され、メンバーがプロファイルに属しているかどうかが判断されます。
たとえば、メンバー・タイプとして「ユーザー」を選択し、属性を「IP」(NNN.N.N.N)、「市区町村」(Redwood City)および「登録済」(False)にした場合、OAAMでは、ユーザーがこれらすべての属性に一致した場合(ユーザーのIPアドレスがNNN.N.N.N、住所がRedwood Cityで、ユーザーが登録されていない場合)に記録されます。このプロファイリングは、ユーザーのリスクを評価するために使用できます。
たとえば、OAAMでユーザーおよびIP (メンバー・タイプ)のログイン時間を追跡する場合、属性として「時間」を選択します。
追加した属性は、リスト内でそれ以降選択可能として表示されなくなります。
属性の条件情報を指定します。
「ステータス」を選択します。
たとえば、パターン・メンバーシップに使用する属性に関するデータをOAAMで収集する場合は、「アクティブ」を選択します。
説明を入力します。
たとえば、「このパターンによって、ユーザーおよびIPのログイン時間を追跡するバケットが作成されます」のように入力します。
比較演算子を選択します。
たとえば、24時間の範囲でデータを収集する場合、開始値を0、終了値を23として範囲を指定します。
比較演算子のリストは、選択した属性値およびパターン・タイプ(複数バケットまたは単一バケット)によって異なります。
比較演算子の詳細は、17.19項「パターン属性演算子リファレンス」を参照してください。
「増分ステップ」を入力します。
サンプル・サイズ(間隔)
たとえば、2時間間隔にする場合は2を指定します。
「追加」をクリックします。
「属性」タブで、必要に応じて矢印コントロールを使用して属性を並べ替えます。
「順序」は必須ではなく、自動的に事前入力されます。
「適用」をクリックします。
属性が正常にパターンに追加されたというメッセージを示すダイアログが表示されます。
「OK」をクリックしてダイアログ・ボックスを閉じます。
この項では、パターンをアクティブ化および非アクティブ化する方法について説明します。
アクティブなパターンを選択すると、そのパターンを非アクティブ化するためのオプションが有効になります。また、非アクティブなパターンを選択すると、そのパターンをアクティブ化するためのオプションが有効になります。
第17.5項「パターン検索ページへのナビゲート」の説明に従って、パターン検索ページにナビゲートします。
パターン検索ページで、目的の検索基準を入力して「検索」をクリックします。詳細は、17.6項「パターンの検索」を参照してください。
アクティブ化するパターンごとに、行を選択します。
「アクティブ化」ボタンを押します。
パターンの無効化は、非常に慎重に行ってください。無効化するパターンがいずれかのポリシーで使用されているかどうかは、システムによりチェックされません。
パターンが無効になると、データ収集は停止されます。
また、ルールが実行され、ルール条件で使用されているパターンがアクティブになっていない場合、条件は(trueに戻すように構成されている場合を除き)falseに評価されます。
パターンを非アクティブ化するには、パターン検索ページから、非アクティブ化するパターンごとに行を選択し、「非アクティブ化」ボタンを押します。
パターン詳細ページからパターンを非アクティブ化するには、「非アクティブ化」ボタンを押します。
パターンの編集は慎重に行ってください。編集後、そのパターンに基づいてすでに収集されたデータが使用できなくなる可能性があります。たとえば、属性の1つを削除したが、そのパターンに対して過去に作成されたバケットで削除した属性が考慮されていた場合、データは使用できなくなります。
編集するパターンのパターン詳細ページが開いていない場合は、第17.7項「パターン詳細ページへのナビゲート」の手順を実行します。
パターン名、評価優先度および説明を変更するには、パターン詳細ページの「サマリー」タブで該当するフィールドを編集します。
ステータスを変更するには、目的のステータスを選択します。
パターンのステータスを変更するには、17.9.5項「パターン・ステータスの変更」を参照してください。
メンバー・タイプを追加または変更します。
詳細は、17.9.6項「メンバー・タイプの追加または変更」を参照してください。
メンバー・タイプの詳細は、17.1.3項「メンバー・タイプおよび属性」を参照してください。
評価優先度を変更します。
評価優先度を変更するには、17.9.7項「評価優先度の変更」を参照してください。
属性を追加するには、17.9.2項「属性の追加」を参照してください。
属性の詳細は、17.1.3項「メンバー・タイプおよび属性」を参照してください。
属性を編集するには、17.9.8項「属性の編集」を参照してください。
属性を削除するには、17.9.9項「属性の削除」を参照してください。
「適用」をクリックします。
「アクティブ」がデフォルトのパターン・ステータスですが、希望のステータスに変更できます。
次のパターン状態があります。
アクティブ
データを収集する必要がある場合、パターンはアクティブな状態であることが必要です。
非アクティブ
パターンは完了したがデータ収集を行わない場合は、「非アクティブ」を選択します。
未完了
パターンの作成は完了したが、選択する属性をまだ決定していない場合は、「未完了」を選択します。この状態ではデータは収集されません。
無効
このパターンを使用しない場合は、「無効」を選択します。この状態ではデータは収集されません。
削除済
パターンは削除されましたが、データの整合性を維持するため、システムはこのレコードを保持する必要があります。この状態のパターンに対する自動学習データ分析は実行されません。
注意: 「削除済」ステータスの使用はお薦めしません。このステータスは、今後のリリースで使用できなくなる可能性があります。 |
追加または変更するメンバー・タイプは複数選択できます。
別のパターンと同じメンバーを選択しようとすると、次のメッセージが表示されます。「同じメンバー構成のパターンがすでに存在します。新規パターンを作成しますか。」「はい」と回答すると、パターンを作成できます。
メンバー・タイプの詳細は、17.1.3項「メンバー・タイプおよび属性」を参照してください。
メンバー・タイプを追加または変更するには、次の手順を実行します。
パターンのパターン詳細ページが開いていない場合は、第17.7項「パターン詳細ページへのナビゲート」の手順を実行します。
「サマリー」タブで、データを取得するアクターを追加または変更します。
たとえば、ユーザーに関する情報を収集する場合、メンバー・タイプはユーザーです。
パターンのパターン詳細ページが開いていない場合は、第17.7項「パターン詳細ページへのナビゲート」の手順を実行します。
「サマリー」タブで、評価優先度を変更します。
属性を編集するには、次の手順を実行します。
パターン詳細ページの「属性」タブをクリックします。
編集するパターンのパターン詳細ページが開いていない場合は、第17.8.1項「特定のパターンの詳細の表示」の手順を実行します。
「属性」ページで、編集する属性を選択します。
属性詳細を編集し、「保存」をクリックします。
必要に応じて属性を並べ替えます。
「適用」をクリックします。
パターンの削除は慎重に行ってください。たとえば、属性の1つを削除したが、そのパターンに対して過去に作成されたバケットで削除した属性が考慮されていた場合、データは使用できなくなります。
属性を削除するには、次の手順を実行します。
パターン詳細ページの「属性」タブをクリックします。
編集するパターンのパターン詳細ページが開いていない場合は、第17.8.1項「特定のパターンの詳細の表示」の手順を実行します。
「属性」ページで、パターンから削除する「属性」の横のチェック・ボックスをクリックします。
「削除」をクリックします。
属性を削除すると、その属性が「追加」リストに追加され、次回に「属性」を選択するときに使用可能になります。
他のアプリケーションとの間でパターンをインポートおよびエクスポートできます。この項では、パターンをインポートおよびエクスポートする方法について説明します。
第17.5項「パターン検索ページへのナビゲート」の説明に従って、パターン検索ページにナビゲートします。
パターン検索ページで、「パターンのインポート」をクリックします。
「パターンのインポート」ダイアログで「参照」をクリックして、インポートするパターン・ファイルを見つけます。
「OK」をクリックします。
独自のパターン・インポート・ファイルを作成することはできません。パターンをエクスポートする際に使用される拡張子は".zip"であり、使用できるのはzip形式のファイルのみです。それ以外のファイル(.xmlファイルなど)をパターン・インポート・ファイルとしてインポートすることはできません。
第17.5項「パターン検索ページへのナビゲート」の説明に従って、パターン検索ページにナビゲートします。
パターン検索ページで、目的の検索基準を入力して「検索」をクリックします。詳細は、17.6項「パターンの検索」を参照してください。
エクスポートするパターンごとに、行を選択します。
「アクション」メニューから「選択項目のエクスポート」を選択します。
「パターンのエクスポート」ダイアログで、「エクスポート」をクリックします。
「保存」ダイアログで「OK」をクリックします。
アクティブなパターンが存在し、それによってデータが収集された場合、そのパターンを削除することはできません。
パターンを削除できるのは、データおよびルールとのアソシエーションがない場合のみです。次のメッセージが表示されます。「このデータを使用しているパターン・データまたは関連ルールがあり、非同期となる可能性があります。更新しますか。
複数のパターンを削除するように選択した場合、それらのパターンの一部が他のシステムで使用されていたり、他のシステムにリンクされていると、次の警告メッセージが表示されます。「次のインスタンスはリンクされており、削除できません。それ以外のパターンを削除しますか」。「はい」と回答すると、リンクされていないパターンが削除されます。
パターンを削除するには:
第17.5項「パターン検索ページへのナビゲート」の説明に従って、パターン検索ページにナビゲートします。
パターン検索ページで、目的の検索基準を入力して「検索」をクリックします。詳細は、17.6項「パターンの検索」を参照してください。
削除するパターンごとに行を選択し、「削除」ボタンを押します。
削除するように選択したパターンがポリシーで使用されておらず、リンクされてもいない場合、確認を求める警告メッセージが表示されます。「はい」と回答すると、これらのパターンが削除されます。
パターンを構成(メンバーおよび属性のあるバケットを作成)してアクティブ化し、データの収集を開始すると、自動学習を使用できるようになります。
自動学習データを処理するようにOAAMを設定する方法については、次の各項で説明します。
自動学習条件を使用するポリシーを作成します。
ポリシーを作成する手順については、17.13.1項「ユース・ケース: ログイン時間が通常と異なるユーザーに対するチャレンジ」を参照してください。
自動学習条件に対して、作成したパターンを関連付けて、要件に応じて条件パラメータを変更します。
収集されたプロファイリング・データを使用して特定の計算を実行する自動学習には、固有の条件があります。これらの条件は自動学習プロファイリング・データにのみ適用され、他のリスク分析に使用することはできません。
詳細は、17.13.4項「ユース・ケース: 1日の特定時間のユーザー・ログインがX回を超える」を参照してください。
ルールにより、選択したパターンが評価され、自動学習処理が実行されます。
自動学習条件の詳細は、付録C「条件リファレンス」を参照してください。
ログイン/トランザクションを実行し、セッション詳細を確認して、作成されたポリシーがトリガーされ、パターンおよびバケットのデータが収集されることを確認します。
パターンが適切に機能しているかどうかを判断する方法については、第17.13.2項「ユース・ケース: パターンのテスト」を参照してください。
この項では、自動学習およびパターンのサンプル・ユース・ケースについて説明します。
JeffはDollar Bankのセキュリティ管理者です。ユーザーが通常と異なる時間にログインした場合、OTPのチャレンジを受けるようにする必要があります。このために、セキュリティ・ポリシーと、関連付けられたグループ、ルールおよびパターンを構成する必要があります。
Jeffはパターンでの操作を開始します。このユース・ケースで焦点を当てているのはユーザーの動作であるため、ユーザーがメンバーとなっているパターンの検索を実行します。
ユーザーがメンバーとなっているパターンが2つあることがわかりました。どちらにもこのユース・ケースに適した時間範囲属性がないため、Jeffは新しいパターンを作成する必要があります。
Jeffは、メンバー・タイプがユーザーで、評価優先度が第1である複数バケット・ログイン・チェックポイント・パターンを作成します。次に、時間範囲属性(0:00から23:0まで)とステップ・サイズ4を追加します。このパターンによって、ユーザーがログインすると6個の時間範囲バケットが作成されて移入されます。
Jeffは、すでにシステム内に存在する「認証後」チェックポイント・ポリシーを検索します。これは4個存在しています。OTPのチャレンジを受けるようにするために、OTPのチャレンジ結果を持つ他のルールを含むポリシーが必要となります。
次に、バケット・メンバーシップを評価するためのルールが必要になります。Jeffは、最後の指定期間中にメンバーが現在のバケットに含まれる率が、指定率を下回っているかどうかを評価するルールを検索します。該当するルールが見つからないため、時間条件の率未満のバケット内のユーザーを使用するルールを作成します。
Jeffは、そのルールをポリシーに追加し、パターンをリンクします。
次に、アクション・グループおよびアラート・グループをリンクする必要があります。Jeffは、OTPのチャレンジ・アクションを含むアクション・グループを検索します。すでに1つ存在しているため、そのグループをルールにリンクします。
アラート・メッセージ・テキスト内に"時間" (time)が含まれるアラート・グループを検索します。デバイスがログインに失敗した回数(times)が10回を超えたことを示すアラート・テキストのアラートが含まれたアラート・グループが1つ見つかりました。このアラートは該当するルールに適していないため、新しいアラート・グループおよびアラートを作成することにします。
Jeffは、アラートに対して新しいアラート・グループを作成します。次に、新しい中程度のアラートをこのグループに追加し、「ユーザーが過去3か月以内にこのログイン時間バケットに含まれていた時間が5%未満でした」というテキストを指定します。
最後に、Jeffはアラート・グループをルールにリンクします。
システムへのログインを実行して、自動学習を開始します。
Jeffはセキュリティ管理者として、ユース・ケースで構成したパターン(17.13.1項「ユース・ケース: ログイン時間が通常と異なるユーザーに対するチャレンジ」)が適切に機能しているか確認する必要があります。
パターンをテストするには:
ある日の9:30 amに新しいテスト・ユーザーを作成し、正常なログインを7回実行します。
同じ日の午後3時に、正常なログインを3回実行します。
翌日、午後7時にログインすると、OTPのチャレンジを受けます。
これは、ユーザーが午後7時のバケットに含まれていたのが、先月の時間の5%未満だったためです。
ポリシーおよびパターンを本番システムに1か月間適用した後、ルール評価でのバケット処理が正確かどうかを確認します。Jeffは、「ユーザーが過去3か月以内にこのログイン時間バケットに含まれていた時間が5%未満でした」というアラートが発生したセッションを検索することにより、ルールをトリガーしたユーザーを調べるレポートを実行します。
次に、そのうちいくつかを選択し、先月のこのパターンのバケット・メンバーシップを検索します。
これにより、Jeffは、アラートをトリガーしたセッションの時刻が、先月の時間の5%以上含まれていたバケットとは異なるバケットに含まれていたことがわかります。このことから、ポリシー構成およびパターンが意図したとおりに機能していることを確認できます。
JeffはDollar Bankのセキュリティ管理者です。標準昼間勤務に基づいて、従業員の時間外アクセスを追跡する必要があります。このために、時間どおりに動作ベースのプロファイリングを行うためのパターンを作成する必要があります。
このパターンによって、ユーザーのログイン時間が3つの8時間バケットにプロファイリングされます。
第17.5項「パターン検索ページへのナビゲート」の説明に従って、パターン検索ページにナビゲートします。
パターン検索ページで、「新規パターン」ボタンをクリックします。
「パターンの作成」ダイアログで、「ユーザー: 勤務時間」というパターン名を入力します。
「トランザクション・タイプ」として「認証」を選択します。
「作成方法」リストから、「複数バケット」を選択します。
「メンバー・タイプ」として「ユーザー」を選択します。
「評価優先度」として「第1」を選択します。
説明を入力します。
「OK」をクリックします。
確認メッセージが表示されます。
「OK」をクリックします。
パターン詳細ページが表示されます。
「属性」タブをクリックします。
このタブでは、追跡するユーザー動作の属性を追加または編集できます。ドロップダウン・リストに表示される使用可能な属性から選択します。
属性ページで、「追加」ボタンをクリックします。
「属性の追加」ダイアログで、ドロップダウン・リストに表示される使用可能な属性から「時間」を選択します。
属性詳細を編集します。
「ステータス」として「アクティブ」を選択します。
説明を入力します。
たとえば、「これにより3つの8時間バケットが作成されます」のように入力します。
比較演算子の範囲を、開始値を0、終了値を23として選択します。
「増分ステップ」として8を入力します。
「追加」をクリックします。
「適用」をクリックします。
OAAMによって、動作に必要な数のバケットが作成されます。
JeffはDollar Bankのセキュリティ管理者です。午前10時から午後5時の間のユーザーのログインが3回を超えた場合にアラートで通知を受ける必要があります。このために、ユーザーと時間をプロファイリングするパターンと、アラート・グループを作成する必要があります。
メンバー・タイプをユーザーとして、TimeLog10AM-5PM_PSという名前の単一バケット・パターンを作成します。
属性として「時間」を追加します。
「比較演算子」は「範囲」です。
「開始値」は10 (午前10時)です。
「終了値」は17 (午後5時)です。
ルールがトリガーされたときにアラートを使用してシステムの異常または情報が通知されるように、アラート・グループを作成します。
アクション・グループおよびアラート・グループの詳細は、第12章「グループの管理」を参照してください。
「認証後」チェックポイントで自動学習条件を使用するポリシーを作成します。
条件を使用するポリシー内にルールを作成して、パターンに関連付けます。
ルールに自動学習条件「エンティティ: エンティティはN回にわたるパターンのメンバーです」が含まれることを確認します。
条件の値を入力します。
ラベル | 名前 | デフォルト |
---|---|---|
次を超えるパターン・ヒット件数 |
次を超えるパターン・ヒット件数 |
3 |
メンバーシップのパターン名 |
メンバーシップのパターン名 |
TimeLog10AM-5PM_PS |
ユーザーのパターン・ヒット件数より多いメンバーシップ件数 |
isMoreThan |
true |
パターン・メンバーシップの期間タイプ |
パターン・メンバーシップの期間タイプ |
時間 |
パターン・メンバーシップの期間タイプ |
パターン・メンバーシップの期間タイプ |
1 |
パターン・メンバーシップのメンバー・タイプ |
パターン・メンバーシップのメンバー・タイプ |
ユーザー |
ルールの結果としてアラート・グループを追加します。
ユーザー・グループへのリンクをグループ化します。
4回目のログインからアラートが生成されることを確認します。
JeffはDollar Bankのセキュリティ管理者です。曜日およびデバイスに基づいて、従業員のログインを追跡する必要があります。このために、曜日、ユーザーおよびデバイスのログインをプロファイリングするパターンを作成する必要があります。
Joeが月曜日にログインすると、JoeのユーザーIDおよび使用しているコンピュータのデバイスIDが、月曜日バケットに1回追加されます。Fredが同じコンピュータを使用して月曜日にログインすると、FredのユーザーIDおよびコンピュータのデバイスIDが1回追加されます。この時点で、月曜日バケットにはJoeの1件とFredの1件、およびデバイスの2件が含まれます。その後、ルール条件を使用してバケット・メンバーシップが評価されます。
ルールは、複数のメンバー・タイプのうち1つのメンバー・タイプを評価するように作成できます。
例:
Joeが過去2か月間に火曜日にログインした時間は、5%未満です。
Joeおよびこのコンピュータが過去2か月間に火曜日にログインした時間は、5%未満です。
複数のメンバー・タイプを含むが、それぞれのメンバーが別々にプロファイリングされるようにパターンを設定するには、次の手順を実行します。
ユーザーおよびデバイスをエンティティとしてパターンを作成します。属性は「該当週の日」となり、属性の演算子は「各」となります。
バケットの移入を適切に指定します。
使用する条件は、「(自身のデータと比較して)率より少ないパターン(フィンガープリント)のエンティティ・メンバーです」です。
詳細は、C.2.1.2項「パターン(認証): エンティティは一定期間内で特定の率より少ないパターンのメンバーです」を参照してください。
ルールを1つ作成します。
ルール内のパーセント値を5%に設定します。
このルール内のパターンとして、手順1で説明したパターンを設定します。
「エンティティ」を「ユーザー」に設定します。
「期間」を2に設定します。
「期間タイプ」を「月」に設定します。
他の値はデフォルトのままにしておきます。
別のルールを作成します。
ルール内のパーセント値を5%に設定します。
このルール内のパターンとして、手順1で説明したパターンを設定します。
今度は「エンティティ」を「デバイス」に設定します。
「期間」を2に設定します。
「期間タイプ」を「月」に設定します。
他の値はデフォルトのままにしておきます。
Joeの会社では、ユーザーがメンバーでない市区町村からログインした場合にOTPのチャレンジを受けるようにする必要があります。
Joeは、3つの市区町村(自宅、オフィスAおよびオフィスB)からログインします。市区町村パターンにより、各市区町村からログインした頻度が記録されます。
バケット | ロケーション |
---|---|
市区町村バケット#1 |
自宅 |
市区町村バケット#2 |
オフィスA |
市区町村バケット#3 |
オフィスB |
Joeの会社では、先月に使用していない市区町村からログインしたユーザーが、2つの連続するセッションで、OTPのチャレンジを受けるようにする必要があります。JoeがオフィスBでの勤務を37日間停止し、その市区町村の他のどの場所からもアクセスしていない場合、Joeがその市町区村から次にログインすると、OTPのチャレンジを受けます。このユース・ケースを実現するには、先月における現在の市区町村バケットのメンバーシップ件数がチェックされるようにルールを構成します。最後のローリング月の期間でユーザーが2回以上メンバーになるまでこのルールがトリガーされるように、件数のしきい値を2に設定します。
ユーザーがメンバーでない市区町村からログインした場合にOTPのチャレンジを受けるようにシステムを設定するには、次の手順を実行します。
アクターを「ユーザー」、属性を「市区町村」、比較演算子を「各」としてパターンを作成します。
条件「エンティティは指定された期間内のN回未満のバケットのメンバーです」を使用します
条件のルール・パラメータを次のように設定します。
「パターン名」は、作成したパターンです。
「期間タイプ」は「月」です。
「期間」は1です。
「件数」は3です。
演算子(必要な場合)は「次より小さい」です。
ユーザーが先月(過去30日間)にその市区町村を使用した回数が2回以下の場合、このルールがトリガーされ、ユーザーはチャレンジを受けます。
自動学習は、プロファイリング、データ収集およびそのチェックに加えて、システムでユーザーの動作に基づいた処理が行われるように適応されます。条件および指定率は変更されません。
毎日カリフォルニアから銀行アプリケーションにログインしているユーザーが、銀行に通知することなくシアトルに異動したとします。このユーザーがシアトルから初めてログインする際には、チャレンジを受けます。2回目も、ある市区町村から1か月間にログインした回数が合計ログイン回数の50%未満なので、再びチャレンジを受けます。システムにより、シアトルはこのユーザーが通常ログインする場所でないことが認識されます。不便ではありますが、ここでこれを障害とは考えないでください。再びチャレンジを受けると、ユーザーの操作性は低下します。
このため、ユーザーに対するチャレンジを停止する必要のある率が設定されるように、条件を構成する必要があります。以降はユーザーが毎回シアトルからログインするため、チャレンジを停止する必要があることを、システムが自動的に判断する必要があります。
3回目にシアトルからログインすると、チャレンジを受けません。3か月後にカリフォルニアに行ってログインすると、チャレンジを受けます。これは、システムにログインしているのがこのユーザーであることを確認するために行われたものです。
例
ユーザーが1か月以内にある市区町村からログインした時間が50%未満の場合にKBAチャレンジを受けるようにシステムを設定する必要があります。
市区町村ごとに、UserLoginsCityという名前の複数バケット・パターンを作成します。
「メンバー・タイプ」は「ユーザー」です。
「属性」は「市区町村」で、「比較演算子」は「各」です。
ユーザーが異なる市区町村からログインすると、市区町村ごとにバケットが作成されます。
メンバーシップが%未満の市区町村それぞれについて、ユーザーがKBAチャレンジを受けるようにアクション・グループを作成します。
「認証後」チェックポイントで自動学習条件を使用するポリシーを作成します。
条件を使用するポリシー内にルールを作成して、パターンに関連付けます。
このルールによって、パターンに属するユーザーのメンバーシップの率が計算されます。
ルールに自動学習条件「エンティティ: エンティティは特定の率より少ないパターンのメンバーです」が含まれることを確認します。
この条件の詳細は、「パターン(認証): エンティティは一定期間内で特定の率より少ないパターンのメンバーです」を参照してください。
条件の値を入力します。
ラベル | デフォルト |
---|---|
次より小さいパターン・ヒット率 |
50 |
メンバーシップのパターン名 |
UserLoginsCity |
patternHitPercentより少ないメンバーシップ件数 |
True |
パターン・メンバーシップの期間タイプ |
月 |
パターン・メンバーシップの期間 |
1 |
パターン・メンバーシップのメンバー・タイプ |
ユーザー |
ルールの結果としてアクション・グループを追加します。
ユーザー・グループへのリンクをグループ化します。
1か月以内にユーザーがある市区町村からログインした回数が合計ログインの50%未満の場合、ユーザーはチャレンジを受けます。
(手動で作成した)単一バケット・パターンでは、1つのバケットが作成され、パターンで指定されている正確なデータ・ポイントと値範囲が移入されます。業界の専門知識に基づいて高リスクとみなされる動作を指定してパターンを作成できます。
次のカテゴリに分類されるトラフィックをOAAMで検索できるように、バケットを構成できます。
午前8時から午前10時までのパターン
新しいロケーション
新規デバイス
このユーザーが所有していない新しい振替口座の作成
新しい口座への電信送金
この特定の組合せは非常に不正リスクが高いことがすでにわかっているため、このパターンが検出された場合にはSMSを介してOTPのチャレンジを行う必要があります。
セキュリティ管理者は、ユーザーのログインの頻度が低い(具体的には1か月のログイン回数が2回未満の)都道府県からログインした場合にユーザーがチャレンジ質問を受けるようなポリシーを構成する必要があります。
結果にスコアとアラートが含まれる必要があります。
このシナリオでパターンを使用する理由
この評価には、プロファイリング(パターン)と、これらのパターンを評価するためのルールが関連します。
このシナリオでパターンを使用する理由は、次のとおりです。
ルールにより動作の頻度を追跡する場合、特に評価に月や年が必要となる場合は、頻度を評価する期間が比較的長くなる可能性があります。このような場合は、ルールで大きい問合せを実行して結果を取得する必要はないため、パターンを使用することをお薦めします。Oracle Adaptive Access Managerによって、ユーザーが現在含められている都道府県バケットのメンバーかどうか、およびそのバケットに含められた頻度を確認するためのバケット処理がチェックされます。
別のリスク評価タイプに対して、他のルールで都道府県または都道府県の使用頻度を追跡するパターンを使用できます。同じパターンを使用することにより、パフォーマンス低下の原因となるオーバーヘッドを回避できます。
手順
OAAM管理に管理者としてログインします。
ナビゲーション・ツリーで「パターン」をダブルクリックします。パターン検索ページが表示されます。
「新規パターン」ボタンをクリックします。
次のようなパターンを作成します。
作成方法: 複数バケット
メンバー・タイプ: ユーザー
評価優先度: 高
説明: 都道府県の使用と頻度を追跡するためのパターン
「作成」をクリックします。
「属性」タブをクリックします。
「追加」ボタンをクリックします。
「属性の追加」ダイアログで、属性として「都道府県」を選択して「次」をクリックします。
次に表示されるページで、「比較演算子」として「各」を選択して「追加」をクリックし、「OK」をクリックします。
比較演算子「各」を選択すると、ユーザーがログインしたすべての都道府県がプロファイリングされます(都道府県ごとにバケットが作成され、バケットに含められたユーザーが移入されます)。
ナビゲーション・ツリーで「グループ」をダブルクリックします。
「新規グループ」をクリックします。「グループの作成」ダイアログが表示されます。
StateNotUsedOften
という新しいアラート・グループを作成します。
グループ名: 使用頻度の低い都道府県
グループ・タイプ: アラート
キャッシング・ポリシー: フル・キャッシュ(グループがルールおよび条件で使用されるため)
「作成」をクリックし、「OK」をクリックします。グループ詳細ページが表示されます。
グループ詳細ページの「アラート」タブで、「メンバーの追加」をクリックします。
メンバーの追加ページで、新規要素の作成を選択します。
「アラート・タイプ」としてカスタマ・ケアを選択します。
「アラート・レベル」として「中」を選択します。
「アラート・メッセージ」ボックスにアラート・メッセージを入力します。
たとえば、「ユーザーが1か月に使用した回数が2回未満の都道府県からログインしています」のように入力します。
「追加」をクリックして、新しいアラートを作成してアラート・グループに追加します。
確認ダイアログが表示されたら、「OK」をクリックしてダイアログを閉じます。
ナビゲーション・ツリーで「ポリシー」をダブルクリックします。ポリシー検索ページが表示されます。
使用可能な認証後ポリシーを検索します。
ベスト・プラクティスでは、KBAチャレンジは認証後チェックポイントで発生します。
ルールを作成した結果、KBAチャレンジが生成されるため、これを「認証後」チェックポイントに配置する必要があります。また、このルールは実行前に、KBA登録のチェックが指定されたポリシー内に配置しておく必要があります。
ポリシーを詳細ページで開き、「ルール」タブをクリックします。
「追加」をクリックします。
ルールを計画します。
トリガーされた場合にユーザーがKBAチャレンジを受けるようなルールを作成する必要があるため、このルールは他のルール・チャレンジを含むポリシーに含める必要があります。
ルールの結果としてKBAチャレンジが生成されるため、このルールに設定および構成したスコアリングを、そのルールのアクションや結果、および評価されるそのルールの重大度と関係付けることをお薦めします。状況の重大度、ルールをトリガーするアクション、およびルールにより生成されるスコアは互いに比例する必要があります。
ルールによって、ユーザーが最近使用していない都道府県からログインしていても、その状況が不正を表しているとはかぎらないかどうかがチェックされます。この状況は中リスクの1つであり、ブロックではなくKBAチャレンジを使用するのはそのためです。KBAチャレンジは、500から700のリスク範囲のスコアに適しています。この例では、スコア600を指定します。OTPチャレンジは、701から900の範囲のスコアに適しています。900以上のスコアの場合、トリガーされるアクションは「ブロック」である必要があります。ユーザーは、スコアが500未満の場合に続行を許可される必要があります。
サマリー情報を入力し、「結果」タブをクリックします。
「スコア」として600
を入力します。
「重み」として100
を入力します。
「アクション」として「ChallengeQuestionPad」を選択します。
「アラート」として「StateNotUsedOften」を選択します。
「条件」タブをクリックします。
「追加」をクリックし、「パターン(認証): エンティティはN回にわたるパターンのメンバーです」を選択します。
次の値を入力します。
ラベル | 名前 | デフォルト |
---|---|---|
次を超えるパターン・ヒット件数 |
次を超えるパターン・ヒット件数 |
2 |
メンバーシップのパターン名 |
メンバーシップのパターン名 |
ユーザー: 都道府県 |
ユーザーのパターン・ヒット件数より多いメンバーシップ件数 |
isMoreThan |
false |
パターン・メンバーシップの期間タイプ |
パターン・メンバーシップの期間タイプ |
月 |
パターン・メンバーシップの期間タイプ |
パターン・メンバーシップの期間タイプ |
1 |
パターン・メンバーシップのメンバー・タイプ |
パターン・メンバーシップのメンバー・タイプ |
ユーザー |
「保存」をクリックして変更を保存します。
確認ダイアログに操作のステータスが表示されます。
「OK」をクリックして、確認ダイアログを閉じます。
Acmeは小規模なビジネス・グループであり、クライアントはすべてその市区町村に属し、都道府県から出る頻度は少ないと予測されます。このビジネス・グループは他の都道府県から行われたすべてのログインを追跡する必要があるため、ユーザーに対するチャレンジを設定し、他の都道府県からログインしたユーザーが有効なユーザーかどうかを確認するための高アラートをトリガーできます。ユーザーが有効な場合、そのユーザーが次回に別の都道府県からログインしたときにチャレンジを受けないように、ユーザーをユーザーを許可グループに追加します。
自動学習プロパティをtrueに設定します。
vcrypt.tracker.autolearning.use.auth.status.for.analysis
vcrypt.tracker.autolearnin.enabled
パターンによりこの都道府県外から行われたすべてのログインが追跡されるように、次のパラメータを設定して単一バケット・パターンを作成します。基本的にカウンタは、別の都道府県からログインが行われるたびに増分します。
トランザクション・タイプ: 認証
属性: 都道府県
比較演算子: 次に含まれない
値の比較: 都道府県名
メンバー・タイプ: ユーザー
評価優先度: 第1
ルール条件にこのパターンを使用します。
ルールを作成します。
条件「エンティティ: エンティティはN回にわたるパターンのメンバーです」を追加します。
次を超えるパターン・ヒット件数: 件数
メンバーシップのパターン名: パターン名
patternHitCountForUserより多いメンバーシップ件数: True
パターン・メンバーシップの期間タイプ: 時間
パターン・メンバーシップの期間: 1
パターン・メンバーシップのメンバー・タイプ: ユーザー
ポリシーおよびルールを保存します。
異なる都道府県からのログインを数回シミュレートします。ユーザーがチャレンジを受け、高アラートがトリガーされるはずです。
ユーザーをホワイト・ユーザー・グループに追加します。
このユーザー・グループを、ルール内の事前条件の「除外ユーザー・グループ」に追加します。
ポリシーおよびルールを保存します。
手順5を繰り返します。ホワイト・ユーザー・グループ内のユーザーはチャレンジを受けません。
この項では、即時利用可能な自動学習プロパティおよびそのデフォルト値を示します。
プロパティ | デフォルト値 | プロパティ・タイプ | 動的かどうか | コメント |
---|---|---|---|---|
vcrypt.bharosa.autolearning.numPriorities |
2 |
整数 |
いいえ |
これにより、スレッドプールの数が優先度の数として作成されます。これらのスレッド・プールは、自動学習データの後処理に使用されます。この数値は1より大きい必要があります。 |
vcrypt.bharosa.autolearning.threadMultiplier |
7 |
整数 |
いいえ |
この数字は、後処理用のスレッド数を作成するために使用されます。これらのスレッドは、自動学習データの後処理に使用されるスレッド・プールの一部です。この数値は必ず5以上にしてください。 |
vcrypt.tracker.autolearnin.enabled |
true |
ブール |
はい |
このフラグは、製品レベルのステータスを制御するために使用されます。値をfalseに設定すると、自動学習の後処理の一部が無効になります。ルールの実行は続行されますが、失効データを使用している場合があります。 |
vcrypt.tracker.autolearning.use.auth.status.for.analysis |
false |
ブール |
はい |
このフラグは、クライアント・コードにより自動学習APIが明示的にコールされない場合に使用されます。自動学習(後処理)を実行するが、クライアント・コードは変更しないようにする場合、このフラグをtrueに設定すると、認証タイプがupdateAuthStatusの要求について、その認証要求のステータスが「成功」である場合に自動学習処理が実行されます。ただし、ステータスが「成功」でない場合は、自動学習は実行されません。このフラグをfalseに設定して自動学習ルールを実行すると、失効したデータに対してルールが実行されます。このフラグがfalseに設定された状態で自動学習ルールが実行され、com.bharosa.vcrypt.tracker.rules.impl.VCryptTrackerAutoLearningImplクラスに対してログ・レベルがdebugに設定されている場合、このプロパティは無効であり、ルールは引き続き実行されるというメッセージがログに書き込まれます。 |
vcrypt.tracker.autolearning.use.synchronous.execution.for.pattern.analysis |
false |
ブール |
はい |
このプロパティは、パターン分析を同期モードで行うかどうかを制御します。trueに設定した場合、パターン分析は同期的に実行されます。すべてのパターン・データの更新は同じupdateStatusコールの一部として実行されるため、updateAuthStatusまたはupdateTransactionStatusコールでは完了までにより長い時間がかかる場合があります。 |
vcrypt.tracker.autolearning.update.entity.profile.for.auth.patterns |
true |
ブール |
はい |
このプロパティをfalseに設定した場合、エンティティのプロファイルはパターン分析の一部としては更新されません。 |
bharosa.menu.queries.entities |
false |
ブール |
はい |
このフラグは、履歴データを表示するためのメニュー・アイテムをOAAM管理コンソールに表示するかどうかを決定します。 |
bharosa.arm.pagetitle.queries.entities.patternworkflow |
文字列 |
はい |
パターン履歴データのメニューのデフォルト位置です。この履歴データ・ページを使用して、パターン・データ収集が適切に機能しているかどうかを確認します。 |
自動学習が機能しているかどうかを簡単に確認するには、次の手順を実行します。
認証関連のベース・エンティティがインストールされており、次のプロパティがtrueに設定されていることを確認します。
vcrypt.tracker.autolearnin.enabled
vcrypt.tracker.autolearning.use.auth.status.for.analysis
パターンが定義されてアクティブになっていることを確認します。メンバー・タイプが「ユーザー」、属性が「時間」、「市区町村」、「都道府県」または「国」であるパターンが1つ以上存在する必要があります。「時間」を選択した場合、演算子として「範囲」を選択します。それ以外の属性を選択した場合、演算子として「各」を選択します。このパターンをテスト・パターンとして使用できるように、1つのみの属性を選択する必要があります。
OAAMサーバーに数回ログインします。
v_fprints表に対して次のデータベース問合せを実行します。
実行
"select * from v_fprints where pattern_id is not null and create_time > sysdate - 1/96"
これにより、過去15分間に作成したパターン・ベースのフィンガープリントが戻されます。
実行
"select * from vt_wf_days where fprint_id in (select fprint_id from v_fprints where pattern_id is not null and create_time > sysdate - 1/96) "
これによりレコードが戻され、レコードの本日の「日」列に正の整数が示されている場合は、自動学習が機能しています。注意: 本日の日付が15日の場合、このデータベース問合せにより戻されたレコードのDay_15列を調べます。
ルールがトリガーされたかどうかを確認するには、ユーザーを追跡する時間ベースのパターンを作成します。
ポリシー(認証後)を作成し、ユーザーの初回バケット・ルールをそれに追加します。時間ベースのパターンを選択し、他の値はすべてデフォルトのままにしておきます。
ポリシーを保存します。
新しいユーザー名を使用して、オーセンティケータからのログインを実行します。
自動学習処理が機能している場合は、前述のポリシーに追加したルールがトリガーされます。
この後、同じ時間内に再び同じログインを実行します。
自動学習ルールが機能している場合、この2回目のログインに対してはルールがトリガーされません。
デバッグ・レベルまでロギングするための重要なクラスを次にまとめます。
表17-2 自動学習のクラスおよびロギング
クラス名/ロガー | デバッグ・ロギングで実行される処理 |
---|---|
com.bharosa.vcrypt.tracker.autolearning.VCryptAuthPatternAnalysisRequest AND com.bharosa.vcrypt.tracker.autolearning.VCryptTransactionPatternAnalysisRequest |
リクエストの処理中にデバッグ・ログが印刷されます。自動学習リクエストを処理するために必要な時間(ミリ秒)が印刷されます。すべての関数のエントリ・ポイントおよび終了ポイントが、受信パラメータおよび送信パラメータとともに記録されます。 |
com.bharosa.vcrypt.tracker.rules.impl.VCryptTrackerAutoLearningImpl |
自動学習ルールの処理中にデバッグ・ログが印刷されます。セッションと関連してログを追跡できるように、ログ文とともにリクエストIDが出力されます。すべての関数のエントリ・ポイントおよび終了ポイントが、受信パラメータおよび送信パラメータとともに記録されます。 |
com.bharosa.vcrypt.tracker.autolearning.VCryptAutoLearningRulesUtil |
このクラスは、自動学習ルール内のロジックの大部分を実装します。セッションと関連してログを追跡できるように、ログ文とともにリクエストIDが出力されます。すべてのデータベース問合せも出力されます。データベース問合せに必要な時間が、ログ文に示された時間からわかります。すべての関数のエントリ・ポイントおよび終了ポイントが、受信パラメータおよび送信パラメータとともに記録されます。 |
この項では、パターン属性に関する情報を示します。
表17-3 パターン属性
名前 | 説明 | タイプ | 演算子 | 有効な値 | バケット | コメント(適用可能なルール) |
---|---|---|---|---|---|---|
dayOfMonth |
該当月の日(第1日目は1、最終日は月によって異なる) |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
1から31まで |
複数バケット |
ユーザー - 自身およびすべて |
monthOfTheYear |
該当年の月(1月は0、12月は11) |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
0から11まで |
複数バケット |
ユーザー - 自身およびすべて |
接続タイプ |
認証リクエストの接続タイプ。この属性の値は、接続タイプを示す正の整数です。接続タイプの例には、光接続、無線接続、ダイアルアップ接続、T1/T3タイプの接続、DSL接続、ケーブル接続などがあります。接続タイプの詳細は、location.connection.type.enumを参照してください。 |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
lookup location.connection.type.enum |
複数バケット |
|
接続スピード |
認証リクエストの接続スピード。この属性の値は、接続スピードを示す正の整数です。接続スピードの例には、高、中、低などがあります。詳細は、connection.linespeed.enumを参照してください。 |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
lookup connection.linespeed.enum |
複数バケットのみ |
|
ルーティング・タイプ |
認証リクエストの接続ルーティング・タイプ。この属性の値は、ルーティング・タイプを示す正の整数です。ルーティング・タイプの例には、POP、プロキシ、AOLなどがあります。ルーティング・タイプの詳細は、location.routing.type.enumを参照してください。 |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
lookup location.routing.type.enum |
複数バケットのみ |
|
ブラウザ |
認証リクエストに使用するブラウザ。ブラウザの例には、Mozilla、Operaなどがあります。 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
任意の文字列値 |
複数バケットのみ(単一であることはほとんどない) |
|
オペレーティング・システム |
認証リクエストに使用するオペレーティング・システム。オペレーティング・システムの例には、UNIX、Linux、Windowsなどがあります。 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
任意の文字列値 |
複数バケット |
|
ロケール |
認証リクエストに使用するロケール。ロケールの例には、en_US、fr_CN、en_GBなどがあります。 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
任意の文字列値 |
複数バケットのみ |
|
デバイス・フィンガープリント識別子 |
認証リクエストに使用可能なデバイス・フィンガープリント識別子。この数字は、この認証リクエストに対してユーザーが使用するデバイスに基づいて計算されます。 |
LONG型 |
「各」、「次と等しい」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「次と等しくない」、「範囲」 |
任意の正数(java.lang.Long) |
複数バケット |
|
Cookie有効化ステータス |
このブール変数は、この認証リクエストについてユーザーのデバイスやブラウザでCookieが有効であるか無効であるかを追跡します。 |
ブール |
「各」、「次と等しくない」、「次と等しい」 |
trueまたはfalse。 |
複数バケット |
ユーザー - 自身 |
Cookieステータス |
この変数は、デバイスやブラウザCookieのステータスを追跡します。これは、ブラウザCookieのステータスに対応する正の整数です。ステータスの例には、学習モード(0)、有効化(1)および無効化(2)などがあります。Cookie状態の詳細は、cookie.state.enumを参照してください。 |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
lookup cookie.state.enum |
複数バケット |
ユーザー - 自身 |
画面解像度(Flashに基づく) |
この変数は、ユーザーが使用する画面解像度を追跡します。例の1つとして、1600x1200 (ピクセル)があります。 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
任意の文字列値。通常、解像度はMxNのように表示されます(例: 1600x1200)。 |
複数バケットのみ |
デバイス - 自身 |
カラー画面(Flashに基づく) |
この変数は、ユーザーのデバイスにカラー画面が備わっているかどうかを追跡します。 |
ブール |
「各」、「次と等しくない」、「次と等しい」 |
trueまたはfalse。 |
複数バケット |
デバイス - 自身 |
音声エンコーダ(Flashに基づく) |
この変数は、ユーザーのデバイスに音声エンコーダが備わっているかどうかを追跡します。 |
ブール |
「各」、「次と等しくない」、「次と等しい」 |
trueまたはfalse。 |
複数バケット |
デバイス - 自身 |
アクセシビリティ(Flashに基づく) |
この変数は、ユーザーのデバイスにアクセシビリティの対策が備わっているかどうかを追跡します。 |
ブール |
「各」、「次と等しくない」、「次と等しい」 |
trueまたはfalse。 |
複数バケット |
ユーザー - 自身 |
音声対応(Flashに基づく) |
この変数は、ユーザーのデバイスに音声機能が備わっているかどうかを追跡します。 |
ブール |
「各」、「次と等しくない」、「次と等しい」 |
trueまたはfalse。 |
複数バケット |
デバイス - 自身 |
国 |
国 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
任意の文字列値 |
単一バケットおよび複数バケット |
|
都道府県 |
都道府県 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
任意の文字列値 |
単一バケットおよび複数バケット |
|
市区町村 |
市区町村 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
任意の文字列値 |
単一バケットおよび複数バケット |
|
時間 |
ユーザーがログインした時間 |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
整数値(0から23まで) |
複数バケット |
ユーザー - 自身およびすべて |
曜日 |
曜日(日曜日は1、土曜日は7) |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
整数(1から7まで) |
単一バケットおよび複数バケット |
ユーザー - 自身およびすべて |
ASN |
インターネット上の自律システムの一意の識別子。ユーザーが別のASNに属している場合、別のバケットとして追跡できるため、他の比較演算子と同様に「各」を使用できます。この属性では、ユーザーにはASNがわからない(ASNが公開されていない)ため、「次と等しい」比較演算子は使用できません。 |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
正の整数 |
複数バケット |
|
ユーザーID |
ユーザーの識別番号 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
文字列値 |
複数バケット |
|
グループID |
グループ識別番号 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
任意の文字列値 |
複数バケット |
|
デバイスID |
デバイス識別番号 |
整数 |
「次と等しい」、「次と等しくない」、「各」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「範囲」 |
任意の文字列値 |
複数バケット |
|
リモートIP |
これは、認証の発生元となるIPアドレスです。ユーザー、アノニマイザ、プロキシまたはゲートウェイなどの実際のIPで、エンド・ユーザーの接続先になります。 |
文字列 |
「各」、「次に含まれる」、「次に含まれない」、「次と相似」、「次と相似でない」 |
形式a.b.c.d |
複数バケット |
|
登録済 |
この属性は、"isRegistered"基準に基づいてユーザーを追跡する必要があるかどうかを追跡します。したがって、ユーザーが登録済ユーザーである(登録を完了している)場合は一方の方法で扱われ、登録済ユーザーではない(登録を完了していない)場合は別の方法で扱われます。 |
ブール |
「各」、「次と等しくない」、「次と等しい」 |
trueまたはfalse。 |
複数バケット |
ユーザー - 自身 |
ISP |
インターネット接続サービス・プロバイダのID。 |
LONG型 |
「各」、「次と等しい」、「次より小さい」、「次以下」、「次より大きい」、「次以上」、「次に含まれる」、「次に含まれない」、「次と等しくない」、「範囲」 |
任意の正数 |
複数バケット |
|
この項では、パターン属性演算子に関する情報を示します。
以降の例で、「曜日」属性と「市区町村」属性を使用して演算子の機能を示します。
曜日に対応する数字は次のとおりです。
1 = 日曜日
2 = 月曜日
3 = 火曜日
4 = 水曜日
5 = 木曜日
6 = 金曜日
7 = 土曜日
Oracle Adaptive Access Managerでは、必要に応じてバケットが動的に作成されます。指定した基準が初めて満たされたとき、Oracle Adaptive Access Managerによってその基準に対するバケットが作成され、アクターがメンバーとして追加されて、件数が1になります。その次に基準が満たされると、アクターがメンバーとして同じバケットに追加されて、件数が1になります。それ以降は、基準が満たされるたびにバケットのカウンタが増分されます。
「各」属性を設定した場合、この属性の固有の値ごとにバケットが作成されます。
ユーザーが「各」を指定し、属性として「曜日」を指定した場合、曜日ごとに必要に応じて動的にバケットが作成され、ログインが行われるたびにバケットの件数が更新されます。
「次と等しい」演算子を設定した場合、属性値が「値の比較」フィールドで指定されている値と等しい場合にのみ、バケットが作成されて件数が更新されます。
ユーザーが属性として「曜日」を指定し、「値の比較」フィールドに7 (土曜日)を入力した場合、ユーザーが土曜日にログインすると、土曜日に対するバケットが作成されて、件数が更新されます。それ以外の曜日は、指定された基準を満たしません。
「次より小さい」演算子を指定した場合、属性値が「値の比較」フィールドで指定されている値よりも小さい場合にのみ、バケットが作成されて件数が更新されます。
ユーザーが属性として「曜日」を指定し、4 (水曜日)を入力した場合、ユーザーが日曜日、月曜日および火曜日にログインするたびに、日曜日(曜日1)、月曜日(曜日2)および火曜日(曜日3)に対する単一バケットが作成され、そのバケットの一部としてカウントされます。
「次より大きい」演算子を指定した場合、属性値が「値の比較」フィールドで指定されている値よりも大きい場合にのみ、バケットが作成されて件数が更新されます。
ユーザーが属性として「曜日」を指定し、3 (火曜日)を入力した場合、水曜日(曜日4)、木曜日(曜日5)、金曜日(曜日6)および土曜日(曜日7)に対してのみ単一バケットが作成され、件数が更新されます。火曜日(曜日3)のユーザーにはバケットは作成されず、件数も更新されません。
「次以下」演算子を指定した場合、属性値が「値の比較」フィールドで指定されている値以下の場合にのみ、バケットが作成されて件数が更新されます。
ユーザーが属性として「曜日」を指定し、3 (火曜日)を入力した場合、ユーザーが日曜日(曜日1)、月曜日(曜日2)および火曜日(曜日3)にログインした場合にのみバケットが作成され、件数が更新されます。「次以下」の値が3の場合、火曜日(曜日3)もバケット移入基準を満たしています。
「次以上」演算子を指定した場合、属性値が「値の比較」フィールドで指定されている値以上の場合にのみ、バケットが作成されて件数が更新されます。
ユーザーが属性として「曜日」を指定し、3 (火曜日)を入力した場合、ユーザーが火曜日(曜日3)、水曜日(曜日4)および木曜日(曜日5)、金曜日(曜日6)および土曜日(曜日7)にログインすると、バケットが作成されて、件数が更新されます。「次以上」の値が3の場合、火曜日もバケット移入基準も満たしています。
「次と等しくない」演算子を設定した場合、認証属性またはトランザクション属性がユーザーにより「値の比較」フィールドに指定された値と等しくない場合に、バケットが作成されて件数が更新されます。
曜日の例では、ユーザーが1の値(日曜日)を指定した場合、日曜日(曜日1)以外のすべてのログインに対して単一バケットが作成されます。
「次に含まれる」演算子は「次と等しい」演算子と似ていますが、「値の比較」フィールド内のカンマで区切られたすべての値が等価比較に使用されます。曜日の例では、ユーザーが「1,2,3,4,5」と入力した場合、日曜日(曜日1)から木曜日(曜日5)までに行われたすべてのログインに対して単一バケットが作成されます。
「次に含まれない」演算子は、「次に含まれる」の逆の機能を持ちます。曜日の例では、ユーザーが曜日に「1,2,3,4,5」の値を入力した場合、金曜日(曜日6)と土曜日(曜日7)に対してのみ単一バケットが作成されます。
「次と相似」演算子は、文字列タイプの属性にのみ適用可能かつ有効です。ユーザーのログインの属性に「市区町村」を使用し、ユーザーが「市区町村」属性に"San"を指定した場合、ユーザーが"San Francisco"、"Santa Clara"、"San Jose"および"Sangamner"からログインすると、単一バケットが作成されて、件数が更新されます。
「次と相似」では、文字列属性の値が、ユーザーが指定した値と比較されます。
「次と相似でない」演算子は、文字列タイプの属性にのみ適用可能かつ有効です。ユーザーのログインの属性に「市区町村」を使用し、ユーザーが「市区町村」属性に"San"を指定した場合、ユーザーが"San Francisco"、"Santa Clara"、"San Jose"および"Sangamner"からログインしてもバケットは作成されず、件数も更新されません。ユーザーがRedwood City、Austin、および名前に"San"を含まないその他の市区町村からログインした場合、このパターンに対する単一バケットが作成され、更新されます。
「範囲」は通常、数字とともに使用します。
ユーザーが「開始値」と「終了値」に値を入力し、「増分ステップ」の値を0のままにした場合、属性値が「開始値」以上かつ「終了値」以下であると、そのアクティビティに対してバケットが作成されます。曜日の例を使用すると、ユーザーが「開始値」に1
(日曜日)を、「終了値」に5
(木曜日)を入力した場合、日曜日(曜日1)から木曜日(曜日5)までにログインが行われるたびに単一バケットが作成され、その件数が更新されます。固定範囲とは上限と下限が固定されている範囲で、その間にステップは存在しません(ユーザーが増分ステップを入力していません)。
ユーザーが「開始値」と「終了値」に値を入力し、さらに「増分ステップ」に値を指定した場合、属性値が「開始値」以上かつ「終了値」以下であると、そのアクティビティに対してバケットが作成され、属性の増分値により区切られたより詳細なレベルのバケットが作成されます。曜日の例を使用すると、ユーザーが「開始値」に1
(日曜日)を、「終了値」に5
(木曜日)を、「増分ステップ」に1
を入力した場合、日曜日(曜日1)から木曜日(曜日5)までにログインが行われるたびに複数バケットが作成され、その件数が更新されます。月曜日から毎日(増分が1であるため)、バケットが作成されて更新されます。
増分ステップを含む非連結上限範囲は、番号や数量などのアイテムに対して使用します。基本的に、複数層からなる範囲を構成できます。
たとえば、次のような範囲を構成できます。
0から100まで(ステップ10)。
101から1000まで(ステップ100)。
1001から10000まで(ステップ1000)。
10001から... (ステップ10000)。
最後の範囲以外の範囲はすべて、「増分ステップ」を含む「開始値」と「終了値」を使用した前述の範囲例と同じように機能します。
最後の範囲は、上限が無限大である場合と同じように機能します。このシナリオでは、10001から後、10000ごとにバケットが作成されます。
ユーザーの数量が200,123である場合、そのユーザーに200,000から210,000までに対するバケットが作成されます。この数量に対するユーザーのトランザクションは、このバケットに含められます。