그룹에 대한 권리를 얻도록 도와주실 수 있나요 OpenLdap 2.4
?
내 것이 있어요slapd.conf
# Allow LDAPv2 client connections. This is NOT the default.
allow bind_v2
#Basic rights for authentication
access to attrs=userPassword
by self write
by anonymous auth
by * none
#Rights for groups GR_READ and GR_WRITE
access to *
by self write
by group.exact="cn=GR_READ,ou=groups,ou=BGA,o=Company,c=com" read
by group.exact="cn=GR_WRITE,ou=groups,ou=BGA,o=Company,c=com" write
by * none
이 구성은 잘 작동합니다. 내 그룹에는 이름이 있는 사람이 몇 명 있습니다.GR_READ and GR_WRITE
하지만 내 문제는 두 Openldap DB 간에 DIT를 동기화하는 것입니다. 동기화가 작동하지 않습니다! findbase failed 오류가 발생합니다! slapd.log
다중 호스트 구성 에서는 32입니다 .
구성을 다음과 같이 변경하면 slapd.conf
:
#Basic rights for authentication
access to attrs=userPassword
by self write
by anonymous auth
by * none
#Rights for groups GR_READ and GR_WRITE
access to *
by * read
동기화가 작동합니다! 에는 오류가 없습니다 slapd.log
. 하지만 익명 사용자가 LDAP에 바인딩할 수 있는 내 그룹에 대한 권한이 없습니다.
그런 다음 익명성을 비활성화하는 데 또 다른 문제가 발생했습니다. 내가 변하면
# Allow LDAPv2 client connections. This is NOT the default.
allow bind_v2
도착하다
disallow bind_anon
동기화가 작동하지 않습니다! findbase failed 오류가 발생합니다! 32인치slapd.log
도와 주셔서 감사합니다.
답변1
syncrepl
명령문에 바인딩 정보를 지정 해야 하며 가급적이면 다른 그룹을 통해 이러한 엔터티에 대한 전역 읽기 액세스 권한을 명시적으로 부여해야 합니다 REPLICAS
.
또한 다음과 같이 ACL을 리팩토링하는 것이 좋습니다.
access to *
by group.exact="cn=REPLICAS,ou=groups,ou=BGA,o=Company,c=com" read
by self write
by group.exact="cn=GR_WRITE,ou=groups,ou=BGA,o=Company,c=com" write
by group.exact="cn=GR_READ,ou=groups,ou=BGA,o=Company,c=com" read
by * none
그렇지 않으면 회원인 사용자는 글을 GR_WRITE
쓸 수 없습니다 GR_READ
. 순서가 중요합니다. 첫 번째 일치에서 제어 흐름이 중지됩니다!
by self write
또한 모든 사용 사례에 안전한지 검토하겠습니다 . 하지만 보안 정책이니까요...