Sun Java™ System Identity Manager 7.0 リソースリファレンス |
シェルスクリプトIdentity Manager には、リソースをホストするシステム上で実行されるシェルスクリプトによって制御されるリソースを管理するためのシェルスクリプトリソースアダプタが用意されています。このアダプタは汎用アダプタであるため、高度な設定が可能です。
このアダプタは、com.waveset.adapter.ShellScriptResourceAdapter クラスで定義されます。
リソースを設定する際の注意事項
なし
Identity Manager 上で設定する際の注意事項
このリソースを Identity Manager のリソースリストに追加するには、「管理するリソースの設定」ページの「カスタムリソース」セクションに次の値を追加してください。
com.waveset.adapter.ShellScriptResourceAdapter
使用上の注意
リソースアクション
シェルスクリプトアダプタでは、ユーザーアカウントの作成、更新、削除、取得などの基本的なプロビジョニング機能を実行する一連のアクションを作成できます。これらの各アクションは、シェルスクリプトで定義されます。
このアダプタでは、次の表に示すプロビジョニングアクションがサポートされます。
$WSHOME/sample/ShellScript ディレクトリには、理論上のシェルスクリプトベースのホストアプリケーションにユーザーをプロビジョニングするのに使用できるリソースアクション定義のサンプルセットが格納されています。環境に合わせてそれらの定義をカスタマイズしてください。
リソースアクションに関する全般的な情報については、「リソースへのアクションの追加」を参照してください。
スクリプト
シェルスクリプトアダプタは、リソースホスト上で実行するシェルスクリプトファイルとしてアクションを実装します。これらのスクリプトは、リソースホスト上でスクリプトを実行するアカウント用に設定されているシェルで動作するように記述してください。
スクリプトは規則に従い、成功を示すリターンコード 0 で終了するようにしてください。0 以外のコード (スクリプトの作成者が定めた) を返すことは、操作が正しく完了しなかった可能性があるという意味になります。
スクリプトは、標準エラーや標準出力ストリームにテキストを出力できます。操作の種類、操作のコンテキスト、および失敗のタイプによっては、その操作の結果にテキストを表示することができます。
getUser および getAllUsers 操作では、このテキストは、各ユーザーの属性を特定するために標準出力ストリームで解析されます。
以下のタイプの環境変数は、スクリプトにエクスポートできます。
- スキーママップの アイデンティティーシステム リソース属性列で定義されたアカウント属性はどれでも、そのアカウント属性の先頭に WSUSER_ を付加すると、スクリプトで利用できるようにできます。たとえば、アカウント属性の名前が Full Name の場合、その環境変数は WSUSER_Full_Name という名前になります。スペースは下線に置き換えられます。
- WSRSRC_ で始まる環境変数で、アダプタの設定を渡すことができます。もっとも重要な変数は、アダプタの名前を定義する WSRSRC_Name です。異なるリソースで同じスクリプトを実行する場合は、この変数を実装すると、それぞれのホストで同じ操作を行うスクリプトの複数のコピーを維持する手間を省けます。
次のコード例は、サンプルで生成される環境を示しています。
一般に、属性の値が NULL の場合は、対応する環境変数に長さが 0 の文字列が設定されるのではなく、その環境変数は省略されます。
スクリプトで使用可能な変数の詳細については、「リソースへのアクションの追加」を参照してください。
結果処理
AttrParse メカニズムは、標準出力ストリームを通して getUser アクションと getAllUsers アクションから返された結果を処理します。このメカニズムの詳細については、第 2 章「AttrParse オブジェクトの実装」を参照してください。
getUser アクションの場合、AttrParse はユーザー属性のマップを返します。getAllUsers アクションの場合は、マップのマップを生成します。返されるマップの各エントリには、次の内容が含まれます。
collectCsvHeader および collectCsvLines AttrParse トークンを使用すると、属性と値を特定できます。
セキュリティーに関する注意事項
ここでは、サポートされる接続と特権の要件について説明します。
サポートされる接続
リソースホストへ接続するには SSH または Telnet を使用します。機密属性を通信する場合は、SSH を使用してください。
必要な管理特権
スクリプトを実行する管理アカウントは、スクリプトで定義されているすべての操作について承認されている必要があります。
プロビジョニングに関する注意事項
次の表に、シェルスクリプトアダプタのプロビジョニング機能の概要を示します。
機能
サポート状況
アカウントの作成
使用可
アカウントの更新
使用可
アカウントの削除
使用可
アカウントの有効化/無効化
使用不可
アカウントの名前変更
使用不可
パススルー認証
使用不可
前アクションと後アクション
使用不可
データ読み込みメソッド
getAllUsers アクションが定義されている場合は、次のデータ読み込みメソッドがサポートされます。
アカウント属性
アカウント属性は多種多様であるため、シェルスクリプトアダプタにはデフォルトのアカウント属性が用意されていません。
アカウントは、アイデンティティーシステムユーザー属性の名前が accountId であるアカウント属性を持つ必要があります。
リソースオブジェクトの管理
サポート対象外。
アイデンティティーテンプレート
なし。有効な値を持つアイデンティティーテンプレートを提供してください。
サンプルフォーム
サンプルユーザーフォームはありませんが、リソースと AttrParse 定義の例が次の場所にあります。
$WSHOME/sample/ShellScript/ShellScriptResourceObjects55.xml
トラブルシューティング
Identity Manager のデバッグページを使用して、次のクラスにトレースオプションを設定します。
com.waveset.adapter.ShellScriptResouceAdapter