2013/02/06

Confluenceのユーザー制限

 長い事エディタに開きっぱなしになってたので、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 件のコメント: