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

第 36 章 Scripted Gateway

このアダプタは、com.waveset.adapter.ScriptedGatewayResourceAdapter クラスで定義されます。

スクリプトゲートウェイアダプタは、Sun Identity Manager Gateway で実行されるバッチファイルで制御されるリソースを管理します。このアダプタは汎用アダプタであるため、高度な設定が可能です。

アダプタの詳細

リソースを設定する際の注意事項

なし

Identity Manager のインストールに関する注意事項

スクリプトホストリソースを Identity Manager のリソースリストに追加するには、「管理するリソースの設定」ページの「カスタムリソース」セクションに次の値を追加する必要があります。

com.waveset.adapter.ScriptedGatewayResourceAdapter

Sun Identity Manager Gateway (gateway.exe) は、アダプタの「ホスト」フィールドで指定したホストにインストールする必要があります。

使用上の注意

リソースアクション

スクリプトゲートウェイアダプタでは、ユーザーアカウントの作成、更新、削除、取得などの基本的なプロビジョニング機能を実行する一連のアクションを作成できます。これらの各アクションは、それぞれ Windows のバッチファイルに定義されます。

このアダプタは、次のプロビジョニングアクションをサポートします。

アクション

目的

必須であるか

create 

新しいユーザーを作成します。 

省略可能。 ただし、指定されていない場合は、ユーザーを作成できません。 

delete 

既存のユーザーを削除します。 

省略可能。 ただし、指定されていない場合は、ユーザーを削除できません。 

getAllUsers 

リソース上のすべてのユーザーに関する情報を取得します。 

はい。 

getUser 

既存ユーザーの属性を取得します。 

はい。 

update 

既存ユーザーの属性を更新します。 

省略可能。 ただし、指定されていない場合は、ユーザーを更新できません。 

$WSHOME/sample/ScriptedGateway ディレクトリには、理論上のゲートウェイスクリプトベースのホストアプリケーションにユーザーをプロビジョニングするのに使用できるリソースアクション定義のサンプルセットが格納されています。環境に合わせてそれらの定義をカスタマイズしてください。

リソースアクションの一般的な情報については、第 50 章リソースへのアクションの追加を参照してください。

スクリプト

スクリプトゲートウェイアダプタは、ゲートウェイ上で実行するバッチファイルとしてアクションを実装します。これらのスクリプトは、スクリプトを実行するマシンにインストールされている Windows のバージョン上で実行されるように記述する必要があります。ゲートウェイを実行するアカウントと同じアカウントが、スクリプトも実行します。

スクリプトは、Windows の規則に従い、成功を示すリターンコード 0 で終了するようにしてください。0 以外のコード (スクリプトの作成者が定めた) を返すことは、操作が正しく完了しなかった可能性があるという意味になります。

スクリプトは、Windows の標準エラーや標準出力ストリームにテキストを出力できます。操作の種類、操作のコンテキスト、および失敗のタイプによっては、その操作の結果にテキストを表示することができます。

getUser および getAllUsers 操作では、このテキストは、各ユーザーの属性を特定するために標準出力ストリームで解析されます。

次のタイプの環境変数を、スクリプトにエクスポートできます。

次の例は、サンプルで生成される環境を示しています。

WSUSER_Email=testuser@waveset.com
WSUSER_First Name=JUnit
WSUSER_Full Name=JUnit TestUser
WSUSER_Last Name=TestUser
WSUSER_User ID=USER5647
WSUSER_ws_action_type=WindowsBatch
WSOBJ_ID=testuser
WSOBJ_NAME=testuser
WSRSRC_NAME=Scripted Gateway
WSRSRC_CLASS=com.waveset.adapter.ScriptedGatewayResourceAdapter
WSRSRC_Host=localhost
WSRSRC_List Objects Timeout=900000
WSRSRC_Request Timeout=30000
WSRSRC_TCP Port=9278
WSRSRC_connectionLimit=10

一般に、属性の値が NULL の場合は、対応する環境変数に長さが 0 の文字列が設定されるのではなく、その環境変数が省略されます。

スクリプトで使用可能な変数については、第 50 章リソースへのアクションの追加を参照してください。

結果処理

AttrParse メカニズムは、標準出力ストリームを通して getUser および getAllUsers アクションから返された結果を処理します。AttrParse オブジェクトの実装については、第 49 章AttrParse オブジェクトの実装を参照してください。

AttrParse は、getUser アクションに対してユーザー属性のマップを返します。getAllUsers アクションの場合は、マップのマップを生成します。返されるマップの各エントリには、次の内容が含まれます。

属性と値を判定するには、AttrParse トークンである collectCsvHeader および collectCsvLines を使用してください。同じような操作を行うほかの AttrParse トークンを使用しないでください。

ゲートウェイタイムアウト

スクリプトゲートウェイでは、RA_HANGTIMEOUT リソース属性を使用してタイムアウト値を秒単位で指定できます。この属性は、ゲートウェイに対する要求がタイムアウトしてハングしているとみなされるまでの時間を制御します。

次のように、この属性を Resource オブジェクトに手動で追加する必要があります。

<ResourceAttribute name=’Hang Timeout’ 
  displayName=’com.waveset.adapter.RAMessages:RESATTR_HANGTIMEOUT’ type=’int’ 
  description=’com.waveset.adapter.RAMessages:RESATTR_HANGTIMEOUT_HELP’ value=’
  NewValue’> 
</ResourceAttribute>

この属性のデフォルト値は 0 です。これは Identity Manager がハングした接続を確認しないことを表します。

セキュリティーに関する注意事項

ここでは、サポートされる接続と特権の要件について説明します。

サポートされる接続

Sun Identity Manager Gateway が必要です。

必要な管理特権

スクリプトを実行する管理アカウントは、ゲートウェイで定義されているすべての操作について承認されている必要があります。

プロビジョニングに関する注意事項

次の表に、スクリプトゲートウェイアダプタのプロビジョニング機能の概要を示します。

機能  

サポート状況  

アカウントの作成 

あり 

アカウントの更新 

あり 

アカウントの削除 

あり 

アカウントの有効化/無効化 

あり 

アカウントの名前の変更 

なし 

パススルー認証 

なし 

前アクションと後アクション 

なし 

データ読み込みメソッド 

リソースから直接インポート 

調整 

アカウント属性

アカウント属性は多種多様であるため、スクリプトゲートウェイアダプタにはデフォルトのアカウント属性が用意されていません。

アイデンティティーシステムユーザー属性の名前が accountId であるアカウント属性を定義する必要があります。

リソースオブジェクトの管理

サポートされません。

アイデンティティーテンプレート

なし。有効な値を持つアイデンティティーテンプレートを設定する必要があります。

サンプルフォーム

なし

トラブルシューティング

Identity Manager のデバッグページを使用して、次のクラスでトレースオプションを設定します。

com.waveset.adapter.ScriptedGatewayResouceAdapter