多级别安全模型使用什么LDAP设置
我是LDAP新手,正在尝试找到实现多级安全模型的最佳设置。我需要LDAP,因为有几个应用程序由相同的用户使用,我想集中用户管理 对于多级安全模型,我的意思如下。我有公司、项目、用户和角色 我想为公司、项目和用户的每个组合分配角色。因此,companyA、projectA和userA的组合有RoleA,而companyA、projectB和userA的组合没有RoleA 我需要能够对用户执行ldap搜索,该搜索返回适用于每个组合公司、项目和角色的“记录” 我知道我在ldap服务器中创建了一个“对象树”,例如设置如下多级别安全模型使用什么LDAP设置,ldap,Ldap,我是LDAP新手,正在尝试找到实现多级安全模型的最佳设置。我需要LDAP,因为有几个应用程序由相同的用户使用,我想集中用户管理 对于多级安全模型,我的意思如下。我有公司、项目、用户和角色 我想为公司、项目和用户的每个组合分配角色。因此,companyA、projectA和userA的组合有RoleA,而companyA、projectB和userA的组合没有RoleA 我需要能够对用户执行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(访问控制指令)可以让某些用户访问某些对象。也许可以通过某种方式利用它来提供我需要的东西?虽然我对这种设置的“原因”没有明确的实际理解,但我仍然可以提供一些建议。记住,你应该和其他人一起检查和讨论这些想法,并确保你理解其中的含义 诚然,如果您有重叠的用户(例如:userA同时参与项目A和项目B),就会出现您提到的数据重复。此外,这可能会导致不良的用户体验:如果用户A有两个帐户,他/她也有两个密码,必须以某种方式进行管理。除非您的组织需要这样的极端情况,否则用户肯定不会喜欢它。另外,您说过您希望集中用户管理,而不是进一步拆分它。;-) 在你的情况下,我可以提出一个有点不寻常的想法 <>而不是使用复杂的DIT(您可以称之为数据库或表中的“关系”术语),而是考虑利用自定义模式来代替.< /P> 可以想象,您可以创建一个称为辅助对象类的东西。我更喜欢使用对象类,因为它们是静态的(不是可填充的属性,而只是某种程度上的“标记”) 例如,在您的案例中,您可以创建一些辅助OCs:
- 对象类:companyA
- 对象类:companyB
- 对象类:projectA
- 对象类:projectB
- 对象类:roleA
- 对象类:roleB
Max对象可以是其他对象的成员。对象的组合不允许。您不能在LDAP中表示这一点。用户要么有角色,要么没有角色。我喜欢使用对象类作为“标记”的想法,但这并不能解决我的问题。我需要公司/项目/角色组合的“标记”,这意味着为每个排列创建对象类。这不是一个可行的解决办法。关于ACI,我查看了OpenDJ和ApacheDS,但我没有阅读任何关于ACL的内容,只有ACI。ACI的设置相当复杂,尤其是对于ApacheDS。但也许我错过了什么。你能提供一些链接吗?我说的是OpenLDAP,而不是OpenDJ或ApacheDS(我不喜欢那些解决方案)。OpenDJ/ApacheDS很可能会自行决定将其称为ACIs。无论如何,我只知道OpenLDAP。