我是 LDAP 新手,并试图找到实现多级安全模型的最佳设置。我需要 LDAP,因为同一用户使用了多个应用程序,并且我想集中用户管理。
对于多级安全模型,我的意思如下。我有公司、项目、用户和角色。
我想为公司、项目和用户的每个组合分配角色。因此,组合 companyA、projectA 和 userA 具有 RoleA,但组合 companyA、projectB 和 userA 没有。
我需要能够对用户进行 ldap 搜索,该用户返回适用的每个组合公司、项目和角色的“记录”。
我知道我在 ldap 服务器中创建了一个“对象树”,例如这样设置
companyA
|
+---- project A
| |
| +----- roleA
| |
| +---- (attribute) member=userA
| +---- (attribute) member=userB
|
+---- project B
|
+----- roleB
|
+---- (attribute) member=userA
+---- (attribute) member=userB
但这将包含大量重复的对象,这对我来说似乎效率低下。
我宁愿有 4 个数据、公司、项目、角色和用户的“列表”,以及另一个包含这些条目组合的列表。对关系数据库有更多经验,这感觉更合乎逻辑。但我知道这种设置在 ldap 环境中根本不合逻辑。
我读到 ldap 能够提供访问控制。使用 ACI(访问控制指令)可以让某些用户访问某些对象。也许可以以某种方式利用它来提供我需要的东西?