我是 LDAP 新手,正在考虑对 LDAP 中的授权产品权限进行建模。感谢网络上的许多精彩文章,我现在知道如何使用 Roles/GroupOfNames 指定组成员身份,但是存储与组成员身份关联的属性值的最佳实践是什么?
例如,如果我想说一个用户可以访问产品 A、B 和 C,我可以创建 3 个组并将该用户分配为每个组的成员。然而现在我想说的是,除其他权限外,用户对 A 具有读取权限,对 B 具有写入权限,对 C 组具有读取权限 - 他们最喜欢的颜色是绿色,用户的代号是“1234”。
为每个组成员身份创建单独的层次结构并为每个组成员身份使用自定义架构是否合适?
即:
dc=company, dc=com
ou=Users
uid = 1;
ou=Products
uid=A (members=1)
uid=B (members=1)
uid=C (members=1)
ou=Permissions
ou=ProductA
uid=1, Access=Read
ou=ProductB
uid=1, Access=Write
ou=ProductC<br/>
uid=1, FavColour=Green, codename=1234
提前致谢!
最佳答案
LDAP 属性不能有属性,因此您不能拥有具有成员属性的产品,而该成员属性又具有“读取”或“写入”属性。
您可能必须在每个产品下添加读取和写入的子树,以便用户的成员资格为 <product>
给他基本的访问权限,无论是什么,甚至什么都没有,以及 <product>/Read
的成员资格添加读取访问权限:与写入类似。
你关于C组的问题与授权无关,我想说它完全超出了LDAP的范围。我会将其放入数据库中。 LDAP 非常适合它的用途,但很难用于其他用途。您可以轻松地将它用于任何分层结构,但对我来说,这看起来一点也不像 LDAP 案例。
关于architecture - 如何在 LDAP 中存储组属性(用于授权),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33884998/