スクリプトゲートウェイアダプタでは、ユーザーアカウントの作成、更新、削除、取得などの基本的なプロビジョニング機能を実行する一連のアクションを作成できます。これらの各アクションは、それぞれ Windows のバッチファイルに定義されます。
このアダプタは、次のプロビジョニングアクションをサポートします。
目的 |
必須であるか |
|
---|---|---|
create |
新しいユーザーを作成します。 |
省略可能。 ただし、指定されていない場合は、ユーザーを作成できません。 |
delete |
既存のユーザーを削除します。 |
省略可能。 ただし、指定されていない場合は、ユーザーを削除できません。 |
getAllUsers |
リソース上のすべてのユーザーに関する情報を取得します。 |
はい。 |
getUser |
既存ユーザーの属性を取得します。 |
はい。 |
update |
既存ユーザーの属性を更新します。 |
省略可能。 ただし、指定されていない場合は、ユーザーを更新できません。 |
$WSHOME/sample/ScriptedGateway ディレクトリには、理論上のゲートウェイスクリプトベースのホストアプリケーションにユーザーをプロビジョニングするのに使用できるリソースアクション定義のサンプルセットが格納されています。環境に合わせてそれらの定義をカスタマイズしてください。
リソースアクションの一般的な情報については、第 50 章リソースへのアクションの追加を参照してください。
スクリプトゲートウェイアダプタは、ゲートウェイ上で実行するバッチファイルとしてアクションを実装します。これらのスクリプトは、スクリプトを実行するマシンにインストールされている Windows のバージョン上で実行されるように記述する必要があります。ゲートウェイを実行するアカウントと同じアカウントが、スクリプトも実行します。
スクリプトは、Windows の規則に従い、成功を示すリターンコード 0 で終了するようにしてください。0 以外のコード (スクリプトの作成者が定めた) を返すことは、操作が正しく完了しなかった可能性があるという意味になります。
スクリプトは、Windows の標準エラーや標準出力ストリームにテキストを出力できます。操作の種類、操作のコンテキスト、および失敗のタイプによっては、その操作の結果にテキストを表示することができます。
getUser および getAllUsers 操作では、このテキストは、各ユーザーの属性を特定するために標準出力ストリームで解析されます。
スキーママップの アイデンティティーシステム リソース属性列で定義されたアカウント属性はいずれも、そのアカウント属性の先頭に WSUSER_ を付加することで、スクリプトで利用できるようになります。たとえば、アカウント属性の名前が Full Name の場合、その環境変数は WSUSER_Full Name という名前になります。
WSRSRC_ で始まる環境変数で、アダプタの設定を渡すことができます。もっとも重要な変数は、アダプタの名前を定義する WSRSRC_Name です。異なるリソースで同じスクリプトを実行する場合は、この変数を実装すると、それぞれのゲートウェイで同じ操作を行うスクリプトの複数のコピーを維持する手間を省けます。
WSOBJ_ID 変数と WSOBJ_NAME 変数は、それぞれアカウント ID とアカウント名を定義します。これらの変数は、スクリプトゲートウェイアダプタでのみ使用できます。
次の例は、サンプルで生成される環境を示しています。
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 によって返されるようなユーザー属性のマップである値。
アカウント ID または (ID が不明の場合は) 名前を示すキー。
属性と値を判定するには、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 がハングした接続を確認しないことを表します。