![]() | |
Sun Java™ System Identity Manager 7.0 リソースリファレンス |
DominoDomino リソースアダプタは、com.waveset.adapter.DominoResourceAdapter クラスで定義されます。
このアダプタは、次のバージョンの Lotus Domino Server をサポートします。
リソースを設定する際の注意事項
ここでは、Identity Manager で使用する Domino リソースの設定手順を説明します。次のような手順があります。
一般的な設定手順
Domino リソースアダプタを設定するには、次の手順を使用します。
- Domino 内に Identity Manager 管理者を作成します。ユーザーの管理に必要とされるすべての組織へのアクセス権を持つ認証者 ID を使用します。
- Domino サーバーの公開アドレス帳 (names.nsf) のアクセス制御リスト (ACL) に、ユーザーを追加します。
- 認証ログデータベース (certlog.nsf) の ACL に、投稿者のアクセス権を付与したユーザーを追加します。
- 管理要求 (admin4.nsf) の ACL に、投稿者のアクセス権を付与したユーザーを追加します。
- 新しく作成されたユーザーをサーバーのセキュリティーに追加します。
- 「セキュリティー」パネルを開いて、サーバー設定を編集します。
- Domino サーバーへのアクセスが制限されている場合、Identity Manager のプロキシアカウントにサーバーへのアクセス権があるかどうか確認します。そのためには、アカウント名か、プロキシアカウントの属しているグループを、「アクセスサーバー」フィールドに指定します。
- Domino エージェントを呼び出す前アクションと後アクションが存在する場合、呼び出されるエージェントの設定方法によって、ユーザーを「制限されていない LotusScript/Java エージェントを実行」 または「制限されている LotusScript/Java エージェントを実行」 のいずれかのフィールドに追加する必要があることもあります。
Domino をサポートするようにゲートウェイをインストール
ゲートウェイを Dimino に接続するには、あらかじめインストールされた Notes クライアントを、ゲートウェイマシン上に用意してください。
Windows レジストリの HKEY_LOCAL_MACHINE¥SOFTWARE¥Waveset¥Lighthouse¥Gateway に、次の文字列値を追加して、Domino が正しく動作するようにします。
- notesInstallDir - クライアントがインストールされる場所で、notes.dll ファイルの場所です。通常、この場所は C:¥Lotus¥Notes¥ などになります。
- notesIniFile - Lotus Notes の初期化ファイルへの、ファイル名を含むフルパス。このファイルは、デフォルトの場所 (C:¥Lotus¥Notes¥notes.ini など) から、Identity Manager ゲートウェイの格納されているディレクトリにコピーするようにしてください。したがって、このレジストリキーの値は、C:¥GatewayDir¥notes.ini のような値に設定してください。
Identity Manager 上で設定する際の注意事項
このリソースに必要な追加のインストール手順はありません。
使用上の注意
ここでは、Domino リソースアダプタの使用に関する情報を示します。次のトピックで構成されています。
再認証処理
再認証処理は、「recertify」という名前の Boolean 型ユーザー属性を使用して行われます。この属性は更新操作中にチェックされ、有効であれば、ユーザー ID が再認証されます。
再認証処理は adminp 処理によって行われます。つまり、adminp 要求を生成すると、それ以降のいずれかの時点で、その ID の再認証が行われます。再認証のタイミングは、Dimino サーバーの設定に基づいて決まります。5.0 では、アドレス帳のエントリが再認証された場合、ユーザーが次にシステムにログインしたときに、ID ファイルは新しいダイジェストキーで修正されます。
パスワードの変更
管理パスワードを変更したりリセットしたりすることはできません。変更時には現在のパスワードが必要になるので、ユーザーは自分自身のパスワードを変更する必要があります。
現在のパスワードは、スキーママップ内で WS_USER_PASSWORD という名前のアカウント属性として定義され、暗号化型にする必要があります。
有効化と無効化
Domino 6.0 以降でユーザーを無効化する場合は、CheckPassword アカウント属性を 2 に設定することをお勧めします。ただし、5.x で使用した、ユーザーを DENY GROUP に追加する方法もまだ使用できます。
Domino 6.0 より前のバージョンでは、ユーザーごとのネイティブな無効化フラグがないため、無効化された各ユーザーは DENY GROUP 内に配置されます。有効化すると、これらは定義済みグループのいずれかのメンバーとして削除されます。DENY GROUP にはメンバーの最大数のしきい値が設定されているので、グループをリソースに対するアカウント属性として指定してください。このためには、追加の DenyGroups アカウント属性をリソースに渡す必要があります。DenyGroups は、無効化、有効化、またはプロビジョニング解除の実行時に設定できますが、取得するには追加のコーディングが必要です。
プロビジョニング解除または無効化の実行中に、ユーザーを追加する先の DenyGroups のリストを送信します。有効化の実行中には、ユーザーが削除される DenyGroups のリストを送信します。
次のコードによって、使用可能な DenyGroups をリソースから取得できます。
<invoke name='listResourceObjects' class='com.waveset.ui.FormUtil'>
<ref>:display.session</ref>
<s>DenyLists</s>
<s>YourResourceName</s>
<null/>
<s>false</s>
</invoke>次のコードによって、現在割り当てられている DenyGroups を、無効化、有効化、またはプロビジョニング解除フォームに取得できます。
<invoke name='getList'>
<invoke name='getView'>
<ref>display.session</ref>
<concat>
<s>UserViewer:</s>
<ref>resourceAccounts.id</ref>
</concat>
<map>
<s>TargetResources</s>
<list>
<s>YourResourceName</s>
</list>
</map>
</invoke>
<s>accounts[YourResourceName].DenyGroups</s>
</invoke>無効化、有効化、またはプロビジョニング解除フォームでは、DenyGroups 属性を次のようにアドレス指定します。
resourceAccounts.currentResourceAccounts [YourResourceName].attributes.DenyGroups
次の例では、複数選択ボックスの左側にある使用可能な DenyGroups を一覧表示する無効化フォームのフィールドを定義しています。
<Field name='resourceAccounts.currentResourceAccounts [YourResourceName].attributes.DenyGroups'>
<Display class='MultiSelect'>
<Property name='title' value='Deny Groups'/>
<Property name='required'>
<Boolean>false</Boolean>
</Property>
<Property name='allowedValues'>
<invoke name='listResourceObjects' class='com.waveset.ui.FormUtil'>
<ref>:display.session</ref>
<s>DenyLists</s>
<s>YourResourceName</s>
<null/>
<s>false</s>
</invoke>
</Property>
<Property name='availableTitle' value='Available Deny Groups'/>
<Property name='selectedTitle' value='Assigned Deny Groups'/>
</Display>
</Field>次の例では、非表示フィールドの取得規則内の割り当てられた DenyGroups を一覧表示する有効化フォームのフィールドを定義しています。
<Field name='resourceAccounts.currentResourceAccounts [YourResourceName].attributes.DenyGroups'>
<Derivation>
<invoke name='getList'>
<invoke name='getView'>
<ref>display.session</ref>
<concat>
<s>UserViewer:</s>
<ref>resourceAccounts.id</ref>
</concat>
<map>
<s>TargetResources</s>
<list>
<s>YourResourceName</s>
</list>
</map>
</invoke>
<s>accounts[YourResourceName].DenyGroups</s>
</invoke>
</Derivation>
</Field>ID ファイル
ゲートウェイマシンでは、新しく登録されたユーザーに対して新規 ID が生成されます。これらは、ゲートウェイの処理やサービスにアクセス可能な UNC パス上に配置されます。したがって、¥¥machine¥ids¥myidfile.id と指定すると、ネットワーク共有に配置されます。
ユーザーの作成時に指定される共有部分にアクセスするためのサービスとしてゲートウェイを設定した場合、このゲートウェイに対してユーザーとして実行する必要がある可能性があります。共有部分にアクセスできるように SYSTEM を割り当てることもできますが、これはゲートウェイネットワーク環境がどのように見えるかに依存します。
「アドレス帳に ID を保存」リソース属性を TRUE または FALSE に設定することで、ID ファイルをアドレス帳に格納するかどうかを指定することもできます。
Rename/Move
move アクションや rename アクションも、adminp 処理によって実行されます。move は、certifierOrgHierarchy 属性を変更して元の certifierId ファイルとその id ファイルのパスワードを入力することによって、名前変更フォームから開始できます。move 要求によって要求データベース内に「名前移動要求」が作成されます。また、move 要求は、ユーザーの新しい組織を代表する新しい認証者によって完了させます。move は、ユーザーの姓または名を変更することで開始できます。
注
rename と move を同時に実行することはできません。adminp 処理で rename と move の同時実行ができないのは、要求が、どちらの場合にも変更される標準的な名前を参照するためです。
リソース名
ゲートウェイでは、すべての Domino リソースに一意の名前を付ける必要があります。複数の Identity Manager の配備があり、それらが同じゲートウェイを「指す」場合、それらの配備に存在するすべての Domino リソースには、一意のリソース名を付けてください。
ActiveSync 設定
Identity Manager 5.5 より前のバージョンでは、Active Sync の「削除を更新として処理」チェックボックスが選択されている場合、Identity Manager は、削除された Identity Manager ユーザーとすべてのリソースアカウントを無効にし、あとで削除するためにユーザーにマークを付けていました。このチェックボックスは、デフォルトで選択されていました。Identity Manager 5.5 以降では、削除規則セットを「なし」に設定することによってこの機能が設定されます。
チェックボックスの選択が以前に解除されていた場合は、削除規則が「ActiveSync has isDeleted set」に設定されます。
追加情報
ここでは、このアダプタに関して、次のようないくつかの追加情報を提供します。
ListAllObjects
Domino で指定したすべてのオブジェクトを一覧表示できます。listAllObjects 呼び出しへの「タイプ」として渡します。
フォームの更新
これらの操作の一部には追加の属性が必要であるため、それらの属性を含むように、デフォルトのフォームを更新してください。
さまざまなビューに渡される属性は、リソース定義によってあらかじめ定義されています。
searchFilter
次のサンプル UserForm では、getResourceObjects メソッドの searchFilter オプションを Domino 用に実装する方法を示します。このフォームでは、リソース MyResource 上で姓が Smith であるすべてのユーザーを検索しています。
<Form name='Domino searchFilter Form' objectType=UserForm'>
<Display class='EditForm'/>
<Field name='rcwfield'>
<Display class='MultiSelect'>
<Property name='title' value='My Lister'/>
<Property name='availableTitle' value='Listing available items'/>
<Property name='selectedTitle' value='Selected Item(s)'/>
<Property name='allowedValues'>
<block trace='true'>
<invoke name='getResourceObjects' class='com.waveset.ui.FormUtil'>
<ref>:display.session</ref>
<s>People</s>
<s>MyResource</s>
<Map>
<MapEntry key='searchAttrsToGet'>
<List>
<String>LastName</String>
<String>ShortName</String>
<String>MailFile</String>
</List>
</MapEntry>
<MapEntry key='searchFilter' value='@IsAvailable(LastName) & @Contains(@LowerCase(LastName);"smith")'/>
</Map>
</invoke>
</block>
</Property>
</Display>
<Disable>
<i>0</i>
</Disable>
</Field>
</Form>その他のフォームに関する問題点
ビューに渡されるように設定する属性
アクション
前アクションと後アクションでは、次の変数を使用できます。
WSUSER_UNID 変数は Lotus Notes の汎用 ID を参照します。この変数は、アカウントが作成されるまで参照できません。
セキュリティーに関する注意事項
ここでは、サポートされる接続と特権の要件について説明します。
サポートされる接続
Identity Manager は、Sun Identity Manager Gateway を使用して Domino と通信します。
必要な管理特権
なし
プロビジョニングに関する注意事項
次の表に、このアダプタのプロビジョニング機能の概要を示します。
アカウント属性
次の表に、Domino のアカウント属性に関する情報を示します。
特に記述がないかぎり、デフォルトのデータ型は String です。
アイデンティティーテンプレート
Domino では、各ユーザーのアイデンティティーは userid ファイルに格納されます。ただし、それと同じユーザー名が FullName 属性内のユーザーレコードに格納されます。この属性は複数値を取り、リスト内の最初の属性は一意です。リスト内の最初の名前は、標準的な形式で格納され、次のようになります。
CN=Joe T Smith/O=MyCompany
この名前を使用して、名前やアドレス帳のレコードを取得できます。Identity Manager では、この文字列は、次に示すような「すっきりとした」形式で resourceInfo に格納されます。
Joe T Smith/MyCompany
Domino には、API レベルで名前を変換したり戻したりするための組み込みの関数があります。また、Identity Manager も NOTEID を GUID 属性として格納しており、可能な場合は常にこのグローバル識別子を使用して Domino 内のユーザーを検索します。
デフォルトのアイデンティティーテンプレートは次のとおりです。
$firstname$ $MiddleInitial$ $lastname$$CertifierOrgHierarchy$
環境によっては、ミドルネームのイニシャルが含まれない場合もあります。
サンプルフォーム
DominoActiveSyncForm.xml
トラブルシューティング
Identity Manager のデバッグページを使用して、次のクラスにトレースオプションを設定します。
com.waveset.adapter.DominoResourceAdapter
Exchange 5.5Microsoft Exchange リソースアダプタに対するサポートは非推奨になりました。
Exchange と統合されている、Exchange 2000/2003 の Active Directory リソースを使用してください。
また、次のメソッドに対してトレースを有効にすることで接続の問題について診断できます。