アクセス サーバーとソース コードを管理するための可能なツールとして LDAP に取り組んでいます。ユーザーとマシンをエンティティとして表す、属性を作成する、属性を定義するなどの基本的な概念を把握することができました。それらに適用された objectClasses に基づくエンティティに適用されますが、まだ意味をなさないエラーがいくつかあります。誰かがそれらがどのように機能するかを説明してくれることを願っています.
ネストされたグループはどのように機能しますか?
私は (組織単位) が何であるかを理解ou
できます。また、その内部に人を配置し、 groupOfNames クラスを使用してメンバーのコンテナーとして機能することも理解できます。
# create FIRST Level groups branch
dn: ou=groups,dc=example,dc=com
objectclass:organizationalunit
ou: groups
description: generic groups branch
# create the itpeople entry under groups
dn: cn=itpeople,ou=groups,dc=example,dc=com
objectclass: groupofnames
cn: itpeople
description: IT security group
member: cn=William Smith,ou=people,dc=example,dc=com
# create the hrpeople entry under groups
dn: cn=hrpeople,ou=groups,dc=example,dc=com
objectclass: groupofnames
cn: hrpeople
description: Human Resources group
member: cn=Robert Smith,ou=people,dc=example,dc=com
ただし、ネストのレベルをさらに追加するにはどうすればよいですか?
私が求めているのは、次の疑似コードのようなものです。
ou='Projects' /
description: This top level group has a few people in it that can create new groups, and control who's in them
member: cn=Robert Smith,ou=people,dc=example,dc=com
-- somethingsomethingAbitrarilyNestedGroup='project-name'
member: cn=Robert Smith,ou=people,dc=example,dc=com
-- groupOfNames = 'project-name development'
member: cn=Robert Smith,ou=people,dc=example,dc=com
member: cn=Jane Doe,ou=people,dc=example,dc=com
member: cn=server1$,ou=servers,dc=example,dc=com
-- groupOfNames = 'project-name staging'
member: cn=Jane Doe,ou=people,dc=example,dc=com
member: cn=server2$,ou=servers,dc=example,dc=com
この階層を考えると、今このグループにアクセスを許可する最善の方法は何ですか?
高価なクローズド ソース ツールを使用せずに、利用可能な通常のクラスの中で、ここで任意のグループのネストを行う簡単な方法はわかりませんが、これほど複雑であってはならないと感じています。
OpenLDAP のようなツールを使用して、他の LDAP クライアントが正しい権限を持つユーザーとして認証された後にグループ メンバーシップを制御できるようにするには、通常どのように行うのでしょうか? ?