![]() | |
Sun Java™ System Identity Manager 7.0 リソースリファレンス |
スクリプトホストスクリプトホストリソースアダプタは、IBM Host Access Class Library API を利用した OS/390 メインフレーム上のアプリケーションユーザーアカウントの管理をサポートします。このアダプタは、TN3270 エミュレータセッションでホストアプリケーションを管理します。
このアダプタは汎用アダプタであるため、高度な設定が可能です。このアダプタには、管理対象のホストアプリケーションに関する前提条件はありません。代わりに、顧客が提供するスクリプトセットを呼び出すことによってホストアプリケーションとの対話を実行します。
スクリプトホストリソースアダプタは、com.waveset.adapter.ScriptedHostResourceAdapter クラスで定義されます。
リソースを設定する際の注意事項
なし
Identity Manager 上で設定する際の注意事項
スクリプトホストリソースアダプタは、カスタムアダプタです。インストールプロセスを完了するには、次の手順を実行してください。
- スクリプトホストリソースを Identity Manager のリソースリストに追加するには、「管理するリソースの設定」ページの「カスタム リソース」セクションに次の値を追加してください。
com.waveset.adapter.ScriptedHostResourceAdapter
- Identity Manager のメインフレームアダプタは、IBM Host Access Class Library (HACL) を使用してメインフレームに接続します。HACL は、IBM Websphere Host On-Demand (HOD) で使用できます。HACL が含まれる推奨 jar は habeans.jar です。これは、HOD に付属する HOD Toolkit (または Host Access Toolkit) とともにインストールされます。HACL のサポートされるバージョンは、HOD V7.0、V8.0、および V9.0 に含まれるバージョンです。
ただし、このツールキットを利用できない場合は、HOD のインストールに含まれる次の jar を habeans.jar の代わりに使用できます。
- スクリプトホストアダプタは、顧客が提供する Javascript を必要とします。それらのスクリプトは Mozilla Rhino と互換性がある必要があります。Mozilla Rhino v1_5R2 は、Identity Manager に添付されており、$WSHOME/WEB-INF/lib/javascript.jar にあります。
改善された Javascript エラー報告機能が必要な場合は、最新バージョンの Mozilla Rhino (http://www.mozilla.org/rhino/) に、構文エラーやその他のエラーで生成されるメッセージの大幅な改善が示されています。デフォルトの javascript.jar を、Mozilla から入手した新しいバージョンに置き換えてもかまいません。
使用上の注意
ここでは、スクリプトホストリソースアダプタの使用に関連する情報を提供します。次のトピックで構成されています。
管理者
ホストリソースアダプタは、同じホストに接続している複数のホストリソースでの親和性管理者に対して最大接続数を強制しません。代わりに、各ホストリソース内部の親和性管理者に対して最大接続数が強制されます。
同じシステムを管理する複数のホストリソースがあり、現在それらが同じ管理者アカウントを使用するように設定されている場合は、同じ管理者がリソースに対して同時に複数のアクションを実行しようとしていないことを確認するために、それらのリソースを更新しなければならない可能性があります。
リソースアクションの指定
スクリプトホストアダプタのリソースウィザードの「リソースパラメータ」ページに表示される一連のテキストボックスで、ログイン、作成、削除、繰り返しなどのさまざまなプロビジョニングアクションをリソースアクションに指定できます。これらのフィールドは、リポジトリに読み込まれる Rhino Javascript が格納された ResourceAction オブジェクトを参照します。
実行時に、アダプタは次の処理を行います。
$WSHOME/sample/ScriptedHost/ScreenSampleActions.xml ファイルには、理論上のスクリーンベースのホストアプリケーションにユーザーをプロビジョニングするのに使用できるリソースアクション定義のサンプルセットが格納されています。それらの定義を、アプリケーションに合わせてカスタマイズする必要があります。
スクリプトホストアダプタは、次のプロビジョニングアクションに関するエンドユーザーのスクリプティングをサポートします。
どのアクションスクリプトも、java.util.Map クラスで定義されているように、actionContext マップを受け取ります。マップに格納できる内容は、アクションごとに異なります。次のそれぞれの節では、各アクションについ説明し、そのアクションに関する次の情報を示します。
前の表に示されたアクションの詳細については、次の各項を参照してください。
create アクション
create アクションは、ホストアプリケーションにユーザーを作成します。create アクションが定義されていない場合は、新しいユーザーをホストアプリケーションに追加できません。
コンテキスト
actionContext マップには次のエントリが含まれます。
エラー処理
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、作成の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、作成の失敗とみなされます。
delete アクション
delete アクションは、指定されたユーザーをホストアプリケーションから削除します。delete アクションが定義されていない場合は、ホストアプリケーションからユーザーを削除できません。
コンテキスト
actionContext マップには次のエントリが含まれます。
エラー処理
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、削除の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、削除の失敗とみなされます。
disable アクション
disable アクションは、ホストアプリケーション内の既存のユーザーを無効にします。このアクションが定義されていない場合は、ホストアプリケーションのユーザーを無効にできません。
コンテキスト
actionContext マップには次のエントリが含まれます。
エラー処理
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、無効化の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、無効化の失敗とみなされます。
enable アクション
enable アクションは、ホストアプリケーション内の既存のユーザーを有効にします。このアクションが定義されていない場合は、ホストアプリケーションのユーザーを有効にできません。
コンテキスト
actionContext マップには次のエントリが含まれます。
エラー処理
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、有効化の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、有効化の失敗とみなされます。
getAccountIterator アクション
getAccountIterator アクションは、既存ユーザーの繰り返しの実行に使用されるオブジェクトを返します。
アカウントの反復処理 (調整、「リソースから読み込み」) を実行する場合は、このアクションまたは listAll アクションのどちらかを定義してください。
getAccountIterator アクションが定義されていない場合は、listAll を呼び出してから listAll のリスト内の ID ごとに getUser を呼び出すことによって、アカウントの反復処理が実行されます。
getAccountIterator アクションが定義されておらず、listAll アクションも定義されていない場合は、アカウントの反復処理はサポートされません。
入力
actionContext マップには次のエントリが含まれます。
戻り値
スクリプトは、Java インタフェースの com.waveset.adapter.ScriptedHostAccessAdapter.ObjectIterator を実装する Java オブジェクトを返します。
public interface ObjectIterator {
public boolean hasNext();
public void next(java.util.Map nextObj);
public void close();
}next() メソッドへの nextObj マップ引数は、getUser アクションで説明している result エントリと同じ方法で、スクリプトによって入力されます。
エラー処理
スクリプト内から例外がスローされた場合は、繰り返しの失敗とみなされます。
スクリプトから返された Java オブジェクトでメソッドを呼び出しているときに例外のスローが発生した場合も、繰り返しの失敗とみなされます。
getUser アクション
getUser アクションは、ホストアプリケーションから次のいずれかを取得します。
getUser アクションは、必ず定義してください。
コンテキスト
actionContext マップには次のエントリが含まれます。
result マップには、スクリプトによって次のエントリが入力される必要があります。
エラー処理
一致するユーザーが見つからない場合、result マップは空のままにするようにしてください。
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、取得の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、取得の失敗とみなされます。
listAll アクション
listAll アクションは、ホストアプリケーションで見つかったユーザー ID のリストを取得します。
listAll アクションが定義されていない場合は、このリソースインスタンスの FormUtil.listResourceObjects メソッドをフォームから呼び出すことはできません。
listAll アクションが定義されておらず、getAccountIterator アクションも定義されていない場合は、アカウントの反復処理 (調整、「リソースから読み込み」) はサポートされません。
コンテキスト
actionContext マップには次のエントリが含まれます。
エラー処理
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、取得の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、取得の失敗とみなされます。
login アクション
login アクションは、認証されたセッションについて、カスタムホストアプリケーションのユーザー管理に必要なホストとのネゴシエーションを行います。このアクションは、必ず定義してください。
コンテキスト
actionContext マップには次のエントリが含まれます。
エラー処理
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、ログインの失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、ログインの失敗とみなされます。
logoff アクション
logoff アクションは、ホストからの切断を実行します。これは、接続が不要になった場合に呼び出されます。このアクションは、必ず定義してください。
コンテキスト
actionContext マップには次のエントリが含まれます。
エラー処理
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、ログオフの失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、ログオフの失敗とみなされます。
update アクション
update アクションは、ホストアプリケーションのユーザーを更新します。update アクションが定義されていない場合は、ホストアプリケーションのユーザーを更新できません。
コンテキスト
actionContext マップには次のエントリが含まれます。
エラー処理
アプリケーション固有のエラーが画面または応答に発生した場合、スクリプトが errors キーに適切な文字列を追加します。エラーが発生したと判断するために、さまざまな既知のエラー文字列の検索が必要になることがあります。
errors リストに項目が存在する場合は、更新の失敗とみなされます。さらに、スクリプト内から例外がスローされた場合は、更新の失敗とみなされます。
SSL 設定
ここでは、次の手順について説明します。
SSL または TLS を使用してアダプタを Telnet/TN3270 サーバーに接続する
SSL または TLS を使用してスクリプトホストリソースアダプタを Telnet/TN3270 サーバーに接続するには、次の手順を使用します。
- Telnet/TN3270 サーバーの証明書を PKCS #12 ファイル形式で取得します。このファイルのパスワードとして hod を使用します。サーバーの証明書をエクスポートする方法については、使用しているサーバーのマニュアルを参照してください。一般的なガイドラインについては、後述の「PKCS #12 ファイルの生成」の手順を参照してください。
- PKCS #12 ファイルから CustomizedCAs.class ファイルを作成します。最新バージョンの HOD を使用している場合は、次のコマンドを使用してこの作業を行います。
..¥hod_jre¥jre¥bin¥java -cp ../lib/ssliteV2.zip;../lib/sm.zip com.ibm.eNetwork.HOD.convert.CVT2SSLIGHT CustomizedCAs.p12 hod CustomizedCAs.class
- CustomizedCAs.class ファイルを Identity Manager サーバーのクラスパス内の任意の場所 ($WSHOME/WEB-INF/classes など) に配置します。
- 「セッションプロパティー」というリソース属性がリソースにまだ存在しない場合は、Identity Manager IDE またはデバッグページを使用して、この属性をリソースオブジェクトに追加します。<ResourceAttributes> セクションに、次の定義を追加します。
<ResourceAttribute name='セッションプロパティー' displayName='セッション プロパティー' description='セッションプロパティー' multi='true'>
</ResourceAttribute>
- リソースの「リソースパラメータ」ページに移動し、「セッションプロパティー」リソース属性に次の値を追加します。
SESSION_SSL
true
PKCS #12 ファイルの生成
次の手順は、SSL/TLS を介して Host OnDemand (HOD) リダイレクタを使用した場合の、PKCS #12 ファイルの生成の概要を示しています。このタスクの実行の詳細については、HOD のマニュアルを参照してください。
- IBM 証明書管理ツールを使用して、新しい HODServerKeyDb.kdb ファイルを作成します。このファイルの一部として、新しい自己署名付き証明書をデフォルトのプライベート証明書として作成します。
HODServerKeyDb.kdb ファイルの作成時に、「証明書データベースにキーを追加しようとしてエラーが発生した」という内容のメッセージが表示された場合は、1 つ以上の信頼できる認証局証明書の期限が切れている可能性があります。IBM の Web サイトをチェックして、最新の証明書を取得します。
- 作成したプライベート証明書を Base64 ASCII として cert.arm ファイルにエクスポートします。
- IBM 証明書管理ツールを使用して cert.arm ファイルから「署名者証明書」にエクスポートされた証明書を追加することにより、CustomizedCAs.p12 という名前の新しい PKCS #12 ファイルを作成します。このファイルのパスワードとして hod を使用します。
接続のトラブルシューティング
「セッションプロパティー」リソース属性に次の内容を追加することにより、HACL のトレースを有効にできます。
SESSION_TRACE
ECLSession=3 ECLPS=3 ECLCommEvent=3 ECLErr=3 DataStream=3 Transport=3 ECLPSEvent=3
Telnet/TN3270 サーバーにも、同じように利用できるログがあります。
セキュリティーに関する注意事項
ここでは、サポートされる接続と特権の要件について説明します。
サポートされる接続
Identity Manager は、TN3270 を使用してスクリプトホストアダプタと通信します。
必要な管理特権
ホストアプリケーションに接続する Identity Manager 管理者には、ホストアプリケーション内でユーザーの作成と管理を行うための十分な特権が与えられている必要があります。
プロビジョニングに関する注意事項
次の表に、このアダプタのプロビジョニング機能の概要を示します。
機能
サポート状況
アカウントの有効化/無効化
使用可
アカウントの名前変更
使用不可
アカウントの作成
使用可
アカウントの更新
使用可
アカウントの削除
使用可
パススルー認証
使用不可
前アクションと後アクション
使用可
データ読み込みメソッド
アカウント属性
アカウント属性は管理対象のホストアプリケーションによって異なるため、スクリプトホストアダプタにはデフォルトのアカウント属性が用意されていません。
リソースオブジェクトの管理
サポート対象外
アイデンティティーテンプレート
$accountId$
サンプルフォーム
なし
トラブルシューティング
Identity Manager のデバッグページを使用して、次のクラスでトレースオプションを設定します。
HostAccess クラスのトラブルシューティングの詳細については、TopSecret アダプタの「トラブルシューティング」を参照してください。
Javascript へのコンテキストには、渡される com.waveset.adapter.Trace オブジェクトが常に存在します。com.waveset.adapter.ScriptedHostResourceAdapter でトレースを有効にすると、Javascript でのトレースが有効になります。
また、一時的なトレースを標準出力に表示する場合は、Javascript で Java System.out.println() メソッドを呼び出すことができます。たとえば、次のようにします。
java.lang.System.out.println("Hello World");