首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于权限控制的LDAP?

用于权限控制的LDAP?
EN

Server Fault用户
提问于 2009-11-14 12:37:58
回答 5查看 922关注 0票数 5

我想知道是否可以使用LDAP来控制用户权限。例如,如果我有UNIX和web登录,那么是否有一种简单的方法可以授予用户对UNIX的访问权(甚至两者兼而有之)?

我目前解决这个问题的尝试就是创建‘登录’和'nologin‘组,但是这看起来不够细,不足以满足我脑海中的想法。我仍然处于这样的情况,即所有UNIX用户都是web用户,这与其说是一个问题,不如说是一个限制因素。

有人对此有任何意见吗?这个问题已经解决了吗?

EN

回答 5

Server Fault用户

发布于 2010-03-17 15:23:07

您可以通过几种方式控制访问。RBAC是一种基于角色的安全机制。组是用户组,角色是访问权限组。您可以将组映射为角色,也可以将用户映射到角色。在这种情况下,您的访问规则可能如下所示:

“允许HR中的每个人查看HR数据库”,该数据库在实现中会让用户分组到LDAP groupOfUniqueNames对象中。这通常导致一个更清洁的组织和大多数组织的目标是RBAC的时候,从零开始。RBAC是否细粒度是另一个问题。例如,角色将根据组控制对整个文档的访问,但不会区分到段落级别。对一些兽人来说,这是粗粒的。

如果这听起来太复杂,一个更简单的方法是执行ABAC (基于属性的安全性),您的应用程序/中间层/任何通过LDAP查询控制访问的方法如下:“如果您有一个属性' foo‘,那么您可以访问foo应用程序。”或者“如果foo属性的值为HR,则可以按下HR应用程序。”

ABAC的问题在于它变成了一个真正的混乱。但对某些事情来说,这是一个容易的检查。例如,我可能想让具有uid、userPassword和邮件属性的人进入webapp,因为这是我的应用程序需要的强制性属性。然后,我的应用程序就可以寻找角色并做出更细粒度的决策。登录和nologin实际上是查询(login=*) and (!(login=*)),它允许基于单个属性的存在进行访问。这是ABAC,它通常是不可重用的和/或边缘场景将扼杀设计。作为一个人为的例子,如果我有一个系统登录为一个cron工作,但我并不真的希望系统帐户登录到我的应用程序。如果我将nologin (比如shell设置为/dev/null或类似的),那么我的cron作业就不会运行,如果我将它设置为登录,那么我的cron作业就会运行,但是现在一个系统帐户可以不必要地登录我的应用程序。创建两个角色(称它们为用户和系统帐户,不管怎样),然后创建满足这两种需求的策略。

在企业规模上,组织使用标识管理(IDM)产品集中管理、报告和自动化这些访问策略。当一个大公司/组织中的N个子组织拥有N个系统时,自动化和报告就会派上用场。

票数 3
EN

Server Fault用户

发布于 2009-11-14 13:02:26

我用了两种不同的方法,甚至同时使用了这两种方法。首先,您可以使人不同的ObjectClasses,但这可能是一个痛苦。另一种方法是创建一个groupOfNames,每个人都在其中。我结合使用这两种方法,让人们通过自己的ObjectClass访问UNIX机器,然后通过groupOfNames对不同的web应用程序进行细粒度控制。

票数 0
EN

Server Fault用户

发布于 2009-11-16 16:51:51

您可以根据正在通过LDAP读取的底层服务器来处理授权。

例如,在eDirectory中,可以指定具有访问权限的用户可以从其中读取特定属性值的属性的对象。

然后使用eDirectory ACL来允许或否认这一点。

使用本机ACL模型,然后您可以轻松地通过LDAP判断用户是否拥有足够的权限。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/84684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档