Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun™ Identity Manager 8.0 配備ツール 

第 1 章
規則の操作

Identity Manager の規則と規則ライブラリは、頻繁に使用されるプログラミングロジックや静的な変数をカプセル化し、配備環境全体の多くの場所で再利用できるようにするために使用するリポジトリオブジェクトです。規則と規則ライブラリを使用すると、データをより効率的に管理できるようになります。

この章では、Identity Manager の規則および規則ライブラリの操作方法と、Identity Manager によって提供されるデフォルトの規則および規則ライブラリのカスタマイズ方法について説明します。この情報は次の各節で構成されています。


配備環境用に規則を作成、編集、およびテストするには、Identity Manager Integrated Development Environment (Identity Manager IDE) を使用します。

Identity Manager IDE のインストールと設定の手順については、 https://identitymanageride.dev.java.net を参照してください。



開始する前に

Identity Manager の規則と規則ライブラリを操作する前に、次の節の情報を確認してください。

対象読者

この章は、Identity Manager の配備環境用に規則を作成、編集、およびテストする個人を対象としています。Identity Manager の規則と規則ライブラリを操作するには、次の知識を備えている必要があります。

関連ドキュメントと Web サイト

Identity Manager の規則と規則ライブラリについては、この章で提供する情報のほかに、次に紹介するマニュアルや Web サイトを参照してください。

推奨ドキュメント

Identity Manager の規則に関連する情報については、『SunTM Identity Manager ワークフロー、フォーム、およびビュー』の次の章を参照してください。

有用な Web サイト

次の表は、Identity Manager の規則と規則ライブラリを操作するときに参考にできる Web サイトをまとめたものです。

表 1-1 有用な Web サイト

Web サイトの URL

説明

https://identitymanageride.dev.java.net

オープンソースの Identity Manager Integrated Development Environment (Identity Manager IDE) プロジェクト。Identity Manager IDE のインストールと設定の手順が含まれています。

http://sunsolve.sun.com/

診断ツール、フォーラム、機能と記事、セキュリティー情報、パッチの内容を含む Sun の Web サイト。

: このサイトの情報は、次の 3 つの分野に分かれています。

  • 内部 (Internal): Sun の従業員のみ
  • 契約 (Contract): アクセス契約している顧客のみに公開
  • パブリック (Public): すべての人に公開

http://forum.java.sun.com/

フォーラムを参照したり、質問を投稿したりできる SDN (Sun Developer Network) Web サイト。

https://sharespace.sun.com/gm/folder-1.11.60181?

Sun の共有スペース上の Identity Manager のリンク。

: このサイトで提供される情報にアクセスするには、共有スペース ID を作成する必要があります。

http://sharespace.sun.com/gm/document-1.26.2296

Sun の共有スペース上の Identity Manager の FAQ。

: この FAQ にアクセスするには、共有スペース ID を作成する必要があります。


規則と規則ライブラリについて

ここでは、次の内容を説明します。

規則とは何か

規則とは、XPRESS、XML オブジェクト、または JavaScript 言語で記述された関数を含む Identity Manager リポジトリのオブジェクトです。Identity Manager 内で、規則は、頻繁に使用されるプログラミングロジックや静的な変数を再利用できるように格納して実行するためのメカニズムを提供します。規則はプログラミングのサブルーチンや関数と意味が似ています。規則は入力パラメータを取り、何らかのロジックを実行して、呼び出し元に値を返すことができます。

引数を規則に渡して、規則の動作を制御することができます。また、規則はフォームやワークフローによって保守される変数を、参照または変更することもできます。

規則は主にフォームやワークフロー内で参照されますが、次のような、その他のユーザーデータ関連の領域でも規則を参照することができます。

次の例は、<Rule> 要素を使用して基本の規則式を定義する方法を示したものです。ここで、規則定義名は getApprover、規則引数名は department、引数のデフォルト値は Tampa で、規則本体は文字列値 Sales Manager または HR Manager を返します。

コード例 1-1 XML 規則の例

<Rule name='getApprover'>

  <Comments> This rule determines the appropriate approver for a particular department.</Comment>

  <RuleArgument name=錨epartment>

  <RuleArgument name=浜ocationvalue=謬ampa>

  <cond>

    <eq><ref>department</ref><String>sales</String></eq>

    <cond>

        <eq><ref>location</ref><String>Tampa</String></eq>

        <String>Tampa Sales Manager</String>

        <String>Sales Manager</String>

    </cond>

    <String>HR Manager</String>

  </cond>

  <MemberObjectGroups>

    ObjectRef type=桧bjectGroupname=ExampleChoc>

  </MemberObjectGroups>

</Rule>


規則を定義する場合は、<Rule name='rulename'> のように R が大文字の <Rule> 要素を使用します。規則を呼び出す場合は、<rule name='rulename'> のように r が小文字の XPRESS の <rule> 要素を使用します。


規則を使用する理由

XPRESS を使用できる場所であればどこでも、規則を呼び出すことができます。特にフォーム、Java コード、ワークフロー内でよく使用します。規則を使用することにより、ロジックのフラグメントや静的な値などのデータをカプセル化し、それを多くの場所で再利用できます。

XPRESS ロジックや静的な値を編成して再利用すると、次の利点があります。

ユーザーの資格情報や個人情報などの機密データを、承認されていない管理者によるアクセスから守るために、規則をセキュリティー保護することもできます。詳細は、「規則のセキュリティー保護」を参照してください。

フォーム内での規則の使用

通常、規則はフォーム内で呼び出してフィールドの値を算定したり、<Disable> 式内のフィールド可視性を制御したりします。フォーム内で次のものを格納して再利用するには、規則が最も効率的なメカニズムとなる場合があります。

フォームから規則を呼び出す場合は、これらの規則のセキュリティー保護を適切に行うことが特に重要です。たとえば、重要なフォーム内で使用される規則の実装を、任意の Identity Manager ユーザーが変更できるとしたら重大な問題を引き起こします。規則のセキュリティー保護については、「規則のセキュリティー保護」を参照してください。

次の例は、役職のリストを返す規則を示しています。

コード例 1-2 役職リストを返す

<Rule name='Job Titles'>
   <List>
      <String>Sales</String>
      <String>Accounting Manager</String>
      <String>Customer Service Representative</String>
   </List>
</Rule>

Identity Manager フォームでは、選択肢の名前のリストを計算するために、このような規則がよく使われます。新しい役職を追加または変更する場合は、この規則を変更するだけでよく、この規則を参照するフォームを すべて修正する必要はありません。

次の例では、global.jobTitle フィールドがコード例 1-2 で定義された Job Titles 規則を呼び出して、役職リストを選択ボックスで使用しています。


この例では、rule 要素に小文字の r が使用されていますが、これはこの要素が規則を定義するためではなく、規則を呼び出すために使用されているからです。


コード例 1-3 役職リストを選択ボックスで使用する

<Field name='global.jobTitle'>
   <Display class='Select'>
      <Property name='title' value='Job Title'/>
      <Property name='allowedValues'>
         <rule name='Job Titles'/>
      </Property>
   </Display>
</Field>

Identity Manager のフォームでは、別の規則の名前を動的に計算して呼び出す規則もサポートします。次の例は、フォームフィールドによって部門コードを計算する規則を呼び出す方法を示しています。

コード例 1-4 部門コードを計算する規則の呼び出し

<Field name='DepartmentCode'>
   <Display class='Text'>
     <Property name='title' value='DepartmentCode'/>
   </Display>
     <Expansion>
        <規則>
          <cond>
            <eq>
               <ref>var1</ref>
               <s>Admin</s>
            </eq>
            <s>AdminRule</s>
            <s>DefaultRule</s>
          </cond>
        </rule>
     </Expansion>
</Field>

ロール内での規則の使用

Identity Manager における「ロール」とは、リソースを効率的にグループ化してユーザーに割り当てられるようにするオブジェクトのことです。ロールには、次のような所有者と承認者が指定されます。

ロールの所有者と承認者は、直接、またはロール割り当て規則を使用して動的にロールに割り当てることができます。

規則を使用して、ロール定義に任意のリソース属性の値を設定することができます。Identity Manager によって規則が評価されると、規則はユーザービューの任意の属性を参照できるようになります。


規則の詳細については、『SunTM Identity Manager 管理ガイド』を参照してください。


次の例は、規則を使用して特定のリソースの属性値を設定する方法を示しています。ユーザーを作成し、この規則をそのユーザーのロールに関連付けると、この規則によって記述値が自動的に設定されます。

コード例 1-5 ユーザーのリソース記述の値の設定

<Rule name='account description'>

    <concat>

      <string>Account for </string>

      <ref>global.firstname</ref>

      <string>.</string>

      <ref>global.lastname</ref>

    </concat>

</Rule>

ワークフロー内での規則の使用

一般に、Identity Manager のワークフローは論理的で反復可能なプロセスであり、ドキュメント、情報、またはタスクが、定義された手順の規則セットに従って、アクションの関与者から別の関与者に渡されます。関与者は人、マシン、またはその両方の場合があります。

ワークフロー内では、式を使用できる場所ではどこでも規則を使用できます。ワークフロー内では規則を次の目的で使用できます。

たとえば、手動アクションを使用して、承認リクエストを管理者に送信することができます。このアクションにはタイムアウト値を指定できます。管理者が指定された時間内に応答しない場合、アクションを終了させて、ワークフローの承認を別の管理者にエスカレーションすることができます。

ワークフローアクティビティーには、サブプロセス名を動的に計算する規則を含む、サブプロセスを含めることもできます。たとえば、次のようにします。

コード例 1-6 規則名の動的な計算

<Activity id='0' name='activity1'>
   <Variable name='ValueSetByRule'>
     <規則>
       <cond>
          <eq><ref>var2</ref><s>specialCase</s></eq>
          <s>Rule2</s>
          <s>Rule1</s>
       </cond>
       <argument name='arg1'>
          <ref>variable</ref>
       </argument>
     </rule>
   </Variable>
</Activity>

ライブラリとは何か

規則ライブラリは、Identity Manager リポジトリに格納される XML 設定オブジェクトです。この設定オブジェクトには、1 つ以上の規則オブジェクトを含む、ライブラリオブジェクトが含まれます。

規則ライブラリの作成は、密接に関連する規則を単一オブジェクトに編成するために便利な方法です。関連する機能をグループ化したいときに、規則を規則ライブラリに追加します。規則ライブラリを使用すると、リポジトリ内のオブジェクト数が削減されるので、規則の保守が簡単になります。また、フォームやワークフローを設計するときに、有用な規則を簡単に特定して呼び出せるようになります。


規則ライブラリ内の規則の呼び出し方法については、「ライブラリ内の規則の呼び出し」を参照してください。


次の例は、2 つの異なるアカウント ID 生成規則を含むライブラリを示しています。

コード例 1-7 2 つのアカウント ID 生成規則を含む規則ライブラリの使用

<Configuration name='Account ID Rules'>
   <Extension>
      <Library>

         <Rule name='First Initial Last'>
            <expression>
               <concat>
                  <substr>
                     <ref>firstname</ref>
                     <i>0</i>
                     <i>1</i>
                  </substr>
                  <ref>lastname</ref>
               </concat>
            </expression>
         </Rule>

         <Rule name='First Dot Last'>
            <expression>
               <concat>
                  <ref>firstname</ref>
                  <s>.</s>
                  <ref>lastname</ref>
               </concat>
            </expression>
         </Rule>

      </Library>
   </Extension>
</Configuration>


オープンソースの Identity Manager Integrated Development Environment (Identity Manager IDE) を使用して、デフォルトの規則ライブラリを表示および編集したり、既存のライブラリオブジェクトに新しい規則を追加したりできます。詳細については、https://identitymanageride.dev.java.net を参照してください。



新しい規則と規則ライブラリの作成

ここでは、配備用に規則を作成する方法を説明します。また、次の内容についても説明します。

規則構文について

通常、Identity Manager の規則は XML で作成され、<Rule> 要素でカプセル化されます。

ここでは、次のトピックを扱います。

<Rule> 要素の使用

コード例 1-8 は、<Rule> 要素を使用して基本の規則式を定義する例を示したものです。name プロパティーは規則の名前を識別します。この規則は XPRESS で作成されています。

コード例 1-8 <Rule> 要素を使用した基本の規則式の定義

<Rule name='getApprover'>
   <cond><eq><ref>department></ref><s>sales</s></eq>
      <s>Sales Manager</s>
      <s>HR Manager</s>
   </cond>
</Rule>


規則を定義する場合は、<Rule name='rulename'> のように R が大文字の <Rule> 要素を使用します。規則を呼び出す場合は、<rule name='rulename'> のように r が小文字の XPRESS の <rule> 要素を使用します。


静的な値を返す

静的な値を返す規則の場合は、XML オブジェクト構文を使用して作成できます。次の例では、文字列のリストを返しています。

コード例 1-9 文字列のリストを返す

<Rule name='UnixHostList'>
   <List>
      <String>aas</String>
      <String>ablox</String>
      <String>aboupdt</String>
   </List>
</Rule>


XML オブジェクト構文の詳細については、『SunTM Identity Manager ワークフロー、フォーム、およびビュー』の XML オブジェクト言語に関する章を参照してください。


変数の参照

規則内で <ref> 式を使用すると、外部変数の値を参照できます。使用可能な変数の名前は、規則が使用されるコンテキストによって決定されます。

次の例では、フォームは規則を使用して電子メールアドレスを計算します。フォームはフィールド global.firstnameglobal.lastname を定義し、規則がそれらのフィールドを参照します。電子メールアドレスは、global.firstname の最初の文字に global.lastname と文字列 @example.com を連結することによって計算されます。

コード例 1-10 電子メールアドレスの計算

<Rule name='Build Email'>
   <concat>
      <substr> <ref>global.firstname</ref> <i>0</i> <i>1</i> </substr>
      <ref>global.lastname
      </ref>
      <s>@example.com</s>
   </concat>
</Rule>

次の例は、ワークフローが規則を使用して特定のアクティビティーに遷移すべきかどうかテストする方法を示しています。このワークフローは、ユーザービューを含む user 変数を定義します。この規則は、このユーザーにシミュレートされたリソースが割り当てられている場合に true を返し、シミュレートされたリソースが割り当てられていない場合に null を返します。ワークフローエンジンは null を false と解釈するため、この場合は遷移しません。

コード例 1-11 遷移のテスト

<Rule name='Has Simulated Resources'>
   <notnull>
      <ref>user.accountInfo.types[simulated].accounts</ref>
   </notnull>
</Rule>

引数を使用した規則の宣言

艀11 ベストプラクティス:

規則に対して引数を宣言することは必須ではありませんが、宣言することが推奨されています。規則の実行時に「スコープ内」にある変数を使用する規則は、再利用が難しくなります。

規則内で引数を宣言することにより、規則のユーザーにドキュメンテーションを提供し、Identity Manager IDE 内での参照妥当性検査が可能になり、同一の命名規則を使用していない可能性のあるフォームおよびワークフロー内でも、その規則を使用することが可能になります。

<RuleArgument> 要素を使用して規則引数を宣言し、引数名の後に value を指定することによって、引数のデフォルト値を設定できます。
たとえば、次の規則では、規則引数 location のデフォルト値に「Austin」を指定しています。

コード例 1-12 デフォルト値の設定

<Rule name='description'>
   <RuleArgument name='UserId'/>
   <RuleArgument name='location' value='Austin'/>
   <concat>
      <ref>UserId</ref>
      <s>@</s>
      <ref>location</ref>
   </concat>
</Rule>

この規則をユーザーフォーム内で使用することはできますが、UserIdlocation はユーザービューの属性ではありません。予期されている引数を規則に渡すには、<argument> 要素を規則の呼び出しで使用します。location という名前の引数を渡すことにより、規則定義の RuleArgument 要素で宣言されているデフォルト値が上書きされることに注意してください。

コード例 1-13 RuleArgument で宣言されているデフォルト値の上書き

<rule name='description'>
   <argument name='UserId' value='$(waveset.accountId)'/>
   <argument name='location' value='global.location'/>
</rule>

規則の呼び出しの詳細については、「規則の参照」を参照してください。

引数の型を宣言する正式な方法はありませんが、コメントフィールドでは型を指定できます。<Comment> 要素を使用して、規則にコメントを組み込みます。

コード例 1-14 <Comment> を使用した、規則へのコメントの組み込み

<Comments>
記述規則では、2 つの引数が予期されている。従業員の
ID 番号である文字列の UserID と、その従業員の
ビルの位置を記述する文字列値 location
である。
</Comments>


ヒント

規則の編集に Identity Manager IDE を使用している場合、規則引数のリストを形式的に定義すると便利です。このリストは、規則で使用可能になることが予期されている、変数の名前で構成されます。後で Identity Manager IDE で妥当性検査を実行するときに、これらを使用できます。


副作用を伴う規則

一般に、規則は単一の値を返しますが、規則から複数の値が返されたり、値の取得以外のアクションが実行されたりした方がよい場合もあります。規則内で次の XPRESS 式を使用すると、外部変数に値を割り当てることができます。

次の例では、規則が department という名前の外部変数の値をテストして、値をほかの 2 つの変数に割り当てる方法を示しています。

コード例 1-15 department 変数のテストおよびほかの変数の割り当て  

<Rule name='Check Department'>
    <switch>
      <ref>global.department</ref>
      <case>
        <s>Engineering</s>
        <block>
          <setvar name='global.location'>
            <s>Building 1</s>
          </setvar>

          <setvar name='global.mailServer'>
            <s>mailserver.somecompany.com</s>
          </setvar>

        </block>
      </case>

      <case>
        <s>Marketing</s>
        <block>
          <setvar name='global.location'>
            <s>Building 2</s>
          </setvar>          <setvar name='global.mailServer'>
            <s>mailserver2.somecompany.com</s>
          </setvar>
        </block>
      </case>
    </switch>
</Rule>

上記の例では、変数 global.locationglobal.mailServer は、ともに変数 department の値に従って設定されています。この場合、規則の戻り値は無視され、規則はその副作用のためにのみ呼び出されます。

JavaScript での規則の記述

規則が複雑になる場合は、規則を XPRESS ではなく JavaScript で作成し、JavaScript を XPRESS の <script> 要素でラップするほうが都合がよい場合もあります。

次の例では、フォームおよびワークフロー変数の値を参照し、env.get 関数を呼び出して変数名を渡しています。この例では、変数名を割り当てるために env.put 関数を使用しているので、スクリプト内の最後の文の値が規則の値になります。規則は email 変数に値を戻します。

コード例 1-16 <script> 要素での JavaScript のラップ

<Rule name='Build Email'>
   <script>
      var firstname = env.get('firstname');
      var lastname = env.get('lastname');
      var email = firstname.substring(0, 1) + lastname + "@example.com";
      email;
   </script>
</Rule>

env.call 関数では、ほかの規則を呼び出すことができます。


規則の参照

ここでは、規則の参照について説明します。説明する内容は次のとおりです。

基本的な規則呼び出し構文

規則は XPRESS が許可されている場所であればどこからでも、フォーム、ワークフロー、または別の規則からでも呼び出せます。

規則を呼び出すには、次のような XPRESS の <rule> 式を使用します。たとえば、次のようにします。

<rule name='Build Email'/>

XPRESS インタプリタは、この式を評価すると、name 属性の値がリポジトリ内の規則オブジェクトの名前であるものと判断します。このインタプリタは、リポジトリから規則を自動的に読み込み、評価します。規則によって返される値が <rule> 式の結果になります。

上記の例では、規則に明示的に渡される引数はありません。次の例は、argument 要素を使用して引数 accountId を規則に渡しています。また、引数 value は静的文字列 jsmith として渡されています。

<rule name='getEmployeeId'>
   <argument name='accountId' value='jsmith'/>
</rule>

式を使用して、次のように引数の値を計算することもできます。
この例では、表示属性 user.waveset.accountId の値を返す単純な <ref> 式を評価することによって、引数値が計算されます。

<rule name='getEmployeeId'>
   <argument name='accountId'>
      <ref>user.waveset.accountId</ref>
   </argument>
</rule>

属性を参照することによって引数値を計算することが非常に一般的なため、代わりの構文も用意されています。

<rule name='getEmployeeId'>
   <argument name='accountId' value='$(user.waveset.accountId)'/>
</rule>

上記の例では両方とも、表示属性 user.waveset.account の値が引数の値として渡されています。

ライブラリ内の規則の呼び出し

ライブラリ内の規則は、XPRESS の <rule> 式を使用して参照します。name 属性の値は、ライブラリを含む設定オブジェクトの名前と、ライブラリ内部での規則の名前をコロンで連結した形式です。したがって、ライブラリ内の各規則名は必ず一意になります。

たとえば次の式は、Account ID Rules という名前のライブラリに含まれる、First Dot Last という名前の規則を呼び出します。

<rule name='Account ID Rules:First Dot Last'/>

規則引数の解決

ほとんどの規則には、変数の値を取得するための XPRESS <ref> 式または JavaScript env.get 呼び出しが含まれています。これらの変数の値を取得する方法を制御するために、いくつかのオプションが使用可能です。

最も単純なケースでは、規則を呼び出すアプリケーションがすべての参照を解決しようとします。

ここでは、次の内容を説明します。

フォーム内の範囲または明示的な引数の呼び出し

ここでは、フォーム内で規則引数を解決する方法の例を示します。

次の例は、フォームに規則を追加する方法を示しています。ユーザービューには属性名があるので、このフォームはユーザービューで使用できます。

<Rule name='generateEmail'>
   <concat>
      <ref>global.firstname</ref>
      <s>.</s>
      <ref>global.lastname</ref>
      <s>@example.com</s>
   </concat>
</Rule>

この規則は 2 つの変数を参照します。

次の例に示されているように、Field 内でこの規則を呼び出すことができます。

コード例 1-17 フィールド内での規則の呼び出し

<Field name='global.email'>
   <Expansion>
      <rule name='generateEmail'/>
   </Expansion>
</Field>

これは、プログラミング言語のグローバル変数の概念に似ており、ユーザーフォーム内のみで使用される単純な規則を作成するには便利な方法です。しかし、このスタイルの規則設計には 2 つの問題があります。第一に、規則がどの変数を参照するかがフォーム設計者には不明です。第二に、この規則はユーザービューの属性を参照するため、ユーザーフォームからしか呼び出せません。ワークフローでは通常 global.firstname および global.lastname という名前の変数を定義しないため、ほとんどのワークフローからは規則を呼び出すことができません。

規則引数を明示的に渡したり、特定のビューに依存しない名前を使用する規則を作成したりすることにより、これらの問題に対処できます。

次の例は、変数 firstnamelastname を参照する規則の修正版を示しています。

コード例 1-18 firstname および lastname 変数を参照する規則

<Rule name='generateEmail'>

<RuleArgument name='firstname'/>

<RuleArgument name='lastname'/>

   <concat>

      <ref>firstname</ref>

      <s>.</s>

      <ref>lastname</ref>

      <s>@example.com</s>

   </concat>

</Rule>

次の例は、より簡潔で一般的な規則を示しています。この例に示す規則は、ユーザーフォームから呼び出すことを前提としていませんが、明示的な引数を指定して呼び出す必要があります。

コード例 1-19 明示的な引数を指定した規則の呼び出し

<Field name='global.email'>
   <Expansion>
      <rule name='generateEmail'>
         <argument name='firstname' value='$(global.firstname)'/>
         <argument name='lastname' value='$(global.lastname)'/>
      </rule>
   </Expansion>
</Field>

argument 要素の name 属性は、規則内で参照される変数に対応します。これらの引数の値は、ユーザービューのグローバル属性の値に割り当てられます。こうすることで、規則は呼び出し側アプリケーションによって使用される命名規則から孤立した状態に保たれ、規則はほかのコンテキストで使用できるようになります。

ワークフロー内のローカル範囲オプションの使用

引数が明示的に規則に渡されていても、明示的な引数として渡されないその他の変数への参照が、システムのデフォルトでは可能になっています。次の例は、規則を呼び出しても引数を 1 つしか渡さないワークフローアクションを示しています。

コード例 1-20 規則を呼び出し、単一の引数を渡すワークフローアクション

<アクション>
   <expression>
      <setvar name='email'>
         <rule name='generateEmail'>
            <argument name='firstname' value='$(employeeFirstname)'/>
         </rule>
      </setvar>
   </expression>
</Action>

規則が評価されると、ワークフロープロセッサに対して、変数 lastname の値を供給するように要求が行われます。この名前のワークフロー変数が存在しても、それがこの規則での使用を意図した変数ではない場合もあります。意図していない変数参照を防ぐために、規則を定義する際に localScope オプションを指定するようにしてください。

このオプションは、Rule 要素の localScope 属性を true に設定することによって有効になります。

コード例 1-21 Rule 要素の localScope 属性を true に設定

<Rule name='generateEmail' localScope='true'>
   <concat>
      <ref>firstname</ref>
      <s>.</s>
      <ref>lastname</ref>
      <s>@example.com</s>
   </concat>
</Rule>

このオプションを設定することにより、規則は呼び出し内で引数として明示的に渡された値のみを参照することが許可されます。前述のワークフローアクションの例から呼び出した場合、lastname 変数の参照は null を返すことになります。

いろいろなコンテキストでの一般的な使用を意図した規則には、常に localScope オプションを使用するようにします。

規則引数宣言の使用

艀11 ベストプラクティス:

規則によって参照される可能性のあるすべての引数の明示的な宣言を規則定義内に含めることは必須ではありませんが、ベストプラクティスとして推奨されています。

引数宣言を使用すると、次のような利点があります。

たとえば、次のようにgenerateEmail 規則を再作成することも可能です。

コード例 1-22 generateEmail 規則の再作成

<Rule name='generateEmail' localScope='true'>
   <RuleArgument name='firstname'>
      <Comments>The first name of a user</Comments>
   </RuleArgument>
   <RuleArgument name='lastname'>
      <Comments>The last name of a user</Comments>
   </RuleArgument>
   <RuleArgument name='domain' value='example.com'>
      <Comments>The corporate domain name</Comments>
   </RuleArgument>
   <concat>
      <ref>firstname</ref>
      <s>.</s>
      <ref>lastname</ref>
      <s>@</s>
      <ref>domain</ref>
   </concat>
</Rule>

Comments 要素には、規則を調べるユーザーに役立つと思われる、任意の量のテキストを含めることができます。

この例では、規則は修正され、domain という名前の別の引数が定義されています。この引数にはデフォルト値 example.com が指定されています。呼び出し側が domain という名前の明示的な引数を渡さない場合に、規則によってデフォルト値が使用されます。

次の例は、文字列 john.smith@example.com を生成する呼び出しを示しています。

コード例 1-23 john.smith@example.com 文字列の生成

<rule name='generateEmail'>
   <argument name='firstname' value='john'/>
   <argument name='lastname' value='smith'/>
</rule>

次の例は、文字列 john.smith@yourcompany.com を生成する呼び出しを示しています。

コード例 1-24 john.smith@yourcompany.com 文字列の生成

<rule name='generateEmail'>
   <argument name='firstname' value='john'/>
   <argument name='lastname' value='smith'/>
   <argument name='domain' value='yourcompany.com'/>
</rule>

次の例は、文字列 john.smith@ を生成する呼び出しを示しています。

コード例 1-25 john.smith@ 文字列の生成

<rule name='generateEmail'>
   <argument name='firstname' value='john'/>
   <argument name='lastname' value='smith'/>
   <argument name='domain'/>
</rule>


上記の例では、domain 引数に null 値が渡されますが、デフォルト値は使用されません。呼び出しに明示的な引数を指定すると、引数が null であってもデフォルト値が使用されます。


ロックされた引数の使用

引数をデフォルト値で宣言する手法は、規則の開発とカスタマイズを簡単にするのに有用です。規則内に場合によって変化する定数値がある場合は、その値を規則式の中深くに組み込むのではなく、引数で定義すると、値の特定と変更がより容易になります。

Identity Manager IDE には、規則を設定するための簡素化されたユーザーインタフェースが備わっています。引数のデフォルト値を Identity Manager IDE 内で変更することができ、この方法は規則式全体を編集するよりもはるかに簡単です。

引数を宣言した後、規則の呼び出し側が明示的な引数を渡してデフォルト値を上書きすることも可能です。ただし、引数値の制御を呼び出し側に渡したくない場合は、RuleArgument 要素に locked 属性を組み込んで true の値を指定することで、引数をロックします。次に例を示します。

コード例 1-26 引数のロック

<Rule name='generateEmail' localScope='true'>
   <RuleArgument name='firstname'>
      <Comments>The first name of a user</Comments>
   </RuleArgument>
   <RuleArgument name='lastname'>
      <Comments>The last name of a user</Comments>
   </RuleArgument>
   <RuleArgument name='domain' value='example.com' locked='true'>
      <Comments>The corporate domain name</Comments>
   </RuleArgument>
   <concat>
      <ref>firstname</ref>
      <s>.</s>
      <ref>lastname</ref>
      <s>@</s>
      <ref>domain</ref>
   </concat>
</Rule>

上記の例では、引数 domain がロックされています。これは、呼び出し側がこの引数に値を渡そうとしても、引数の値は常に example.com であるという意味です。ドメイン名が example.com ではないサイトでこの規則を使用する場合、管理者に必要なのはこの規則を編集して引数の値を変更することだけです。管理者がこの規則式を理解する、または変更する必要はありません。


規則のセキュリティー保護

規則に資格などの機密情報が含まれている場合や、危険な副作用がありえる Java ユーティリティーを規則が呼び出す場合は、規則が意図しない方法で使用されないようにするために、規則をセキュリティー保護する必要があります。

規則のセキュリティー保護がとりわけ重要になるのは、フォームから呼び出される場合です。フォームの規則はセッション上で実行されるので、セッションを作成できるユーザーに API または SOAP リクエストのいずれかを通じて規則が露呈することもありえます。

ここでは、次の内容を説明します。

適切な組織に規則を配置

大部分の管理者は利便性を考慮して、副作用なしで計算を実行する、というような単純な規則を All という組織に配置し、規則を表示する権限のある人は全員規則にアクセスできるようにします。

ただし、規則のセキュリティー保護を強化したい場合は、次のように操作します。

規則をセキュリティー保護するための認証タイプを使用

いくつかの認証タイプ (AuthType) を使用して、規則などの所定の Identity Manager objectType のオブジェクトのサブセットの範囲を指定したり、アクセスを制限したりすることもできます。たとえば、ユーザーフォームで選択する規則を設定する場合は、ユーザーが制御範囲内のすべての規則にアクセスできるようにしない方がいいかもしれません。

認証タイプの使用方法の詳細については、『SunTM Identity Manager 管理ガイド』の「認可タイプを使用したオブジェクトのセキュリティー保護」を参照してください。

より安全な規則を参照する規則へのアクセス制御

安全な規則を参照する規則にアクセスできるユーザーは、その安全な規則の内容を呼び出したり、表示したり、変更することができます。

Identity Manager では承認チェックを実行し、その規則を編集する権限を持つすべてのユーザーをラッパーで呼び出します。承認されたユーザーは、それ以上承認チェックを受けることなく、その規則を使用してほかの規則を呼び出すことができます。このようにして、ユーザーは安全な規則に間接的にアクセスできるようになります。

安全な規則を参照する規則を作成して、セキュリティーの度合いの低い方の規則に対するアクセス権をユーザーに付与する場合、誤って安全な規則に対する不適切なアクセス権をユーザーに付与しないよう注意してください。


より安全な規則を参照する規則を作成するには、それぞれの規則が含まれる両方の組織を制御する必要があります。最初の規則を実行する権限と、安全な規則を呼び出す権限も必要です。



デフォルト規則および規則ライブラリのカスタマイズ

ここでは、Identity Manager によって提供されるデフォルト規則と規則ライブラリについて説明します。説明する内容は次のとおりです。

Identity Manager の規則

Identity Manager をカスタマイズするには、次の規則および規則ライブラリを使用します。

AccessEnforcerLibrary

AccessEnforcerLibrary は、特定タイプのオブジェクトを管理できるようにする規則のデフォルトのライブラリです。Access Enforcer リソースアダプタではこれらのオブジェクトを取得できないからです。

入力値:     表 1-2 を参照してください。

カスタムの AccessEnforcerLibrary 規則には、次を指定する必要があります。

AuthType:     Library

SubType:     listRules

返される値:     表 1-2 を参照してください。

定義済み規則     指定しない

次の表は、AccessEnforcerLibrary 規則の例をまとめたものです。

表 1-2 AccessEnforcerLibrary 規則の例  

規則名

入力変数

説明

getApplications

  • resName (リソース名)
  • 文字列を手動で入力して Access Enforcer オブジェクト名を指定します。

SAP GRC Access Enforcer で使用可能なアプリケーションのリストを返します。resName が指定されたら、Access Enforcer からアプリケーションを取得します。それ以外の場合は、静的に指定されたリストを返します。

getRoles

resName (リソース名)

SAP GRC Access Enforcer で使用可能なロールのリストを返します。これらのロールは、バックエンドシステムで使用可能なロールと同じです。

これらの値は手動で作成し、SAP GRC Access Enforcer の対応する値と同期する必要があります。

getRequestTypes

なし

SAP GRC Access Enforcer で使用可能な要求タイプのリストを返します。

これらの値は手動で作成し、SAP GRC Access Enforcer の対応する値と同期する必要があります。

getPriorities

なし

SAP GRC Access Enforcer で使用可能な優先度の値のリストを返します。

これらの値は手動で作成し、SAP GRC Access Enforcer の対応する値と同期する必要があります。

getEmployeeTypes

なし

SAP GRC Access Enforcer で使用可能な従業員タイプのリストを返します。

これらの値は手動で作成し、SAP GRC Access Enforcer の対応する値と同期する必要があります。

getSLAs

なし

SAP GRC Access Enforcer で使用可能なサービスレベルのリストを返します。

これらの値は手動で作成し、SAP GRC Access Enforcer の対応する値と同期する必要があります。

getSupporttedVersions

resName (リソース名)

Identity Manager でサポートされる SAP GRC Access Enforcer バージョンのリストを返します。これらの値は、アダプタファセットの認識する値と同じでなくてはなりません。

ActiveSync 規則

フラットファイル Active Sync アダプタはリソース上のアカウントに加えられた変更を検出すると、着信属性を Identity Manager ユーザーにマップするか、または Identity Manager ユーザーアカウントを作成します。アダプタは処理規則、相関規則、削除規則を使用して、ユーザーの実行内容を決定します。


Active Sync 規則には必ず display.session ではなく、context を使用します。相関規則と削除規則はセッションを取得しませんが、確認規則は取得します。詳細については、「相関規則」「確認規則」を参照してください。


入力値:     activeSync 名前空間のリソースアカウント属性を受け入れます。例: activeSync.firstname

カスタムの ActiveSync 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

名前空間:     activeSync 名前空間のリソースアカウント属性を設定します。次に例を示します。

activeSync.firstname

定義済み規則     定義済みの ActiveSync 規則には次のようなものがあります。

ADRules ライブラリ

ADRules のデフォルトライブラリを使用すると、サーバーのリストを作成できます。

入力値:     なし

カスタムの ADRules 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

呼び出し:    

返される値:     ゼロ以上の文字列値のリスト。

定義済み規則     なし

表 1-3 ADRules 規則の例  

規則名

説明

Exchange Servers

環境内の Exchange サーバーのリストを返します。

このリストを更新して、環境内に Exchange サーバーを追加することができます。

Home Directory Servers

環境内のホームディレクトリサーバーのリストを返します。

このリストを更新して、環境内にホームディレクトリドライブを提供するシステムを追加することができます。

AD Login Scripts

環境内で使用されるユーザーログインスクリプトのリストを返します。

このリストを更新して、環境内にログインバッチスクリプトを追加することができます。

Home Directory Drive Letter

環境内のホームディレクトリのマッピングされたドライブ文字のリストを返します。

このリストを更新して、環境内に共通のホームディレクトリマップドライブ文字を追加することができます。

Home Directory Volumes

環境内のホームディレクトリボリューム名のリストを返します。

このリストを更新して、環境内に共通のホームディレクトリボリューム名を追加することができます。Identity Manager はこの値とホームディレクトリサーバーの値を使用して、ユーザーのホームディレクトリを作成します。このボリュームは、選択したホームディレクトリサーバー上に存在し、共有されている必要があります。

英数字規則ライブラリ

英数字規則ライブラリは、Identity Manager のフォームとワークフロー内で数字と文字を順序付けまたは表示する方法を制御できるようにする規則のデフォルトライブラリです。


Identity Manager IDE では、このライブラリは Alpha Numeric Rules ライブラリオブジェクトとして表示されます。


入力値:     表 1-4 を参照してください。

カスタム規則には、次を指定する必要があります。

AuthType:     EndUserRule

SubType:     指定しない

返される値:     ゼロ以上の文字列のリスト。

次の表は、英数字規則ライブラリの規則の例をまとめたものです。

表 1-4 英数字規則の例  

規則名

入力変数

説明

AlphaCapital

なし

英大文字のリストを返します。

AlphaLower

なし

英小文字のリストを返します。

Numeric

なし

数字のリストを返します。

WhiteSpace

なし

空白文字のリストを返します。

SpecialCharacters

なし

共通特殊文字のリストを返します。

legalEmailCharacters

なし

電子メールに適している特殊文字のリストを返します。

stringToChars

testStr

指定された文字列を文字列の個々の文字で構成されたリストに変換します。

isNumeric

testStr

testStr に数字のみが含まれているかどうかをテストして確認します。

isAlpha

testStr

testStr に英文字のみが含まれているかどうかをテストして確認します。

hasSpecialChar

testStr

testStr に特殊文字が含まれているかどうかをテストして確認します。

hasWhiteSpace

testStr

testStr に空白文字が含まれているかどうかをテストして確認します。

isLegalEmail

testStr

testStr に電子メールアドレスに適した文字のみが含まれているかどうかをテストして確認します。

StripNonAlphaNumeric

testStr

英数字以外の文字を testStr から削除します。

Approval Transaction Message

Approval Transaction Message 規則は、承認トランザクションのテキストをフォーマットするために使用されるデフォルトの規則です。この規則をカスタマイズして、ユーザーの署名用にさらに多くの情報を設定できます。

入力値:    

次の引数を受け入れます。

カスタムの Approval Transaction Message 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

返される値:     workItemList 内の workitems のリスト用にフォーマットされたトランザクションテキスト。

定義済み規則     なし

Approval Transaction Message Helper

Approval Transaction Message Helper 規則は、単一の workitem の承認用にフォーマットされたトランザクションテキストを返します。

入力値:    

次の引数を受け入れます。

カスタムの Approval Transaction Message Helper 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

返される値:     単一の workitem の承認用にフォーマットされたトランザクションテキスト。

定義済み規則     なし

Attestation Remediation Transaction Message

Attestation Remediation Transaction Message 規則は、アテステーション是正トランザクションのテキストをフォーマットするために使用されるデフォルトの規則です。この規則をカスタマイズして、ユーザーの署名用にさらに多くの情報を設定できます。

入力値:    

次の引数を受け入れます。

カスタムの Attestation Remediation Transaction Message 規則には、次を指定する必要があります。

AuthType:     EndUserAuditorRule

SubType:     指定しない

返される値:     フォーマットされたアテステーション是正トランザクションテキスト。

定義済み規則     なし

Attestation Remediation Transaction Message Helper

Attestation Remediation Transaction Message Helper 規則は、単一の workitem のアテステーション是正用にフォーマットされたトランザクションテキストを返します。

入力値:    

次の引数を受け入れます。

カスタムの Attestation Remediation Transaction Message Helper 規則には、次を指定する必要があります。

AuthType:     EndUserAuditorRule

SubType:     指定しない

呼び出し:    

返される値:     単一の workitem のアテステーション是正用にフォーマットされたトランザクションテキスト。

定義済み規則     なし

Attestation Transaction Message

Attestation Transaction Message 規則は、アテステーショントランザクションのテキストをフォーマットするために使用されるデフォルトの規則です。この規則をカスタマイズして、ユーザーの署名用にさらに多くの情報を設定できます。

入力値:    

次の引数を受け入れます。

カスタムの Attestation Transaction Message 規則には、次を指定する必要があります。

AuthType:     EndUserAuditorRule

SubType:     指定しない

呼び出し:    

返される値:     フォーマットされたアテステーショントランザクションテキスト。

定義済み規則     なし

Attestation Transaction Message Helper

Attestation Transaction Message Helper 規則は、単一のアテステーション用にフォーマットされたトランザクションテキストを返します。

入力値:    

次の引数を受け入れます。

カスタムの Attestation Transaction Message Helper 規則には、次を指定する必要があります。

AuthType:     EndUserAuditorRule

SubType:     指定しない

呼び出し:    

返される値:     単一のアテステーション用にフォーマットされたトランザクションテキスト。

定義済み規則     なし

CheckDictionaryWord

CheckDictionaryWord 規則を使用して辞書に対して JDBC クエリーを実行し、その辞書内にパスワードが存在するかどうか確認します。

入力値:    

次の引数を受け入れます。

カスタム CheckDictionaryWord 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

呼び出し:    

返される値:     ゼロ以上の文字列のリスト。

定義済み規則     なし

DateLibrary

DateLibrary は、配備における日付と時間の表示方法を制御する規則のデフォルトライブラリです。


Identity Manager IDE では、このライブラリは Date Library ライブラリオブジェクトとして表示されます。


入力値:     表 1-5 を参照してください。

カスタム DateLibrary 規則には、次を指定する必要があります。

AuthType:     Rule

SubType:     指定しない

返される値:     ブール型の値 (true または false)。表 1-5 を参照してください。

次の表は、DateLibrary 規則の例をまとめたものです。

表 1-5 DateLibrary 規則の例 

規則

入力変数

説明

Date Validation

mm/dd/yy yy

有効な日付の文字列を決定します。月または日の値が 1 桁で入力された場合は、その値を mm/dd/yy の形式に概算します。

  • 入力された文字列に有効な日付コンポーネントが含まれる場合は true
  • 入力された文字列に無効な日付コンポーネントが含まれる場合は false

Validate Day Month Year

  • month
  • day
  • year

有効な年、月、日の文字列を決定します。月または日の値が 1 桁で入力された場合は、その値を mm/dd/yy の形式に概算します。

  • 入力された文字列が有効な日付である場合は true
  • 入力された文字列が無効な日付である場合は false

Validate Time

HH:mm:ss

有効な時間の文字列を決定します。時間の文字列がこの形式でなかったり、コンポーネントが範囲外 (たとえば、時間がゼロより小さかったり、23 より大きい場合) である場合、規則は false を返します。

  • 入力された文字列が有効な時間である場合は true
  • 入力された文字列が無効な時間である場合は false

End User Controlled Organizations

End User Controlled Organizations の規則は、エンドユーザーインタフェースにログインするユーザーによって制御される組織のセットを決定します。これらの組織とエンドユーザー組織により、ユーザーが EndUser 機能 (AdminGroup) で指定される権限に対する制御の範囲が定義されます。これは規則なので、エンドユーザーインタフェースにログインするユーザーによって、制御の範囲を変えることができます。

入力値:    

認証するエンドユーザーのユーザービュー

カスタムの End User Controlled Organizations の規則には、次を指定する必要があります。

AuthType:     EndUserControlledOrganizationsRule

SubType:     指定しない

返される値:     単一の管理される組織 (string) または管理される組織のリスト。それぞれの値は組織名や ID などです。組織名が返された場合、Top まで完全修飾される必要があります (例: Top:Marketing:South)。

定義済み規則     デフォルトでは、ユーザーがメンバーである組織を返します (例: waveset.organization)。

EndUserRuleLibrary

EndUserRuleLibrary は、Identity Manager がエンドユーザーのアカウント情報を決定または検証するために使用する規則のデフォルトライブラリです。


デフォルトでは、Identity Manager のエンドユーザー匿名登録プロセスによって、ユーザーが指定する名 (firstName)、姓 (lastName)、従業員 ID (employeeID) を使用して、accountIdemailAddress の値が生成されます。匿名登録を行うと、電子メールアドレスとアカウント ID に非 ASCII 文字が表示できるようになります。

匿名登録の処理中に Identity Manager で使用されるアカウント ID や電子メールアドレスが ASCII 文字に保持されるように、国際ユーザーは次の手順を実行する必要があります。

  1. 次の EndUserRuleLibrary 規則を変更します。
  2. getAccountId: firstNamelastName、および letter substr を削除します。employeeId のみを使用します。
  3. getEmailAddress: firstNamelastName、および "." を削除します。employeeId のみを使用します。
  4. verifyFirstname: 長さチェックを 2 から 1 に変更して、単一文字のアジア名を入力できるようにします。
  5. エンドユーザーの End User Anon Enrollment Completion form を編集して、getAccountId 規則と getEmailAddress 規則への呼び出しから、引数 firstName および lastName を削除します。


Identity Manager IDE では、このライブラリは EndUserRuleLibrary ライブラリオブジェクトとして表示されます。


入力値:    

表 1-6表 1-7 を参照してください。

カスタム EndUserLibrary 規則には、次を指定する必要があります。

AuthType:    

EndUserLibrary

SubType:     指定しない

次の表は、EndUserRuleLibrary 規則の例をまとめたものです。

表 1-6 EndUserRuleLibrary 規則の例  

規則

入力変数

説明

getCallerSession

なし

フォームを実行するユーザー用の内部セッションコンテキスト (Lighthouse コンテキスト) を返します。

getUserView

  • resourceTargets リスト
  • accountId 文字列
  • includeAvailableRoleInfos ブール値

指定された accountId のユーザービューを返します。これには、リソースターゲットのリストやロール情報を含むかどうかが含まれます。

getView

  • nameOrId 文字列
  • type 文字列
  • options マップ

名前または GUID、オブジェクトのタイプ、およびオプションのマップによって指定されたオブジェクトのビューを返します。

getUnassignedResources

  • roles リスト
  • currentResources リスト
  • groups リスト

現在割り当てられていないリソースを特定します。

getDirectReports

  • manager 文字列
  • options マップ

指定されたマネージャーの直属の部下のリストを返します。たとえば、idmManager 属性が manager という入力変数によって指定されているユーザーのリストです。

getIndirectReports

  • manager 文字列
  • options マップ

指定されたマネージャーの直属ではない部下のリストを返します。たとえば、manager という入力変数によって指定されているユーザーのレポート構造内のユーザーのうち、直属の部下を除いたリストです。

getResourceObject
ParentId

  • resourceName 文字列
  • resObjectName 文字列
  • objType 文字列
  • objAttr 文字列

名前、オブジェクトタイプ、オブジェクト属性によって指定されたリソースの親の GenericObject を返します。

getObjectsByType

  • type 文字列
  • attributeVal 文字列
  • attributeName 文字列

タイプによって指定され、attributeName=attributeVal 条件と一致する GenericObject のリストを返します。

getRealName

  • accountId 文字列
  • addAccountId ブール値

accountId が設定されている場合に、ユーザーの「実際の名前」(FirstName <space> LastName など) を特定します。

  • addAccountId 引数が true の場合、Identity Manager は FirstName LastName (accountId) 文字列を返します。
  • FirstName または LastName 属性を特定できない場合、規則は accountId のみを返します。

:

  • 実際の名前を LastName, FirstName のように表示したい場合、この規則は簡単に変更できます。
  • ユーザーには、ほかのユーザーを検索できるような適切な権限が必要です。

次の表は、匿名登録に使用される EndUserRuleLibrary 規則の例をまとめたものです。

表 1-7 匿名登録用の EndUserRuleLibrary 規則の例  

規則

入力変数

説明

getAccountId

  • firstName 文字列
  • lastName 文字列
  • employeeId 文字列

名、姓、従業員 ID からアカウント ID を生成します。
First initial + last intial + employee ID

: 匿名登録の処理中に Identity Manager で使用されるアカウント ID や電子メールアドレスが ASCII 文字に保持されるように、国際ユーザーはこの規則を変更する必要があります。手順については、こちらを参照してください。

getEmailAddress

  • firstName 文字列
  • lastName 文字列
  • emailDomain 文字列

入力された名、姓、電子メールドメインから電子メールアドレスを生成します。firstname.lastname@emailDomain

: 匿名登録の処理中に Identity Manager で使用されるアカウント ID や電子メールアドレスが ASCII 文字に保持されるように、国際ユーザーはこの規則を変更する必要があります。手順については、こちらを参照してください。

getIdmManager

employeeId 文字列

作成するユーザーの従業員 ID に関連付けられる Identity Manager マネージャーのアカウント ID を返します。この規則は自分の開発環境用にカスタマイズする必要があります。
(デフォルトは configurator。)

getOrganization

なし

ユーザーが割り当てられる組織の名前を返します。この規則は自分の開発環境用にカスタマイズする必要があります。
(デフォルトは Top。)

runValidation

なし

verifyFirstnameverifyLastnameverifyEmployeeId、および verifyEligibility 規則を呼び出します。

verifyFirstname

firstName 文字列

エンドユーザー匿名登録プロセスのためにユーザーが入力した名を検証します。このサンプル規則では、名が NULL でないことを検証しています。この規則は自分の開発環境用にカスタマイズする必要があります。

: 匿名登録の処理中に Identity Manager で使用されるアカウント ID や電子メールアドレスが ASCII 文字に保持されるように、国際ユーザーはこの規則を変更する必要があります。手順については、こちらを参照してください。

verifyLastname

lastName 文字列

エンドユーザー匿名登録プロセスのためにユーザーが入力した姓を検証します。このサンプル規則では、姓が NULL でないことを検証しています。この規則は自分の開発環境用にカスタマイズする必要があります。

verifyEmployeeId

employeeId 文字列

エンドユーザー匿名登録プロセスのためにユーザーが入力した従業員 ID を検証します。このサンプル規則では、従業員 ID が有効であることを検証しています。この規則は自分の開発環境用にカスタマイズする必要があります。

verifyEligibility

  • firstName 文字列
  • lastName 文字列
  • employeeId 文字列

エンドユーザー匿名登録プロセスのためにユーザーが入力した従業員 ID を検証するために使用できます。この規則は開発用にカスタマイズする必要があります。

ExcludedAccountsRule

ExcludedAccountsRule は、リソース操作からのリソースアカウントの除外をサポートします。

入力値:     次の引数を受け入れます。

カスタム ExcludedAccountsRule 規則には、次を指定する必要があります。

AuthType:     ExcludedAccountsRule

SubType:     指定しない

定義済み規則    

次の例は、サブタイプの使用方法を示していますが、この例では UNIX アダプタの指定されたリソースアカウントが除外されます。

コード例 1-27 authType の使用例

<Rule name='ExcludedResourceAccounts' authType='ExcludedAccountsRule'>

   <RuleArgument name='accountID'/>

   <defvar name 'excludedList'>

      <List>

         <String>root</String>

         <String>daemon</String>

         <String>bin</String>

         <String>sys</String>

         <String>adm</String>

         <String>uucp</String>

         <String>nuucp</String>

         <String>listen</String>

         <String>lp</String>

      </List>

   </defvar>

   <cond>

      <eq>

         <contains>

            <ref>excludedList</ref>

            <ref>accountID</ref>

         </contains>

         <i>1</i>

      </eq>

      <Boolean>true</Boolean>

      <Boolean>false</Boolean>

   </cond>

</Rule>

次の例は、operation パラメータの使用方法を示しています。このパラメータを使用することにより、Active Sync が "Test User" リソースに対して実行中である場合にも、Identity Manager に影響を与えることなく、このリソースアカウントを操作できます。

コード例 1-28 operation パラメータの使用例  

<Rule name='Example Excluded Resource Accounts' authType='ExcludedAccountsRule'>

<!--

「Administrator」アカウント上のすべての操作を除外する

「Test User」アカウント上の activeSync イベントを除外する

-->

   <RuleArgument name='accountID'/>

   <RuleArgument name='operation'/>

<!-- IAPI 操作のリスト -->

   <defvar name='iapiOperations'>

      <List>

         <String>iapi_create</String>

         <String>iapi_update</String>

         <String>iapi_delete</String>

      </List>

   </defvar>

   <or>

   <!-- 管理者アカウントは常に無視する。-->

      <cond>

         <eq>

            <s>Administrator</s>

            <ref>accountID</ref>

         </eq>

         <Boolean>true</Boolean>

         <Boolean>false</Boolean>

      </cond>

<!-- 「Test User」アカウントの IAPI イベントは無視する -->

      <and>

         <cond>

            <eq>

               <contains>

                  <ref>iapiOperations</ref>

                  <ref>operation</ref>

               </contains>

               <i>1</i>

            </eq>

            <Boolean>true</Boolean>

            <Boolean>false</Boolean>

         </cond>

         <cond>

            <eq>

               <ref>accountID</ref>

               <s>Test User</s>

            </eq>

            <Boolean>true</Boolean>

            <Boolean>false</Boolean>

         </cond>

      </and>

   </or>

</Rule>

次の例は、RACF 用の ExcludedAccountsRule を示しています。

コード例 1-29 RACF 用の ExcludedAccountsRule 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE Waveset PUBLIC "waveset.dtd" "waveset.dtd">

<Waveset>

<Rule name="RACF EAR" authType="ExcludedAccountsRule">

   <RuleArgument name="accountID"/>

   <block>

     <defvar name="excludedList">

       <List>

         <String>irrcerta</String>

         <String>irrmulti</String>

         <String>irrsitec</String>

         <String>IBMUSER</String>

       </List>

     </defvar>

     <cond>

       <eq>

         <containsAny>

           <ref>excludedList</ref>

           <list>

             <upcase>

               <ref>accountID</ref>

             </upcase>

             <ref>accountID</ref>

           </list>

         </containsAny>

         <i>1</i>

       </eq>

       <Boolean>true</Boolean>

       <Boolean>false</Boolean>

     </cond>

   </block>

   <MemberObjectGroups>

     <ObjectRef type="ObjectGroup" id="#ID#Top" name="Top"/>

   </MemberObjectGroups>

</Rule>

</Waveset>

最後の例は、RACF LDAP 用の ExcludedAccountsRule を示しています。

コード例 1-30 RACF LDAP 用のアカウント除外規則 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE Waveset PUBLIC "waveset.dtd" "waveset.dtd">

<Waveset>

<Rule name="Test RACF_LDAP Case Insensitive Excluded Resource Accounts" authType="ExcludedAccountsRule">

<RuleArgument name="accountID"/>

<block>

   <defvar name="excludedList">

     <List>

       <String>irrcerta</String>

       <String>irrmulti</String>

       <String>irrsitec</String>

       <String>IBMUSER</String>

     </List>

   </defvar>

   <defvar name="convertedId">

     <get>

       <split>

         <get>

           <split>

             <ref>accountID</ref>

             <s>,</s>

             </split>

           <i>0</i>

         </get>

         <s>=</s>

       </split>

       <i>1</i>

     </get>

   </defvar>

   <cond>

     <eq>

       <containsAny>

         <ref>excludedList</ref>

         <list>

           <upcase>

             <ref>convertedId</ref>

           </upcase>

           <ref>convertedId</ref>

getAvailableServerOptions

getAvailableServerOptions 規則は、指定された同期メカニズムに対して使用できるサーバー設定オプションのリストを決定します。Waveset.properties 内の設定の使用は ActiveSync に対してのみ適用され、下位互換性のあるオプションです。

入力値:    

targetObjectType 引数を受け入れます。


IDMXUser の場合、リストには viaWavesetProperties が返されません。


カスタム getAvailableServerOptions 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

定義済み規則     なし

InsertDictionaryWord

InsertDictionaryWord 規則を使用して、Identity Manager 辞書に対して JDBC コマンドを実行し、データベースに新しい用語を読み込みます。

入力値:    

次の引数を受け入れます。

カスタム InsertDictionaryWord 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

呼び出し:    

返される値:     ゼロ以上の文字列のリスト。

定義済み規則     なし

IS_DELETE

IS_DELETE 規則は、PeopleSoft Active Sync アダプタ用に作成されたサンプル規則で、Active Sync イベントでユーザーを削除する必要があるのかどうかを決定します。

入力値:    

なし

カスタム IS_DELETE 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

定義済み規則     なし

Is Manager

Is Manager 規則は、指定された accountIds がシステム内の他のユーザーのマネージャーであるかどうかをテストします。

入力値:    

managerId 引数を受け入れます (<RuleArgument name='managerId'/>)。

カスタム Is Manager 規則には、次を指定する必要があります。

AuthType:     RoleConditionRule

SubType:     指定しない

呼び出し:    

返される値:     managerId がシステム内の任意のユーザーの idmManager として宣言されていれば true を返し、それ以外の場合は false を返します。

この規則は、呼び出し側の display.session セッションを使用してリポジトリ内でクエリーを発行します。つまり、この規則はフォームからしか呼び出すことができません。このチェックでは呼び出し側によって制御されている組織内のユーザーのみが一致対象となるので、managerId が呼び出し側の制御範囲外のユーザーのマネージャーである場合、この規則は false を返す場合があります。

定義済み規則     なし

LoginCorrelationRules

LoginCorrelationRules は、ユーザーログイン情報を Identity Manager ユーザーにマップします。LoginCorrelationRules では、規則によって Identity Manager ユーザーを検索し、1 つ以上の AttributeConditions のリストを返すことができるようなロジックを指定します。

入力値:    

なし

カスタム LoginCorrelationRules 規則には、次を指定する必要があります。

AuthType:     LoginCorrelationRule

SubType:     指定しない

呼び出し:     LoginModule によって呼び出し、ログイン情報を Identity Manager ユーザーにマップします。

返される値:     1 つ以上の AttributeConditions のリスト。

定義済み規則    

My Direct Reports

My Direct Reports 規則は、呼び出し側の直属の部下であるすべての Identity Manager ユーザーの名前を返します。管理機能は通常は階層構造になっていますが、この規則では、呼び出し側が自分のマネージャーに指定されているユーザーの名前のみを返します。この規則によって管理階層を飛び越えることはありません。

入力値:    

なし

カスタムの My Direct Reports 規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     USER_SCOPE_RULE

呼び出し:    

返される値:     呼び出し側が自分のマネージャーに指定されている Identity Manager ユーザー名のリスト。

定義済み規則     なし

NamingRules ライブラリ

NamingRules ライブラリは、規則の処理後に名前が表示される方法を制御できるようにする規則のデフォルトライブラリです。


Identity Manager IDE では、このライブラリは NamingRules ライブラリオブジェクトとして表示されます。


入力値:    

なし

カスタム NamingRulesLibrary 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

呼び出し:    

返される値:    

定義済み規則     なし

次の表は、NamingRules の例をまとめたものです。

表 1-8 NamingRules の例  

規則名

説明/出力

AccountName - First dot Last

Marcus.Aurelius

AccountName - First initial Last

MAurelius

AccountName - First underscore Last

Marcus_Aurelius

Email

marcus.aurelius@example.com
: メールドメインに AccountName 規則を追加する必要があります。

Fullname - First space Last

Marcus Aurelius

Fullname - First space MI space Last

Marcus A Aurelius

Fullname - Last comma First

Aurelius, Marcus

NewUsernameRules

NewUsernameRule は、標準のリポジトリ初期化ファイルで、ユーザーの識別名 (DN) の一番左側の相対識別名 (RDN) の値を抽出するために使用できます。

入力値:    

なし

カスタム NewUsernameRules 規則には、次を指定する必要があります。

AuthType:     NewUserNameRule

SubType:     指定しない

呼び出し:    

返される値:     登録時に新しいユーザーに対して提示されるユーザー名。
たとえば、Use SubjectDN Common Name によって cn=jsmith,ou=engineering,dc=acme,dc=com から jsmith が抽出されます。

定義済み規則     Use SubjectDN Common Name

Object Approvers As Attestors

Object Approvers As Attestors 規則は、設定された objectapprovers パラメータの値が NULL でない場合に、その値を返します。objectapprovers リストが設定されていない場合、この規則は新しい規則を作成し、Configurator ユーザーを含めます。

入力値:    

次の引数を受け入れます。

カスタムの Object Approvers As Attestors 規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     ATTESTORS_RULE

呼び出し:     実行中のアクセスレビューによる

返される値:    

定義済み規則     なし

Object Owners As Attestors

Object Owners As Attestors 規則は、設定された objectowners パラメータの値が NULL でない場合に、その値を返します。objectowners リストが設定されていない場合、この規則は新しい規則を作成し、Configurator ユーザーを含めます。

入力値:    

次の引数を受け入れます。

カスタムの Object Owners As Attestors 規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     ATTESTORS_RULE

呼び出し:     実行中のアクセスレビューによる

返される値:     Identity Manager ユーザー名のリスト。

定義済み規則     なし

Organization Names

Organization Names 規則は、現在のコンテキスト内のすべての組織の表示名のリストを返します。

入力値:    

なし

カスタム Organization Names 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

呼び出し:    

返される値:    

定義済み規則     なし

OS400UserFormRules

OS400UserFormRules を使用して、OS400 リソースのデフォルトのユーザーフォームを管理します。

入力値:    

なし

カスタム OS400UserFormRules 規則には、次を指定する必要があります。

AuthType:     EndUserLibrary

SubType:     指定しない

呼び出し:    

返される値:     表 1-9 を参照してください。

定義済み規則     OS400 User Form Default Values

次の表は、OS400UserFormRules の例をまとめたものです。

表 1-9 OS400UserFormRules の例  

規則名

説明

Default Password Expiration Interval

パスワードの有効期間のデフォルト値を返します。
返される値は 90 です。

Default Initial Program Call

ユーザーによって呼び出されるデフォルトの初期プログラムを返します。
返される値は *LIB/CCTC00CLP です。

Max Storage List Choices

記憶領域の最大量のデフォルト値を返します。値はキロバイト単位で表され、最大値なし、10M バイト、50M バイト、100M バイトと等しくなります。

Initial Menu Default

初期メニューのデフォルト値を返します。
返される値は *SIGNOFF です。

Language ID Default

デフォルトの言語 ID の値を返します。
返される値は *SYSVAL です。

Country ID Default

デフォルトの国 ID の値を返します。
返される値は *SYSVAL です。

Character Set Default

デフォルトの文字セット値のリストを返します。
返される値は *SYSVAL です。

UID Default

UID のデフォルト値を返します。
返される値は *GEN です。

Home Directory Prepend

ホームディレクトリを形成するために、ユーザー ID の前に付加されるパス。

RACFUserFormRules

RACFUserFormRules を使用して、RACF リソースアカウントのデフォルト設定を指定します。

入力値:    

なし

カスタム RACFUserFormRules 規則には、次を指定する必要があります。

AuthType:     EndUserLibrary

SubType:     指定しない

呼び出し:     RACF ユーザーフォームから

返される値:     ゼロ以上の文字列値のリスト。

定義済み規則     RACF User Form Default Values

次の表は、RACFUserFormRules の例をまとめたものです。

表 1-10 RACFUserFormRules の例  

規則名

説明

Prepend RACF Home Dir Path

ホームディレクトリを形成するために accountId の前に付加されるパス。

RACF OMVS Program

デフォルトの OMVS プログラム値を指定します。

RACF TSO Command

デフォルトの OMVS TSO 値を指定します。

RACF Master Catalog

デフォルトの OMVS プログラム値を指定します。

RACF User Catalog

デフォルトの OMVS プログラム値を指定します。

RACF Delete TSO Segment

デフォルトの Delete TSO Segment 値を指定します。

調整規則

次の表に、調整規則カテゴリに関連する一般的な Identity Manager プロセスまたはタスクに関する情報を示します。

相関規則

Identity Manager は調整時に相関規則を呼び出して、リソースアカウントを Identity Manager ユーザー (複数可) に関連付けます

入力値:     ResourceAdapter#getUser(WSUser) によって返されるリソースアカウントを表す WSUser を受け入れます。

カスタム相関規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     SUBTYPE_ACCOUNT_CORRELATION_RULE

名前空間:     スキーマに定義されているリソースアカウントのすべての属性値が、次のフォーマットで設定されます。

account. LHS Attr Name

呼び出し:     調整時

返される値:     指定したアカウントを所有する可能性のある既存のユーザーを選択するために使用できる条件。相関規則は、次のいずれかのフォームで条件を返すことができます。

Identity Manager は相関規則によって返される任意の条件セットを使用して、一致するユーザーをリポジトリに問い合わせます。

定義済み規則     Default Correlation

確認規則

Identity Manager は調整時に確認規則を呼び出して、リソースアカウントを Identity Manager ユーザー (複数可) と比較します

入力値:     次の引数を受け入れます。

カスタム確認規則には、次を指定する必要があります。

AuthType:     なし

SubType:     SUBTYPE_ACCOUNT_CONFIRMATION_RULE

名前空間:     リソースアカウントのすべての属性値とユーザービューのすべての属性値が、次のフォーマットで設定されます。

呼び出し:     調整時

返される値:     一致があるかどうかに応じた論理値 true または false (1 または 0)。

定義済み規則     Default Confirmation

RegionalConstants ライブラリ

RegionalConstants ライブラリは、州、日、月、国、およびカナダの州の表示方法を制御できるようにする規則のデフォルトライブラリです。


Identity Manager IDE では、このライブラリは RegionalConstants Rulesライブラリオブジェクトとして表示されます。


入力値:    

表 1-11 を参照してください。

カスタム RegionalConstants 規則には、次を指定する必要があります。

AuthType:     EndUserRule

SubType:     指定しない

呼び出し:    

返される値:     文字列のリスト。

定義済み規則     Regional Constants

次の表は、RegionalConstants 規則の例をまとめたものです。

表 1-11 RegionalConstants 規則の例  

規則名

入力変数

説明

US States

なし

米国の州名のリストを返します。

US State Abbreviations

なし

米国の州の標準的な省略名のリストを返します。

Days of the Week

なし

曜日のフルネームのリストを返します。

Work Days

なし

週の 5 労働日のリスト (米国) を返します。

Months of the Year

なし

年間の月のフルネームのリストを返します。

Month Abbreviations

なし

選択した月の標準的な省略名のリストを返します。

Numeric Months of the Year

なし

12 か月のリストを返します。

Days of the Month

なし

31 日 (一か月) のリストを返します。

Smart Days of the Month

  • month: 日付の計算対象となる月
  • year: 日付の計算対象となる月の年

数字で月と 4 桁の年に基づいたリストを返します。

Countries

なし

世界の国々の名前を英語でリストします。

Canadian Provinces

なし

カナダの州の名前を英語でリストします。

Remediation Transaction Message

Remediation Transaction Message 規則は、是正または受け入れのトランザクションテキストをフォーマットするために使用されるデフォルトの規則です。この規則をカスタマイズして、ユーザーの署名用にさらに多くの情報を設定できます。

入力値:    

次の引数を受け入れます。

カスタム Remediation Transaction Message 規則には、次を指定する必要があります。

AuthType:     EndUserAuditorRule

SubType:     指定しない

呼び出し:    

返される値:     フォーマットされた是正または受け入れのトランザクションテキスト。

定義済み規則     なし

Remediation Transaction Message Helper

Remediation Transaction Message Helper 規則は、単一の workitem の是正または受け入れ用にフォーマットされたトランザクションテキストを返します。

入力値:    

次の引数を受け入れます。

カスタム Remediation Transaction Message Helper 規則には、次を指定する必要があります。

AuthType:     EndUserAuditorRule

SubType:     指定しない

返される値:     フォーマットされた是正または受け入れのトランザクションテキスト。

定義済み規則     なし

ResourceFormRules

ResourceFormRules ライブラリは、多くのユーザーフォームで使用される値や選択内容をカスタマイズできるようにする規則のデフォルトライブラリです。これらの規則は、リソースのユーザー属性を選択する場合にもよく使用されます。

入力値:    

表 1-12 を参照してください。

カスタム ResourceFormRules 規則には、次を指定する必要があります。

AuthType:     EndUserLibrary

SubType:     指定しない

呼び出し:     UserForms によって明確に呼び出される

返される値:     文字列のリスト

定義済み規則     ResourceFormRuleLibrary

次の表は、ResourceFormRules の例をまとめたものです。

表 1-12 ResourceFormRules の例  

規則名

入力変数

説明

ListObjects

  • resourceType
  • resourceName
  • resourceInstance

複数のフォームによって使用できる groups などのリソースオブジェクトのリストを返します。

ListGroups

  • resourceName
  • resourceInstance

複数のフォームによって使用できるグループのリストを返します。: この規則は下位互換性を保持するために提供されています。

getDefaultShell

resourceType

複数のフォームによって使用できる特定の resourceType のデフォルトシェルを返します。各 resourceType が、リソースアダプタで指定されているのと同じデフォルトシェルを持つようにします。

Exchange Servers

なし

Exchange サーバーのリストを返します。

このリストを更新して、環境内に Exchange サーバーを追加することができます。

Home Directory Servers

なし

ユーザーのホームディレクトリを提供するシステムのリストを返します。

このリストを更新して、環境内にホームディレクトリドライブを提供するシステムを追加することができます。

AD Login Scripts

なし

ユーザーログインスクリプトのリストを返します。

このリストを更新して、環境内にログインバッチスクリプトを追加することができます。

Home Directory Drive Letters

なし

ドライブ文字をマップされたホームディレクトリのリストを返します。

このリストを更新して、環境内に共通のホームディレクトリマップドライブ文字を追加することができます。

Home Directory Volumes

なし

ホームディレクトリのボリューム名のリストを返します。

このリストを更新して、環境内に共通のホームディレクトリボリューム名を追加することができます。Identity Manager はこの値とホームディレクトリサーバーの値を使用して、ユーザーのホームディレクトリを作成します。ボリュームは、選択したホームディレクトリサーバー上に存在し、共有されている必要があります。

HDS Home Directory Servers

なし

ユーザーのホームディレクトリを提供するシステムのリストを返します。

このリストを更新して、環境内にホームディレクトリドライブを提供するシステムを追加することができます。

NDS Home Directory Types

なし

ドライブ文字をマップされたホームディレクトリのリストを返します。

このリストを更新して、環境内に共通のホームディレクトリマップドライブ文字を追加することができます。

NDS Home Directory Volumes

なし

ホームディレクトリのボリューム名のリストを返します。

このリストを更新して、環境内に共通のホームディレクトリボリューム名を追加することができます。Identity Manager はこの値とホームディレクトリサーバーの値を使用して、ユーザーのホームディレクトリを作成します。ボリュームは、選択したホームディレクトリサーバー上に存在し、共有されている必要があります。

NDS Template

  • resourceName
  • ndsTemplate
  • attrList

NDS テンプレートオブジェクトを返します。

Is Mail User

objectClasses

objectClasses リストに次のクラスがすべて含まれている場合には 1 を返し、それ以外の場合は 0 を返します。

  • inetuser
  • ipuser
  • inetmailuser
  • inetlocalmailrecipient
  • userpresenceprofile

getResourceAttribute

  • resName
  • attrNam

要求されたリソース属性の値を返します。

Resource Names

Resource Names 規則は、現在のコンテキスト内のリソースのリストを返します。

入力値:    

なし

カスタム Resource Names 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

呼び出し:    

返される値:     リソースのリスト

定義済み規則     なし

Role Approvers

Role Approvers 規則は、指定したロールの承認者であるユーザーのリストを提供します。

入力値:    

roleName 引数を受け入れます。

カスタム Role Approvers 規則には、次を指定する必要があります。

AuthType:     RoleUserRule

SubType:     指定しない

呼び出し:    

返される値:     指定されたロールに対して静的に定義された承認者のリスト。

定義済み規則     なし

Role Notifications

Role Notifications 規則は、ロールがユーザーに割り当てられたときに通知を受けるように指定されたユーザーのリストを提供します。

入力値:    

roleName 引数を受け入れます。

カスタム Role Notifications 規則には、次を指定する必要があります。

AuthType:     RoleUserRule

SubType:     指定しない

呼び出し:    

返される値:     指定されたロールについて通知するように静的に定義された管理者のリスト。

定義済み規則     なし

Role Owners

Role Owners 規則は、指定したロールの所有者であるユーザーのリストを提供します。

入力値:    

roleName 引数を受け入れます。

カスタム Role Owners 規則には、次を指定する必要があります。

AuthType:     RoleUserRule

SubType:     指定しない

呼び出し:    

返される値:     指定されたロールに対して静的に定義された所有者のリスト。

定義済み規則     なし

Sample On Local Network

Sample On Local Network 規則は、ログインモジュールグループがユーザーログインに適用されるかどうかを決定するために、ログイン時に評価される LoginConstraintRule の例です。

入力値:    

なし

カスタムの Sample On Local Network 規則には、次を指定する必要があります。

AuthType:     LoginConstraintRule

SubType:     指定しない

呼び出し:     ログイン処理の実行中に、ログインモジュールグループによって呼び出される

返される値:    

定義済み規則     なし

SAP Portal User Form Default Values

SAP Portal User Form Default Values ライブラリは、SAP Portal User Form Default Values を設定する規則のライブラリです。

入力値:    

なし

カスタムの SAP Portal User Form Default Values 規則には、次を指定する必要があります。

AuthType:     Library

SubType:     指定しない

返される値:     表 1-13 を参照してください。

定義済み規則     なし

次の表は、SAP Portal User Form Default Values の例をまとめたものです。

表 1-13 SAP Portal User Form Default Values 規則の例

規則名

入力変数

説明

Countries-ISO3166 Map

なし

ISO3166 国コードのマップを返します。

Currency Code Map

なし

通貨コードのマップを返します。

Locale Map

なし

ロケールのマップを返します。

TimeZones

なし

タームゾーン ID のリストを返します。

ShellRules

ShellRules ライブラリは、getDefaultShell という名前の 1 つの規則だけで構成されています。複数のフォームが getDefaultShell 規則を使用して、特定の Unix resourceType のデフォルトシェルを返します。

入力値:    

resourceType 引数を受け入れます。

有効な resourceTypes は Solaris、AIX、HP-UX、Red Hat Linux のみです。


resourceType が、リソースアダプタで指定されているのと同じデフォルトシェルを持つ必要があります。


カスタム ShellRules 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

返される値:     特定の resourceType のデフォルトシェルを含む文字列。

定義済み規則     なし

SIEBEL_NAV_RULE

SIEBEL_NAV_RULE は、AdvancedNavRule として指定できるサンプルのナビゲーション規則です。詳細は、Siebel CRM マニュアルの「Advanced Navigation」を参照してください。

入力値:     なし

カスタム SiebelNavigationRule には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

定義済み規則     なし

TestDictionary

TestDictionary 規則を使用して、Identity Manager 辞書に対して JDBC クエリーを実行して接続をテストします。

入力値:    

次の引数を受け入れます。

カスタム TestDictionary 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     指定しない

呼び出し:    

返される値:    

定義済み規則     なし

TopSecretUserFormRules

TopSecretUserFormRules を使用して、TopSecret リソースアカウントのデフォルト設定を指定します。

入力値:     なし

カスタム TopSecretUserFormRules 規則には、次を指定する必要があります。

AuthType:     EndUserLibrary

SubType:     指定しない

呼び出し:     TopSecret ユーザーフォームから

返される値:     表 1-14 を参照してください。

定義済み規則     なし

次の表は、TopSecretUserFormRules の例をまとめたものです。

表 1-14 TopSecretUserFormRules の例

規則名

説明

TopSecret Default OMVS

デフォルトの OMVS シェルを決定します。

TopSecret Default TSO

デフォルトの TSO プロセスを決定します。

TopSecret Home Prepend Path

ホームディレクトリを作成するために accountId の前に付加されるパス。

TopSecret Attribute List

ユーザーに割り当てることのできる属性のリストを返します。

ユーザーメンバー規則

ユーザーメンバー規則を使用すると、ログインしたユーザーに基づいて、単一の組織のユーザーメンバーシップを動的に制御できます。たとえば、ユーザーメンバー規則を My Employees という組織に割り当てた場合、この規則はこの組織のユーザーメンバーシップを次のように動的に制御します。

入力値:    

認証された管理者ユーザーのユーザービュー、コンテキスト、または認証された管理者ユーザーの Identity Manager セッション

カスタムのユーザーメンバー規則には、次を指定する必要があります。

AuthType:     UserMembersRule

SubType:     指定しない

呼び出し:    

返される値:    

定義済み規則     なし

USER_EMAIL_MATCHES_ACCOUNT_EMAIL_CONF

USER_EMAIL_MATCHES_ACCOUNT_EMAIL_CONF 規則は、Identity Manager ユーザーとアカウントを比較する確認規則です。

入力値:     なし

カスタム USER_EMAIL_MATCHES_ACCOUNT_EMAIL_CONF 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     SUBTYPE_ACCOUNT_CONFIRMATION_RULE

返される値:     email 属性値が一致する場合は True

定義済み規則     なし

USER_EMAIL_MATCHES_ACCOUNT_EMAIL_CORR

USER_EMAIL_MATCHES_ACCOUNT_EMAIL_CORR 規則は、指定したアカウント内の email 属性値と一致する email 属性値を持つ Identity Manager ユーザーを検索する相関規則です。

入力値:     なし

カスタム USER_EMAIL_MATCHES_ACCOUNT_EMAIL_CORR 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     SUBTYPE_ACCOUNT_CORRELATION_RULE

返される値:     属性条件のリスト。

定義済み規則     なし

USER_FIRST_AND_LAST_NAMES_MATCH_ACCOUNT

USER_FIRST_AND_LAST_NAMES_MATCH_ACCOUNT 規則は、fullname 属性を検索することによって、Identity Manager ユーザーとアカウントを比較する確認規則です。

入力値:     なし

カスタム USER_FIRST_AND_LAST_NAMES_MATCH_ACCOUNT 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     SUBTYPE_ACCOUNT_CONFIRMATION_RULE

返される値:     first name の値と last name の値が一致する場合は True、それ以外は false を返します

定義済み規則     なし

USER_NAME_MATCHES_ACCOUNT_ID

USER_NAME_MATCHES_ACCOUNT_ID 規則は、指定したアカウント内のユーザーと同じ名前の Identity Manager ユーザーを検索する相関規則です。

入力値:     なし

カスタム USER_NAME_MATCHES_ACCOUNT_ID 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     SUBTYPE_ACCOUNT_CORRELATION_RULE

返される値:     文字列値を返します

定義済み規則     なし

USER_OWNS_MATCHING_ACCOUNT_ID

USER_OWNS_MATCHING_ACCOUNT_ID 規則は、指定したアカウントの名前と一致する accountId を所有する Identity Manager ユーザーを検索する相関規則です。

入力値:     なし

カスタム USER_OWNS_MATCHING_ACCOUNT_ID 規則には、次を指定する必要があります。

AuthType:     指定しない

SubType:     SUBTYPE_ACCOUNT_CORRELATION_RULE

返される値:     属性条件のリストを返します

定義済み規則    

Users Without a Manager

Users Without a Manager 規則は、管理者である Identity Manager ユーザーを決定します。

入力値:     なし


この規則は、呼び出し範囲の lhcontext 変数を使用します。


カスタム Users Without a Manager 規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     USER_SCOPE_RULE

呼び出し:    

返される値:     定義されたマネージャーのいないユーザー名のリスト。

定義済み規則     なし

Use SubjectDN Common Name

Use SubjectDN Common Name 規則によって、主体の DN から主体の共通名を返します。

入力値:     なし

カスタムの Use SubjectDN Common Name 規則には、次を指定する必要があります。

AuthType:     NewUserNameRule

SubType:     指定しない

呼び出し:    

返される値:     共通名。

定義済み規則     なし

監査規則

複雑さを最小限に抑えながら高レベルの設定を可能にするために、Identity Auditor は、監査ポリシーやアクセススキャンオブジェクト設定内で規則をうまく利用します。

表 1-15 は、監査ポリシー是正の動作方法やアクセススキャンの操作方法をカスタマイズするために使用できる規則の概要を示しています。

表 1-15 監査規則の種類のクイック参照  

規則の種類

規則の例

subTypes および authTypes

目的

アテスター

Default Attestor

SubType: ATTESTORS_RULE

AuthType: AccessScanRule

手動エンタイトルメントに対してデフォルトアテスターを指定することで、アテステーションプロセスを自動化します。

アテスターエスカレーション

Default EscalationAttestor

SubType:
AttestorEscalationRule

AuthType: AccessScanRule

手動アテステーションに対してデフォルトのエスカレーションユーザーを指定することで、アテステーションプロセスを自動化します。

監査ポリシー

Compare Accounts to Roles

SubType: SUBTYPE_AUDIT_POLICY_RULE

SubType: SUBTYPE_AUDIT_POLICY_SOD_RULE

AuthType: AuditPolicyRule

ユーザーアカウントを現在のロールによって指定されたアカウントと比較します。

Compare Roles to Actual Resource Values

SubType: SUBTYPE_AUDIT_POLICY_RULE

SubType: SUBTYPE_AUDIT_POLICY_SOD_RULE

AuthType: AuditPolicyRule

現在のリソース属性を、現在のロールによって指定されたリソース属性と比較します。

是正ユーザーフォーム

 

SubType: USER_FORM_RULE

AuthType: 指定しない

特定のポリシー違反に応答するときにどの部分のユーザービューを表示するのかを、監査ポリシーの作者が制約できるようにすることで、アテステーションプロセスを自動化します。

是正者

Default Remediator

SubType: REMEDIATORS_RULE

AuthType: AccessScanRule

是正状態で作成されるすべてのエンタイトルメントに対して是正者を指定することで、是正プロセスを自動化します。

レビュー決定

Reject Changed Users

SubType:
REVIEW_REQUIRED_RULE

AuthType: AccessScanRule

ユーザーエンタイトルメントレコードを自動的に却下することによって、アテステーションプロセスを自動化します。

Review Changed Users

SubType:
REVIEW_REQUIRED_RULE

AuthType: AccessScanRule

ユーザーエンタイトルメントレコードを自動的に承認することによって、アテステーションプロセスを自動化します。

Review Everyone

SubType:
REVIEW_REQUIRED_RULE

AuthType: AccessScanRule

一部のユーザーエンタイトルメントレコードに手動アテステーションを必要とすることで、アテステーションプロセスを自動化します。

ユーザー範囲

All Administrators

SubType: USER_SCOPE_RULE

AuthType: AccessScanRule

アクセススキャンによってスキャンされるユーザーのリストを柔軟に選択できるようにします。

All Non-Administrators

SubType: USER_SCOPE_RULE

AuthType: AccessScanRule

アクセススキャンによってスキャンされるユーザーのリストを柔軟に選択できるようにします。

Users Without a Manager

SubType: USER_SCOPE_RULE

AuthType: AccessScanRule

アクセススキャンによってスキャンされるユーザーのリストを柔軟に選択できるようにします。

ViolationPriority

ViolationPriority

SubType: 指定しない

AuthType:
EndUserAuditorRule

カスタマイズ。配備において、有効な違反の優先度と対応する表示文字列を指定できるようにします。

ViolationSeverity

ViolationSeverity

SubType: 指定しない

AuthType:
EndUserAuditorRule

カスタマイズ。配備において、有効な違反の重要度と対応する表示文字列を指定できるようにします。

次の節では、次の Identity Auditor 規則について説明し、それぞれをカスタマイズする場合の方法とその理由について説明します。

アテスター規則

保留状態で作成されたユーザーエンタイトルメントは、だれかがアテストする必要があります。Identity Auditor は、アクセスレビュー時に各ユーザービューをアテスター規則に渡し、最初のアテステーションリクエストを取得する担当者を決定します。

WSUser オブジェクトの idmManager 属性には、ユーザーのマネージャーの Identity Manager アカウント名と ID が含まれています。

代替の実装を使用して、IdmManager と任意のリソース所有者の両方を (ビューに含まれるリソースの) アテスターとして指定できます。この規則では、現在のユーザービューと LighthouseContext オブジェクトを入力値として使用するので、Identity Manager によって認識されているすべてのデータを使用できます。

入力値:     次の引数を受け入れます。

カスタムアテスト規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     ATTESTORS_RULE

呼び出し:     アクセススキャン時で、すべての監査ポリシーの評価後だが、ユーザーエンタイトルメントをディスパッチする前

返される値:     ゼロ以上の Identity Manager アテスター名 (特定のユーザーエンタイトルメントのアテストを担当するユーザー) または NamedValue のペアのリスト。

定義済み規則     Default Attestor

場所:     「コンプライアンス」>「ポリシーの管理」>「アクセススキャン」>「アテスター規則」

アテスターエスカレーション規則

指定された時間内にアテスターが何もアクションを起こさなかったためにアテステーションが時間切れになった場合、ワークフローはアテスターエスカレーション規則を呼び出します。この規則はサイクルカウントに基づいて、エスカレーションチェーン内の次の人を返します。

入力値:     次の引数を受け入れます。

カスタムアテスターエスカレーション規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     AttestorEscalationRule

呼び出し:     アテステーションワークフローにおいて、作業項目が時間切れした場合。
(デフォルトのタイムアウトは 0 に設定されており、決して時間切れしないようになっている)。

返される値:     単一のアテスター名か、複数のアテスター名のリスト。これらは有効な Identity Manager アカウント名である必要があります。

定義済み規則     Default EscalationAttestor

場所:     「コンプライアンス」>「ポリシーの管理」>「アクセススキャン」>「アテスターエスカレーション規則」

監査ポリシー規則

監査ポリシーには、監査対象のオブジェクトを表すデータに適用される規則のセットが含まれています。各規則はブール値 (およびいくつかのオプション情報) を返すことができます。

ポリシーに違反しているかどうかを決定するために、監査ポリシーは各規則の結果の論理演算を評価します。監査ポリシーに違反している場合、コンプライアンス違反オブジェクトが、通常はポリシー、規則、または監査対象となったものごとに 1 つずつ発生します。たとえば、5 つの規則を含む監査ポリシーの場合は、5 つの違反が発生します。

入力値:    

なし

カスタム監査ポリシー規則には、次を指定する必要があります。

AuthType:     AuditPolicyRule


監査ポリシーウィザードを使用して監査ポリシー規則を作成する場合、このウィザードはデフォルトで AuditPolicyRule authType を使用します。

Identity Manager IDE または Identity Manager ビジネスプロセスエディタ (BPE) を使用して監査ポリシー規則を作成する場合は、必ず AuditPolicyRule authType を指定するようにしてください。


SubType    

呼び出し:     監査ポリシーの評価時

返される値:     監査ポリシー規則は整数値を返す必要がありますが、この値は次のいずれかのように表すことができます。

定義済み規則    

是正ユーザーフォーム規則

是正ユーザーフォーム規則は、特定のポリシー違反に応答するときにどの部分のユーザービューを表示するのかを、監査ポリシーの作者が制約できるようにします。

エンタイトルメント是正の処理中に是正者がユーザーを編集すると、JSP (approval/remModifyUser.jsp) が是正ユーザーフォーム規則を呼び出します。この規則によって、ユーザー編集のための適切なフォームをアクセススキャンが指定できるようになります。是正者がすでにユーザーフォームを指定済みである場合、アクセススキャンはそちらのフォームを使用します。

入力値:     item 引数 (是正作業項目) を受け入れます。

カスタム是正ユーザーフォーム規則には、次を指定する必要があります。

AuthType:     指定しない

Subtype:     USER_FORM_RULE

呼び出し:     JSP フォームの処理中に、是正者が是正フォーム上で「ユーザーの編集」をクリックしたあとに呼び出される

返される値:     ユーザーフォームの名前または NULL

定義済み規則     なし

場所:    

是正者規則

アクセスレビュー時にはすべてのユーザービューが是正者規則に渡され、最初の是正リクエストを取得する担当者が決定されます。この規則はアテスター規則と類似していますが、是正者規則は作業項目が是正状態で作成されたときに呼び出される点が異なります。

入力値:     次の引数を受け入れます。

カスタム是正者規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     REMEDIATORS_RULE

呼び出し:     アクセススキャン時で、すべての監査ポリシーの評価後で、ユーザーエンタイトルメントをディスパッチする前

返される値:     ゼロ以上の Identity Manager 是正者名のリストまたは NamedValue のペア

定義済み規則     Default Remediator

場所:     「コンプライアンス」>「ポリシーの管理」>「アクセススキャン」>「是正者規則」

レビュー決定規則

アクセスレビュー時にはすべてのユーザービューがレビュー決定規則に渡され、対応するユーザーエンタイトルメントレコードの自動承認または自動却下が可能か、是正状態への自動配置が可能か、あるいはそのレコードを手動でアテストする必要があるかのどうかが判別されます。ユーザーエンタイトルメントは完全なユーザービュー (一部のリソースは省略されることがある) と、いくつかの追跡しているデータです。

レビュー決定規則を使用すると、次のようにして、アクセスレビューの効率を大幅に向上させることができます。

入力値:     次の引数を受け入れます。

カスタムレビュー決定規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     REVIEW_REQUIRED_RULE

呼び出し:     アクセススキャン時で、すべての監査ポリシーの評価後で、ユーザーエンタイトルメントをディスパッチする前

返される値:     整数またはマップ

定義済み規則    

場所:     「コンプライアンス」>「アクセススキャンの管理」>「アクセススキャン」>「レビュー決定規則」

ユーザー範囲規則

アクセススキャンのユーザー範囲が規則によって制限されている場合、ユーザー範囲規則は、スキャンするユーザーのリストを決定するための評価を行います。

入力値:     lhcontext 引数を受け入れます。

カスタムユーザー範囲規則には、次を指定する必要があります。

AuthType:     AccessScanRule

SubType:     USER_SCOPE_RULE

呼び出し:     アクセススキャンの開始時

返される値:     Identity Manager ユーザー名または Identity Manager ユーザー名のリスト。どの名前も有効な Identity Manager ユーザー名である必要があります。

定義済み規則    

場所:     「コンプライアンス」>「アクセススキャンの管理」>「アクセススキャン」>「ユーザー範囲規則」

ViolationPriority 規則

ViolationPriority 規則を使用すると、配備において、有効な違反の優先度と対応する表示文字列を指定できるようになります。

入力値:     なし

カスタム ViolationPriority 規則には、次を指定する必要があります。

AuthType:     EndUserAuditorRule

SubType:     指定しない

呼び出し:     違反リストを表示するときと、違反の優先度を変更するとき

返される値:     優先度の整数値と対応する文字列を示す key/value ペアのリスト。この規則はマップではなくリストを返すので、整数値は連続している必要があります。


この規則をカスタマイズして、任意の優先度設定の表示値を変更することができます。

コンプライアンス違反が作成されたら、是正作業項目リストのビューア内で優先度の値を変更できます。1 つ以上の是正作業項目を選択して「優先度の設定」を選択すると、優先度の値を変更できるようになります。

これらの値を是正作業項目リストビューに表示するには、includeCV オプションを true (デフォルトは false) に設定することで、approval/remediate.jsp ページを変更する必要があります。ただし、詳細なビューを有効にするとパフォーマンスに影響が出るので、是正の多い配備では受け入れられないこともあります。

カスタム値は ViolationPriority 規則をマップではなく配列であると想定します。したがって、整数値として 100 を使用する場合、規則には (整数と文字列が交互になった) 200 の要素が必要です。リストにはこの整数の文字列マッピングが表示されると同時に、フォーム内の変更を行なった場所に選択内容が入力されます。


定義済み規則     ViolationPriority

場所:     是正リストフォームから呼び出される

ViolationSeverity 規則

ViolationSeverity 規則を使用すると、配備において、有効な違反の重要度と対応する表示文字列を指定できるようになります。

入力値:     なし

カスタム ViolationSeverity 規則には、次を指定する必要があります。

AuthType:     EndUserAuditorRule

SubType:     指定しない

呼び出し:     違反リストを表示するときと、違反の重要度を変更するとき

返される値:     重要度の整数値と対応する文字列を示す key/value ペアのリスト。この規則はマップではなくリストを返すので、整数値は連続している必要があります。


この規則をカスタマイズして、任意の優先度設定の表示値を変更することができます。

コンプライアンス違反が作成されたら、是正作業項目リストのビューア内で重要度の値を変更できます。1 つ以上の是正作業項目を選択して「優先度」を選択すると、重要度の値を変更できるようになります。

これらの値を是正作業項目リストビューに表示するには、includeCV オプションを true (デフォルトは false) に設定することで、approval/remediate.jsp ページを変更する必要があります。ただし、詳細なビューを有効にするとパフォーマンスに影響が出るので、是正の多い配備では受け入れられないこともあります。

カスタム値は ViolationSeverity 規則をマップではなく配列であると想定します。したがって、整数値として 100 を使用する場合、規則には (整数と文字列が交互になった) 200 の要素が必要です。リストにはこの整数の文字列マッピングが表示されると同時に、フォーム内の変更を行なった場所に選択内容が入力されます。


定義済み規則     ViolationSeverity

場所:     是正リストフォームから呼び出される

監査規則の複数のアカウントタイプのサンプル

監査規則の複数のアカウントタイプのサンプル規則を使用すると、リソースごとに複数のユーザーアカウントを動的にテストすることができます。次に例を示します。

  1. 複数のアカウントタイプを持つリソースを設定します (コード例 1-31 を参照)。
  2. コード例 1-31 監査規則の複数のアカウントタイプのサンプル規則

    <?xml version='1.0' encoding='UTF-8'?>

    <!DOCTYPE Waveset PUBLIC 'waveset.dtd' 'waveset.dtd'>

    <Waveset>

    <Rule subtype='IdentityRule' name='Administrator Identity'>

      <concat>

         <s>adm</s>

         <ref>attributes.accountId</ref>

      </concat>

    </Rule>

    </Waveset>

  3. 2 つのアカウントを持つユーザーをリソースに追加して、新しいリソース属性を別々に直接割り当てることができるようにユーザーフォームを設定します。
  4. account[Simulated Resource].department

    account[Simulated Resource|admin].department

  5. それぞれのアカウントに別々の値を割り当て、ポリシー規則をテストします。

場所:    

sample/rules/SampleAuditorRuleMultipleAccountTypes.xml

監査ポリシー規則

コンプライアンス違反は、優先度や重要度によって違反を見分けられるようにする重要度と優先度の数値属性をサポートしています。これらの属性は、監査規則の出力に基づいて、違反に割り当てることができます。

たとえば、監査規則によって次のような出力が提示された場合、コンプライアンス違反に割り当てられる重要度は 3 で、優先度は 4 になります。

<map>

  <s>result</s>

  <i>1</i>

  <s>severity</s>

  <i>3</i>

  <s>priority</s>

  <i>4</i>

</map>

次の規則は、コンプライアンス違反の数値と表示文字列をマッピングします。

Identity Auditor では、重要度設定または優先度設定の表示値を変更することで、これらの規則をカスタマイズすることができます。

コンプライアンス違反の作成後、是正作業項目リストビューアで 1 つ以上の是正作業項目を選択して「優先度」をクリックすると、重要度や優先度の値を表示および変更できるようになります。


重要度や優先度の値を是正作業項目リストビューアに表示するには、approval/remediate.jsp ページを変更して、includeCV オプションを true (デフォルトは false) に設定する必要があります。

ただし、詳細なビューを有効にするとパフォーマンスに影響が出るので、是正の多い配備では受け入れられないこともあります。


Service Provider 規則

ここでは、次の Service Provider 規則の例について説明します。

Service Provider Confirmation 規則

ここに例示する Service Provider Confirmation 規則は、candidates パスの下の accountId 候補のリストと、view パスの下のサービスプロバイダユーザービューにアクセスできます。

入力値:    

なし

カスタムの Service Provider Confirmation 規則には、次を指定する必要があります。

AuthType:     SPERule

SubType:     SUBTYPE_SPE_LINK_CONFIRMATION_RULE

返される値:     NULL または確認された accountId を表す文字列。

定義済み規則     なし

次の表は、サービスプロバイダのカスタマイズに使用できる確認規則の例をまとめたものです。

表 1-16 Service Provider Confirmation 規則の例

規則名

説明

Service Provider Example Confirmation Rule Rejecting All Candidates

リンク相関規則によるすべての候補を却下します。
NULL を返します。

Service Provider Example Confirmation Rule Returning First Candidate

候補リストの最初の accountId を返します。

Service Provider Example Confirmation Rule Selecting Candidates Using AccountId

ビュー内の accountId と一致する候補を返します。候補リスト内のビューに accountId が見つからなかった場合、規則は null を返します。

Service Provider Correlation 規則

ここに例示する Service Provider Correlation 規則は、サービスプロバイダのユーザービューにアクセスできます。

入力値:    

なし

カスタムの Service Provider Correlation 規則には、次を指定する必要があります。

AuthType:     SPERule

SubType:     SUBTYPE_SPE_LINK_CORRELATION_RULE

返される値:     単一の accountId、accountId のリスト、またはオプションマップ。

定義済み規則     なし

次の表は、サービスプロバイダのカスタマイズに使用できる相関規則の例をまとめたものです。

表 1-17 Service Provider Correlation 規則の例

規則名

説明

Service Provider Example Correlation Rule for LDAP Returning Option Map

オプションマップと LDAP アダプタで使用する検索フィルタを返します。LDAP リソースアダプタによって検索操作の範囲にフィルタを渡すことができます。このフィルタは LDAP 検索フィルタになると想定されています。

Service Provider Example Correlation Rule for Simulated Returning Option Map

オプションマップとシミュレートされたリソースアダプタで使用する検索フィルタを返します。シミュレートされたリソースアダプタによって検索操作の範囲にフィルタを渡すことができます。このアダプタでは、検索フィルタが AttributeExpression になると想定されています。

Service Provider Example Correlation Rule Returning List of Identities

ビュー内の accountId で構成される accountId のリストを LDAP DN フォーマットで返します。

Service Provider Example Correlation Rule Returning Single Identity

ビュー内の accountId で構成される単一の accountId を LDAP DN フォーマットで返します。

Service Provider Account Locking 規則

ここに例示する Service Provider Account Locking 規則は、サービスプロバイダのユーザービューにアクセスでき、Sun Directory Server でアカウントをロックまたはロック解除します。

入力値:    

表 1-18 を参照してください。

カスタムの Service Provider Account Locking 規則には、次を指定する必要があります。

AuthType:     SPERule

SubType:     指定しない

返される値:     なし

定義済み規則     なし

次の表は、サービスプロバイダのカスタマイズに使用できるアカウントロック規則の例をまとめたものです。

表 1-18 Service Provider Account Locking 規則の例

規則名

入力変数

説明

Service Provider Example Lock Account Rule

lockExpirationDate: ロックの期限が切れる java.util.Date (NULL も可)。

Sun Directory Server のアカウントをロックします。この規則は、サービスプロバイダのユーザービューのトップレベルの属性を変更します。

Service Provider Example Unlock Account Rule

なし

Sun Directory Server のアカウントをロック解除します。この規則は、サービスプロバイダのユーザービューのトップレベルの属性を変更します。



前へ      目次      索引      次へ     


Part No: 820-5455.   Copyright 2008 Sun Microsystems, Inc. All rights reserved.