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

Sun ロゴ
Sun Java™ System Identity Manager 7.0 リソースリファレンス 


シェルスクリプト

Identity Manager には、リソースをホストするシステム上で実行されるシェルスクリプトによって制御されるリソースを管理するためのシェルスクリプトリソースアダプタが用意されています。このアダプタは汎用アダプタであるため、高度な設定が可能です。

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

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

なし

Identity Manager 上で設定する際の注意事項

このリソースを Identity Manager のリソースリストに追加するには、「管理するリソースの設定」ページの「カスタムリソース」セクションに次の値を追加してください。

com.waveset.adapter.ShellScriptResourceAdapter

使用上の注意

リソースアクション

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

このアダプタでは、次の表に示すプロビジョニングアクションがサポートされます。

アクション

目的

必須性

create

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

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

delete

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

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

getAllUsers

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

必須。

getUser

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

必須。

update

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

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

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

リソースアクションに関する全般的な情報については、「リソースへのアクションの追加」を参照してください。

スクリプト

シェルスクリプトアダプタは、リソースホスト上で実行するシェルスクリプトファイルとしてアクションを実装します。これらのスクリプトは、リソースホスト上でスクリプトを実行するアカウント用に設定されているシェルで動作するように記述してください。

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

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

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

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

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

WSRSRC_Host='129.153.147.151'; export WSRSRC_Host

WSRSRC_Port='22'; export WSRSRC_Port

WSRSRC_Login_User='root'; export WSRSRC_Login_User

WSRSRC_password='074B7E28F5927C90:1C65216:108540A69DE:-7FFD|zGEBDGD3VRs='; export WSRSRC_password

WSRSRC_Login_Shell_Prompt=']#'; export WSRSRC_Login_Shell_Prompt

WSRSRC_Root_User='root'; export WSRSRC_Root_User

WSRSRC_credentials='074B7E28F5927C90:1C65216:108540A69DE:-7FFD|zGEBDGD3VRs='; export WSRSRC_credentials

WSRSRC_Root_Shell_Prompt=']#'; export WSRSRC_Root_Shell_Prompt"

WSRSRC_Connection_Type='SSH'; export WSRSRC_Connection_Type"

WSRSRC_Maximum_Connections='10'; export WSRSRC_Maximum_Connections"

WSRSRC_Connection_Idle_Timeout='900'; export WSRSRC_Connection_Idle_Timeout"

WSRSRC_Display_Name_Attribute='accountId'; export WSRSRC_Display_Name_Attribute"

WSRSRC_NAME='ShellTest'; export WSRSRC_NAME"

WSRSRC_ID='#ID#074B7E28F5927C90:B122A1:108E3E4CFAA:-7FFC'; export WSRSRC_ID"

WSRSRC_TYPE='Resource'; export WSRSRC_TYPE"

WSRSRC_CLASS='class com.waveset.object.Resource'; export WSRSRC_CLASS"

一般に、属性の値が 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



前へ      目次      索引      次へ     


Part No: 820-1584.   Copyright 2006 Sun Microsystems, Inc. All rights reserved.