グループの権利を得るのに役立ちますか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
しかし、私の問題は、2つの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
また、すべてのユースケースに安全であることを確認します。しかし、セキュリティポリシーですから…