LDAP - 특정 그룹에 속한 사용자만 앱에 액세스할 수 있도록 LDAP URL에 필터를 추가합니다.

LDAP - 특정 그룹에 속한 사용자만 앱에 액세스할 수 있도록 LDAP URL에 필터를 추가합니다.

LDAP를 사용하도록 애플리케이션을 활성화합니다.

애플리케이션 구성에서 LDAP에 연결하기 위한 URL을 알려줘야 합니다. 현재 다음 URL을 제공하고 있습니다...

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

질문:이 그룹에 속한 사용자에게만 애플리케이션 액세스를 제한하려면 "accessgroup" 그룹에 속한 사용자만 찾을 수 있도록 위의 URL에 필터를 추가해야 합니다.

즉, 이것과 비슷한 것...

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는 오버레이 멤버를 사용하거나 동적 목록으로 관리하는 경우에만 채워집니다.

답변2

상황:

문제는 POSIX 그룹을 사용하여 필터링하려고 하는데 이에 대한 특정 오버레이가 없다는 것입니다. 존재하는 것은 여기에서 관찰할 수 있는 다소 복잡하고 힘든 해결 방법입니다.POSIX그룹에 대한 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=도메인,dc=abc,dc=de'
-D 'cn=admin,dc=도메인,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

관련 정보