![]() | |
Sun Java™ System Identity Manager 7.1 リソースリファレンス |
BridgeStream SmartRolesBridgeStream SmartRoles アダプタは、ユーザーを SmartRoles にプロビジョニングします。このアダプタは、これらのユーザーを SmartRoles 内で適切な組織に配置することで、これらのユーザーが持つべきビジネスロールを SmartRoles によって決定できるようにします。
SmartRoles からユーザーを検出するときに、アダプタはユーザーのビジネスロールを検出します。これらのビジネスロールは、ユーザーに割り当てる必要のある Identity Manager のロール、リソース、属性、およびアクセスを決定するために、Identity Manager 内で使用できます。
さらに、SmartRoles を、Active Sync を使用するユーザー変更のソースにすることもできます。SmartRoles ユーザーを Identity Manager にロードして、それらを調整できます。
BridgeStream SmartRoles リソースアダプタは、com.waveset.adapter.SmartRolesResourceAdapter クラスで定義されます。
リソースを設定する際の注意事項
なし
Identity Manager 上で設定する際の注意事項
SmartRoles アダプタは、カスタムアダプタです。インストールプロセスを完了するには、次の手順を実行してください。
- SmartRoles リソースを Identity Manager のリソースリストに追加するには、「管理するリソースの設定」ページの「カスタムリソース」セクションに次の値を追加してください。
com.waveset.adapter.SmartRolesResourceAdapter
- 次のJAR ファイルを SmartRoles インストールディレクトリ
(SR_install_dir/Foundation/lib) から $WSHOME/WEB-INF/lib にコピーします。- SR_install_dir/Foundation/config ディレクトリから $WSHOME/WEB-INF/classes ディレクトリに、次のファイルをコピーします。
- log4j.properties ファイルを編集して、log4j.appender.debuglog.File および log4j.appender.logfile.File プロパティーファイル内のログファイルへのパスを指定します。これらのプロパティーは両方とも同じファイルを指定できます。
- Identity Manager を実行している JVM に、次の Java システムプロパティーを設定します。
システムプロパティー
値
java.security.auth.login.config
bridgestream_jaas.config ファイルへのパス
brLoggingConfig
log4j.properties ファイルへのパス
brfConfig
foundation_config.xml および foundation_config.dtd ファイルへのパス
-Djava.security.auth.login.config=PathToBridgestream_jaas.config
-DbrLoggingConfig=PathTolog4j.properties
-DbrfConfig=PathTofoundation_config.xml and foundation_config.dtd files
使用上の注意
ここでは、SmartRoles リソースアダプタの使用に関連する情報を提供します。説明する内容は次のとおりです。
全般的な注意事項
このリソースに関する全般的な注意事項は次のとおりです。
Complex 属性のサポート
Identity Manager では新しいcomplex属性タイプが導入され、これによって SmartRoles アダプタが複雑な属性をサポートできるようになりました。この complex 属性タイプは、属性値が単一の値や値のリストよりも複雑な場合に使用されます。この新しい complex タイプは、次の属性とともに使用されます。
Complex 属性の属性値は、新しい com.waveset.object.GenericAttribute クラスのインスタンスです。GenericAttribute インスタンスは、実際の属性値情報を格納している GenericObject インスタンスをラップします。GenericObject は、パス表現を使用して設定および取得できる階層内に、属性と値を格納します。
注
GenericObjects の使用の詳細については、『Sun JavaTM System Identity Manager ワークフロー、フォーム、およびビュー』の「汎用オブジェクトクラス」の節を参照してください。
ResourceAction のサポート
このアダプタは before および after アクションをサポートしていませんが、runResourceAction プロビジョニングワークフローサービスを使用して、実行中のアクションをサポートしています。SmartRoles アクションは JavaScript または BeanShell で作成でき、作成されたアクションは SmartRoles API を呼び出してワークフローの一部としてカスタム動作を実行できます。アクションスクリプトへの入力は、actionContext という名前のマップオブジェクトに格納されます。actionContext マップに格納される内容は次のとおりです。
次に示す ResourceAction XML は、BeanShell アクションの例です。JavaScript アクションの場合は actionType を JAVASCRIPT に設定します。このアクションは、additionalArgs マップから取得された user という名前の引数を使用し、SmartRoles リポジトリを検索して、user 引数の値と一致する LOGON_ID を持つ 1 つ以上の Person オブジェクトを見つけます。すると、一致したそれぞれの Person の文字列表現は、ACTION_RC ResultItem 内の WavesetResult に返されます。
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE ResourceAction PUBLIC 'waveset.dtd' 'waveset.dtd'>
<!-- MemberObjectGroups="#ID#Top"-->
<ResourceAction createDate='1148443502593'>
<ResTypeAction restype='SmartRoles' timeout='0' actionType='BEANSHELL'>
<act>
import bridgestream.core.*;
import bridgestream.util.*;
import bridgestream.temporal.person.*;
import java.util.*;
import com.waveset.object.*;
IOMSession session = actionContext.get("session");
OMEngine engine = OMEngine.getInstance(session);
String user = actionContext.get("additionalArgs").get("user");
UTNameValuePair[] criteria = new UTNameValuePair[] { new UTNameValuePair
("LOGON_ID", user) };
UTTimestamp time = UTTimestamp.getSystemTimestamp();
List list = session.search("PERSON", criteria, time, null, null);
Iterator iter = list.iterator();
StringBuffer buf = new StringBuffer();
while (iter.hasNext()) {
ENPerson person = (ENPerson)iter.next();
buf.append(person.toString());
buf.append("¥n¥n");
}
WavesetResult result = actionContext.get("result");
result.addResult("ACTION_RC", buf.toString());
</act>
</ResTypeAction>
<MemberObjectGroups>
<ObjectRef type='ObjectGroup' id='#ID#Top' name='Top'/>
</MemberObjectGroups>
</ResourceAction>制限事項
現在、このアダプタには次のような制限があります。
- ロールは、SmartRoles の person オブジェクトにのみ許可されます。position オブジェクトにロールを許可することはできません。
- Identity Manager は 1 つの SmartRoles との通信のみ設定できます。
- 許可されたロール範囲の制御を割り当てる場合、その範囲の制御内の組織には、直接割り当てられた組織だけでなく、それらの組織のすべての子孫も含まれます。割り当て済みの組織の子孫を割り当てようとすると、エラーが発生します。
- アダプタは SmartRoles の組織を名前で参照するため、SmartRoles 内の組織名は一意にしてください。
- SmartRoles の person オブジェクトを position に割り当てるときに、アダプタは使用可能な position を見つけようとはしません。代わりに、アダプタは常に新しい position オブジェクトを作成し、person オブジェクトをその新しい position に割り当てます。
セキュリティーに関する注意事項
ここでは、サポートされる接続と特権の要件について説明します。
サポートされる接続
SmartRoles アダプタは、SmartRoles インストールからコピーされた設定ファイルの指定どおりに、SmartRoles リポジトリと通信します。この接続設定の詳細については、SmartRoles 製品のマニュアルを参照してください。
必要な管理特権
アダプタが SmartRoles に接続するために使用するユーザーには、SmartRoles ユーザーを管理できるロール (SmartRoles 管理者ロールなど) を割り当ててください。
プロビジョニングに関する注意事項
次の表に、このアダプタのプロビジョニング機能の概要を示します。
アカウント属性
SmartRoles アダプタでは、次のアイデンティティーシステムユーザー属性を使用できます。
属性の名前空間を使用して、関連するオブジェクトや配下のオブジェクトの属性を総称的に指定します。次のように「ドットの付いた」構文を使用します。
namespace.attribute_name
リソースオブジェクトの管理
SmartRoles アダプタは、オブジェクトの表示のみをサポートしており、次のオブジェクトタイプをサポートします。
オブジェクトを表示するときには、option マップに次のオプションを指定できます。
アイデンティティーテンプレート
$Logon ID$
サンプルフォーム
SmartRoles リソースアダプタには、次のサンプルフォームが用意されています。
組み込みのフォーム
なし
その他の利用可能なフォーム
SmartRolesUserForm.xml
トラブルシューティング
Identity Manager のデバッグページを使用して、com.waveset.adapter.SmartRolesResourceAdapter クラスにトレースオプションを設定します。
使用している JVM のシステムプロパティー内で設定した log4j.properties ファイルを編集することで、SmartRoles API の DEBUG ロギングを有効にすることもできます。