LDAP - 特定のグループに属するユーザーのみがアプリにアクセスできるように、LDAP URLにフィルターを追加します。

LDAP - 特定のグループに属するユーザーのみがアプリにアクセスできるように、LDAP URLにフィルターを追加します。

アプリケーションが LDAP を使用できるようにします。

アプリケーションの設定では、LDAP に接続するための URL を通知する必要があります。現在、次の URL を提供しています...

ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid

質問:アプリケーション アクセスをこのグループに属するユーザーのみに制限するには、上記の URL にフィルターを追加して、「accessgroup」グループに属するユーザーのみが表示されるようにする必要があります。

つまり、これに似たもの...

curl "ldap://10.2.0.5:389/dc=domain,dc=abc,dc=de?uid?sub?(&(memberof=cn=accessgroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=%s))"

何百もの設定を試しましたが、何も機能しません... =|

グループ

cn:
accessgroup

gidNumber:
1004

memberUid:
usera
userb
userc
userd
usere
userf
userg
userh
useri

objectClass:
top
posixGroup

ユーザー

cn:
User Letter A

gecos:
User Letter A

gender:
M

gidNumber:
544

givenName:
User

gotoLastSystemLogin:
01.01.1970 00:00:00

homeDirectory:
/home/usera

loginShell:
/bin/bash

mail:
[email protected]

objectClass:
top
person
organizationalPerson
inetOrgPerson
gosaAccount
posixAccount
shadowAccount
sambaSamAccount

[...]

uid:
usera

uidNumber:
1004

[...]

ありがとう!=D

答え1

LDAP サーバーの memberOf 属性はどのように作成されますか? ユーザーが実際に memberOf 属性を持っていることを確認しましたか?

たとえば、OpenLDAP では、memberOf は、memberof オーバーレイを使用する場合、または動的リストを使用して管理する場合にのみ設定されます。

答え2

状況:

問題は、POSIXグループを使用してフィルタリングしようとしているのに、そのための特定のオーバーレイがないことです。存在するのは、ここで確認できるやや複雑で面倒な回避策です。POSIXGROUPS の MEMBEROF 属性の生成

解決:

この問題を解決するために、ここで確認できる簡単なソリューションを実装しました...

psx-grp-flt - pgMemberOf (memberOf) に対するユーザーの posixGroup メンバーシップ

...基本的には次のようになります...

各ユーザーの posixGroup (POSIX グループ) の関連付けを pgMemberOf (memberOf) 属性に保存するシンプルな Python 2.7 スクリプト。目的は、以下のような検索フィルターを有効にすることです...

モデル

ldapsearch -x -H 'ldap://127.0.0.1:389' -b 'ou=persons,dc=domain,dc=abc,dc=de'
-D 'cn=admin,dc=domain,dc=abc,dc=de'
-w 'mySecretValue'
'(&(pgMemberOf=cn=certaingroup,ou=groups,dc=domain,dc=abc,dc=de)(uid=certainuid))'

ldapsearch -x -H '<OPENLDAP_URI>' -b '<PERSONS_OU>,<BASE_DN>'
-D '<ADM_USER_DN>'
-w '<ADM_USER_PASSWORD>'
'(&(pgMemberOf=cn=<PSX_GROUP_CN>,<GROUPS_OU>,<BASE_DN)(uid=<PERSON_UID>))'

このスクリプトは、OpenLDAP がすでにインストールされていて、新しいタイプのグループを作成せずに、非常に簡単な方法で既存の POSIX グループにフィルターを使用できるようにする場合に役立ちます。また、オーバーレイをインストールできない場合や、このプロセスが面倒またはリスクが大きすぎる場合にも役立ちます。

ありがとう!=D

関連情報