【问题标题】:How to store group attributes (for authorization) in LDAP如何在 LDAP 中存储组属性(用于授权)
【发布时间】:2016-02-26 09:11:38
【问题描述】:

我是 LDAP 新手,正在研究 LDAP 中授权的产品权限建模。感谢网络上的许多精彩文章,我现在知道如何使用角色/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
uid=1, FavColour=Green, codename=1234

提前致谢!

【问题讨论】:

    标签: architecture ldap


    【解决方案1】:

    LDAP 属性不能具有属性,因此您不能拥有具有成员属性的产品,而成员属性又具有“读取”或“写入”属性。

    您可能必须在每个产品下添加读取和写入子树,以便用户的<product> 成员身份为他提供基本访问权限,无论是什么,甚至什么都没有,<product>/Read 的成员身份添加读取访问权限:类似地写。

    您关于 C 组的问题与授权无关,我会说它完全超出了 LDAP 的范围。我会把它放在数据库中。 LDAP 非常适合它的用途,但很难适应其他用途。您可以轻松地将它用于任何层次结构,但在我看来,这不像 LDAP 案例。

    【讨论】:

    • 感谢您成为唯一回复的人!我希望对我提出的解决方案发表一些评论。这是个坏主意吗?与您建议的仅创建单个组相比,它的效率更高还是更低?虽然我的示例被简化了,但我们将大约 50 个权限拆分为大约 10 个产品(组)。如果您可以延长您的 cmets,那么赏金就是您的了!
    猜你喜欢
    • 1970-01-01
    • 2016-03-13
    • 2014-10-28
    • 1970-01-01
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 2023-02-22
    相关资源
    最近更新 更多