外部LDAP連携について

(from osdn.net/users/k-uno)
FESS 10.3.0です。

過去のログを一通り拝読致しましたが解消しませんでしたので新たに起こします。

外部LDAP連携の目的は以下です。

  • ログインIDとパスワードが外部LDAPと連携できること
  • LDAPのいわゆる"グループ"ごとに、検索結果の表示が切り替えられること(見てはいけないユーザは、見ることができないこと)

主要なLDAP構成情報のみ抽出すると、現在下記のように構成していますが、
この場合FESSの管理画面ではどのように設定すれば良いのか教えて頂ければと思います。

uid=<UserID1>,ou=Users,dc=hoge,dc=jp
    ...
uid=<UserID2>,ou=Users,dc=hoge,dc=jp
    ...
uid=<UserID3>,ou=Users,dc=hoge,dc=jp
    ...
uid=<UserID4>,ou=Users,dc=hoge,dc=jp
    ...
...
cn=<GroupID1>,ou=Groups,dc=hoge,dc=jp
    ...
    member: uid=<UserID1>,ou=Users,dc=hoge,dc=jp
    member: uid=<UserID2>,ou=Users,dc=hoge,dc=jp
    ...
cn=<GroupID2>,ou=Groups,dc=hoge,dc=jp
    ...
    member: uid=<UserID3>,ou=Users,dc=hoge,dc=jp
    member: uid=<UserID4>,ou=Users,dc=hoge,dc=jp
    ...
  • 上記に不足している属性はありますか?
    例えば、gidNumberが不足しているなど。
  • 上記の"cn"や"uid"や"ou"の相対識別名でFESSの仕様に合わないものがありますか?
    例えば、"ou=role"でなければいけないなど。
  • 上記の構成全般でFESSには合わないものがありますか?
    例えば、Groupsの下にUsersを配置しないといけないなど。

なお上記構成において下記のように設定してみましたがログイン時点でうまくいきませんでした。

Base DN: dc=hoge,dc=jp
Bind DN: (空: 匿名アクセスを想定)
パスワード: (空: 匿名アクセスを想定)
User DN: uid=%s,ou=Users,dc=hoge,dc=jp
アカウントフィルタ: uid=%s
memberOf属性: member

以上、よろしくお願いいたします。

(from osdn.net/users/shinsuke)

Bind DN: (空: 匿名アクセスを想定)
パスワード: (空: 匿名アクセスを想定)

認証済みでないLDAPで認証するのは良くないと指摘を受けたので
Fess 10.3からBind DNでの認証は必須になっています。

(from osdn.net/users/k-uno)
[メッセージ #79073 への返信]

Bind DN: (空: 匿名アクセスを想定)
パスワード: (空: 匿名アクセスを想定)

認証済みでないLDAPで認証するのは良くないと指摘を受けたので
Fess 10.3からBind DNでの認証は必須になっています。

回答ありがとうございます。

ActiveDirectoryで以下はなんとなくできていることを確認しました。

  • ActiveDirectoryサーバーのアカウント情報でログインする。
  • ActiveDirectoryサーバーからのグループ情報をFESSの設定で使用し、当該グループに属すユーザのみ検索結果に表示されるようにする。

[ActiveDirectory]
cn=,ou=Users,dc=hoge,dc=jp

memberOf: cn=,ou=Groups,dc=hoge,dc=jp

cn=,ou=Users,dc=hoge,dc=jp

memberOf: cn=,ou=Groups,dc=hoge,dc=jp

cn=,ou=Users,dc=hoge,dc=jp

memberOf: cn=,ou=Groups,dc=hoge,dc=jp

cn=,ou=Users,dc=hoge,dc=jp

memberOf: cn=,ou=Groups,dc=hoge,dc=jp


cn=,ou=Groups,dc=hoge,dc=jp

member: cn=,ou=Users,dc=hoge,dc=jp
member: cn=,ou=Users,dc=hoge,dc=jp

cn=,ou=Groups,dc=hoge,dc=jp

member: cn=,ou=Users,dc=hoge,dc=jp
member: cn=,ou=Users,dc=hoge,dc=jp

[FESS 10.3.1設定]

LDAP URL: ldap://:389
Base DN: ou=Users,dc=hoge,dc=jp
Bind DN: <ユーザDN. 例えば上記の"uid=,ou=Users,dc=hoge,dc=jp">
パスワード: <上記Bind DNのパスワード>
User DN: %s@hoge.jp
アカウントフィルタ: (&(objectClass=user) (sAMAccountName=%s))
memberOf属性: memberOf

[FESSユーザ]
設定しない

[FESSロール]
設定しない

[FESSグループ]
設定しない

[クローラ: ファイルシステムのクロール設定]
“パーミッション” に “{group}” などを入力する。この場合、cn=に属すユーザのみ当該ファイルが検索結果に表示される。また[ラベル]の"パーミッション"も同じように設定し、当該ファイルシステムのクロール設定にラベル設定している。
※ファイルシステム側のクロール対象の実際のファイルには何もセキュリティ設定していない。

(from osdn.net/users/k-uno)
追記:
FESS 11.0.2

Active Directoryではなく、LDAPが以下の構成の場合、
ファイルシステムはLDAPのグループを認識するが、
ラベルはLDAPのグループを認識しない。

[LDAP]
uid=,ou=Users,dc=hoge,dc=jp

memberOf: cn=,ou=Groups,dc=hoge,dc=jp

uid=,ou=Users,dc=hoge,dc=jp

memberOf: cn=,ou=Groups,dc=hoge,dc=jp

uid=,ou=Users,dc=hoge,dc=jp

memberOf: cn=,ou=Groups,dc=hoge,dc=jp

uid=,ou=Users,dc=hoge,dc=jp

memberOf: cn=,ou=Groups,dc=hoge,dc=jp


cn=,ou=Groups,dc=hoge,dc=jp

member: uid=,ou=Users,dc=hoge,dc=jp
member: uid=,ou=Users,dc=hoge,dc=jp

cn=,ou=Groups,dc=hoge,dc=jp

member: uid=,ou=Users,dc=hoge,dc=jp
member: uid=,ou=Users,dc=hoge,dc=jp

ユーザ側はuid、グループ側はcnとしていることが原因かも知れません。

(from osdn.net/users/k-uno)
いくつかFESSのUIで設定を試してみましたが、うまくいきませんでした。

上記のようなLDAPの構成で、FESSの"ラベル"をLDAPのグループと連携する方法(設定ファイル等)はありませんでしょうか?

(from osdn.net/users/k-uno)
自己解決。FESS 11.1.0。

以下の設定で外部LDAP-FESSの連携(ログイン、LDAPグループの取り込みとグループ別検索)ができました。
記録を残しておきます。
グループは一つ、コンテンツは二つ(Publicなものと、Privateなもの)ですが、
同じ要領でいけると思います。

[LDAP]
uid=,ou=Users,dc=hoge,dc=com
cn: <名前1>
uid:

memberOf: cn=,ou=Groups,dc=hoge,dc=com
uid=,ou=Users,dc=hoge,dc=com
cn: <名前2>
uid:


cn=,ou=Groups,dc=hoge,dc=com
cn:

member: uid=,ou=Users,dc=hoge,dc=com

[FESS設定 11.1.0]
LDAP URL: ldap://:389/
Base DN: dc=hoge,dc=com
Bind DN: <認証に用いるユーザDN. 例えば上記の"uid=,ou=Users,dc=hoge,dc=com">
パスワード: <上記Bind DNのパスワード>
User DN: uid=%s,ou=Users,dc=hoge,dc=com
アカウントフィルタ: uid=%s
memberOf属性: memberOf

[ラベル設定]
名前: パブリックラベル
値: Public
対象とするパス: (空)
除外するパス: (空)
パーミッション: {role}guest\n{group}

名前: プライベートラベル
値: Private
対象とするパス: (空)
除外するパス: (空)
パーミッション: {role}admin\n{group}

[ファイルシステム設定]
名前: パブリック
パス: …
パーミッション: {role}guest\n{group}
ラベル: パブリックラベル

名前: プライベート
パス: …
パーミッション: {role}admin\n{group}
ラベル: プライベートラベル

(from osdn.net/users/takeshi0206x)
確認させていただきたいのですが、Fessのグループ設定はせずに、LDAPのグループを直接設定するということであれば、ラベル設定の{group}は、{group}ではないでしょうか?

(from osdn.net/users/None)
Reply To Message #83540

確認させていただきたいのですが、Fessのグループ設定はせずに、LDAPのグループを直接設定するということであれば、

仮定あってます。

ラベル設定の{group}は、{group}ではないでしょうか?

はい、"{group}"で合っています。LDAP側のグループに従うだけで、FESS側のグループは何も操作しません。