プライマリ・コンテンツに移動
Oracle® Fusion MiddlewareOracle Adaptive Access Manager開発者ガイド
11gリリース2 (11.1.2.3.0)
E67356-01
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

25 チェックポイントおよび最終アクションの作成

チェックポイントは、Oracle Adaptive Access Managerがセッション内でルール・エンジンを使用してセキュリティ・データを収集および評価する特定のポイントです。

この章では、新しいチェックポイントの作成方法と構成方法、および既存のチェックポイントの変更方法について説明します。この章の内容は次のとおりです。

25.1 新しいチェックポイントの作成

データを収集し、セキュリティ・データを評価する新しいポイントがセッションに必要な場合は、プロパティ・エディタを使用してチェックポイントを作成します。次の参照用のチェックポイントの列挙が用意されています。

profile.type.enum.nameofcheckpoint=Checkpoint_Value
profile.type.enum.nameofcheckpoint.name=Checkpoint_Name
profile.type.enum.nameofcheckpoint.description=Checkpoint_Description
profile.type.enum.nameofcheckpoint.ruleTypes=user,device,location
profile.type.enum.nameofcheckpoint.listTypes=vtusers
profile.type.enum.nameofcheckpoint.finalactionrule=process_results.rule
profile.type.enum.nameofcheckpoint.isPreAuth=true

チェックポイント値は一意の数値である必要があります。他のチェックポイントがこの識別子を使用していないことを確認してください。このIDは、データベース用語における主キーのような働きをします。たとえば、1001です。

チェックポイント名は、ユーザーが識別できる意味のある名前にする必要があります。この名前をOracle Adaptive Access Managerで使用します。

チェックポイントを正常に作成したら、「プロパティ」ボックスの「新規追加」ボタンをクリックして、適切なプロパティを追加します。

チェックポイントの必須プロパティは次のとおりです。

  • finalactionrule=process_results.rule

    finalactionruleプロパティは、最終アクションを決定するルール・ファイルを指定します。ルール・エンジンによってチェックポイントのポリシーが処理される際には、そのスコアとアクションのリストが決定されます。最終アクションのリストは、ルールの実行時に最終決定されたアクションのリストです。どのアクションを最終アクションに指定するかを決めるためにルール・ファイルが参照されます。これが最終アクションかどうかわからない場合は、他のチェックポイントと同様の値を設定してください。ほとんどのアクションは、即時利用可能なprocess_results.ruleファイルを使用しても十分実行できます。

    ルール・ファイルの例については、第25.4項「最終アクション」を参照してください。

  • listTypes= vtusers

    listTypesは、必ずvtusersに設定します。

    ポリシーは、onlyユーザー・グループにリンク付けできます。

  • ruleTypes= user,device,location,in_session

    ruleTypesプロパティは、チェックポイント時にサポートされるルール・タイプのリストを定義します。チェックポイントのコンテキストに応じて、user、device、locationおよびin_sessionを指定できます。複数の値はコンマを使用して区切ります。このチェックポイントでは、コンマで区切られたタイプのすべてのルールを使用できます。

    たとえば、ruleTypesを「user,location」に設定した場合、このチェックポイントでは、userおよびlocationタイプのルールが使用でき、このチェックポイントのユーザー情報と位置情報が提供されます。

    別の例として、Cancel OrderチェックポイントでruleTypesに「user,device,location」を指定した場合、userルール・タイプでは、Cancel Orderチェックポイント中にユーザー情報の提供が期待されます。Cancel Orderチェックポイント時にユーザー情報を提供しない場合は、このリストにuserを含めないでください。

追加できるその他のプロパティは次のとおりです。

  • isPreAuth

    Trueは、このチェックポイントが認証前チェックポイントであることを示します。OAAM管理は、認証前スコアと認証前アクションでユーザー詳細を更新します。isPreAuthのデフォルトの値はfalseです。このフラグをtrueに設定した2つのチェックポイントは存在できません。また、同じチェックポイントはpostAuthとpreAuthの両方としてマークできません。

  • isPostAuth

    Trueは、このチェックポイントが認証後チェックポイントであることを示します。OAAM管理は、認証後スコアと認証後アクションでユーザー詳細を更新します。isPostAuthのデフォルトの値はfalseです。このフラグをtrueに設定した2つのチェックポイントは存在できません。また、同じチェックポイントはpostAuthとpreAuthの両方としてマークできません。

チェックポイントを作成したら、サーバーを再起動する必要があります。

25.2 新しいチェックポイントの例

addressChangeチェックポイントの作成例を次に示します。

profile.type.enum.addressChange=88
profile.type.enum.addressChange.name=Address Change
profile.type.enum.addressChange.description=Address Change checkpoint
profile.type.enum.addressChange.ruleTypes=user,device,location
profile.type.enum.addressChange.listTypes=vtusers
profile.type.enum.addressChange.finalactionrule=process_results.rule
profile.type.enum.addressChange.isPreAuth=true

ここでは、finalactionruleに「process_results.rule」が指定されています。ルール評価時における特定のチェックポイントの最終アクションは、このルール・ファイルによって決定されるからです。process_results.ruleファイルは即時利用可能なため、追加手順の実行は不要です。

25.3 新規アクション

新規アクションは、アクション・グループを定義してアクションを追加するときにOAAM管理で定義できます。ここで、アクションの作成を選択できます。また、rule.action.enumに要素を追加して、アクションを作成することもできます。

25.4 最終アクション

定義する新規アクションがチェックポイントの最終アクションである場合、次の手順を実行する必要があります。

  1. そのチェックポイントのruleファイルを検索するか、そのファイルを定義します(新しいチェックポイントを作成する場合)。このファイルは、ルールの実行時に、最終であるはずのアクションが最終アクションのリストに含まれていることを保証します。

    デフォルトのファイルを使用しない場合は、次の例を参考にして、このファイルの内容を確認してください。ルール・ファイルは、OAAMサーバーのクラスパスにあるOAAM拡張ライブラリに含めます。

      ==
      <rule name="Block" no-loop="true" salience="100">
          <parameter identifier="actionList">
              <class>java.util.List</class>
           </parameter>
     .
           <java:condition>actionList.contains("Block")</java:condition>
     .
           <java:consequence>
              if (logger != null){
              logger.debug("Executing Block condition");
               }
      .
              finalAction.append("Block");
              drools.clearAgenda();  <!-- This stops any other rules from being
     evaluated -->
            </java:consequence>
      </rule>
    
  2. そのチェックポイントのfinalactionruleプロパティを検索するか、そのプロパティを作成します。

    たとえば、チェックポイントXのプロパティは、次のようになります。

    profile.type.enum.X.finalactionrule=some_file_name.rule
    
  3. 共有ライブラリにルール・ファイルを追加して、そのライブラリをOAAMサーバーに対して使用可能にします。OAAM_extensionsライブラリはサーバーで使用可能なため、そのライブラリにファイルをパッケージ化できます。

前述の例では、最終アクションのリストにBlockアクションが含まれていました。独自のチェックポイントを定義する場合は、前述の手順を実行した後で、作成したファイルを指すようにfinalactionruleプロパティを設定できます。前述のruleファイルは、サーバーのクラスパスに含めてください。この情報をoaam_serverおよびoaam_offlineサーバーが使用できるようにするためです。ルール・ファイルの定義または作成が終了したら、各サーバーを再起動する必要があります。