ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Adaptive Access Manager開発者ガイド
11gリリース2(11.1.2)
B71697-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で使用します。

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

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

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

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

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サーバーが使用できるようにするためです。ルール・ファイルの定義または作成が終了したら、各サーバーを再起動する必要があります。