Sun Identity Manager 8.1 リソースリファレンス

アクションの定義

アクションは、次の構造を持っています。

<ResourceAction name=’Name’>
    <ResTypeAction restype=’ResourceType’ actionType=’Language’ timeout=’Milliseconds’>
       <act>
       ...
       </act>
    </ResTypeAction>
 </ResourceAction>

各表記の意味は次のとおりです。

<act> 要素はアクションを定義します。この要素には、リソース上で実行されるコードが含まれます。たとえば、次の XML は Solaris リソースのアクションを定義しています。

<?xml version=’1.0’ encoding=’UTF-8’?>
<!DOCTYPE Waveset PUBLIC ’waveset.dtd’ ’waveset.dtd’>
<Waveset>
    <ResourceAction name=’after-create’>
       <ResTypeAction restype=’Solaris’ timeout=’60000’>
          <act>
          #!/bin/ksh
          echo "$WSUSER_accountId says Hello World!"
          # exit $DISPLAY_INFO_CODE if there is not a failure, but you want
          # the output to be propagated to the UI
          #exit 0
          exit $DISPLAY_INFO_CODE
          </act>
       </ResTypeAction>
    </ResourceAction>
</Waveset>

注 –

<act> 要素内に含まれるコードは、UNIX スクリプト (ksh または sh) や Windows バッチスクリプトで使用されるコードと同じです。


環境変数の使用

環境変数はエクスポートされ、アクションで利用できるようになります。これらの環境変数は、ユーザーに関する値 (リソーススキーママップの「アイデンティティーシステム リソース属性」列で定義される) を持つ、スキーマにマップされたすべての属性を、先頭に WSUSER_ を付加して構成します。たとえば、前述の例では、Solaris リソーススキーママップで定義された AccountId 属性の先頭に WSUSER_ を付加した形式の、環境変数 WSUSER_AccountId が使用されています。これらの変数がそれぞれのシェル内で環境変数として認識されるように、Solaris では変数名の前に $ (ドル記号) が付加されます。

OS/400 はコマンド言語に変数の代入機能がないため、リソースアダプタは変数名を検索し、リソースにコマンド行を送信する前に代入を実行します。変数を認識させるために、変数の前後に $ を付加する必要があります。特に、OS/400 スクリプトで WSUSER_AccountId を使用するには、コマンド行に $accountId$ を入力します。「WSUSER」を削除することに注意してください。

使用例:

<ResTypeAction restype="OS/400" timeout="6000">
<act>
CRTOUTQ OUTQ(SYSTEME/$accountId$)
</act>
</ResTypeAction>

後アクションの実装

Identity Manager は更新の際に、変更された属性だけをリソースにプッシュします。アクションは変更されていない属性にアクセスできません。変更されていない可能性のある属性が必要な後アクションを記述する場合は、次の回避方法を検討してください。

Procedure変更されていない属性にアクセスする

  1. リソースのスキーママップに、アクセスする必要のあるアカウント属性を模倣する余分な属性を追加します。たとえば、fullname アカウント属性にアクセスする必要がある場合は、shadow_fullname という名前の属性を作成します。スキーママップの「リソースユーザー属性」列で、この新しい属性に IGNORE_ATTR の値を追加して、アダプタが属性を使用するのを防ぎます。

  2. この属性に入力されるように、値をユーザーフォームに設定します。


    <Field name=’accounts[ResourceName].shadow_fullname’>
        <Expansion>
           <ref>accounts[ResourceName].fullname</ref>
        </Expansion>
     </Field>
  3. アクション内で %WSUSER_shadow_fullname% を参照して、値を取得できるようにします。

    Identity Manager は、IGNORE_ATTR に設定されている属性を取得しません。その結果、Identity Manager は shadow_fullname などの属性の内容を新しい値と見なします。この属性は常にアダプタにプッシュされ、後アクションに使用できます。

アクションファイルの作成

アクションファイルを作成するときは、次に示す事項に留意してください。

Identity Manager へのアクションファイルの読み込み

アクションを Identity Manager にインポートするには、次の手順に従います。

Procedureアクションファイルをインポートする

  1. Identity Manager 管理者インタフェースにログインします。

  2. メニューバーで、「設定」、「交換ファイルのインポート」の順に選択します。

  3. アクションが含まれている XML ファイルを入力するか、ファイルを参照して選択し、「インポート」をクリックします。