長い事エディタに開きっぱなしになってたので、blogへ。
ConfluenceのユーザーをADと同期して使い、そのADの特定のグループに入ってるユーザーだけConfluenceにログインできるユーザーとして制限したいなんてことがあります。ありました。
AD上には、100人アカウントがあるけど、Confluenceのライセンスは、開発の50人だけしかないので、みたいな場合ですね。
管理メニューの ユーザーディレクトリ>ディレクトリを選んで編集 > ユーザースキーマの設定 の
ユーザー オブジェク フィルター にて、memberOf を使ってグループを指定します。
(&(&(objectCategory=Person)(sAMAccountName=*))(memberOf=CN=dev_group,OU=XX,DC=example,DC=co,DC=jp))
(↑一行です)ただ、このときグループをネストさせていると、memberOfで指定したグループの子以下のグループのメンバーを展開して拾ってきてくれません。
dev_group > dev_group_1ka > user1
となってると、user1 でログインできないのです。
で、そこでADの演算子のLDAP_MATCHING_RULE_IN_CHAIN というのを使い
(&(&(objectCategory=Person)(sAMAccountName=*))(memberOf:1.2.840.113556.1.4.1941:=CN=dev_group,OU=XX,DC=example,DC=co,DC=jp))
と謎の数字の羅列を埋め込むと、一番深いところまでユーザーを探しにいってくれます。「ADの演算子」なのでOpenLDAPとかだとダメかもしれません。
2013/3/12 追記
上記の設定でやっていたら、ADに登録してConfluence側に反映されるまでやたら時間がかかった。解決策として、LDAPユーザーディレクトリの設定の中で、更に「詳細設定」の中にある「紹介に従う」のチェックを外しておきます。これでADに登録後、Confluenceで手動同期したら、すぐログイン可能になります。ただログインは可能になるんですが、ログインするまで管理メニュー等でユーザーを調べても居ないことになっていて、アカウントは作られていません。ちょっと謎です。
0 件のコメント:
コメントを投稿