Sta*_*ros 16 authentication authorization ldap saml
我目前正在研究将资产跟踪系统从LDAP迁移到SAML.我们的软件目前使用LDAP有两个主要方面.第一个是身份验证.要立即访问系统,您需要使用LDAP成功进行身份验证并成为指定LDAP组的成员.转移到SAML非常简单.我们利用一个库来处理大部分肮脏的工作.在IDP上,我们可以添加声明来授权用户.但我们第二次使用LDAP会让我陷入困境.
今天,我们维护的每个资产都可以链接到用户名.例如,特定的打印机可能属于"某个用户".我们的软件为管理员提供的选项之一是基于LDAP用户组查看资产/与资产交互.因此,作为管理员,我可能希望更新特定部门中人员拥有的所有打印机.为此,管理员将创建一个作用于LDAP组"departmentInQuestion"的规则.然后,我们的软件将使用服务帐户连接到LDAP,创建查询以查看我们系统中的哪些用户位于"departmentInQuestion"中,执行该操作并使用结果确定哪些资产应获得更新.
从我的搜索到目前为止,我还没有找到类似于此的SAML工作流程.看来我们唯一有机会评估'someuser'是在他们进行身份验证时,我们可以访问他们的声明.但在我们的工作流程中,"someuser"可能永远不会与我们进行身份验证 这几乎就像我们使用代表服务帐户授权用户一样.在我的探索过程中是否存在我忽略的现有工作流程?是否有其他技术以这种方式支持授权?
感谢您的任何意见!
Eug*_*ace 23
SAML就像护照或签证.它有(可信的)有关您的信息,可用于了解您(例如您的姓名,DOB)并推断您可以访问的内容(例如,进入某个国家/地区).您可以使用令牌中的属性向其他系统查询可能与您关联的其他信息(例如您的银行对帐单).
因此,类似地,SAML通常用于对系统的用户进行身份验证(一旦您信任它的来源),但是没有用于管理用户配置文件或"资源"的规定.
授权决策(如果有的话)通常基于与用户相关联的属性(例如,他所属的组)并在安全令牌中的权利要求中传达.
也许第一个要回答的问题是为什么你要离开LDAP并考虑SAML.是因为您想接受使用自己的凭据登录的用户吗?是因为你想完全摆脱LDAP服务器
您可以很好地保留LDAP服务器以进行管理resources associated with users,并在其他地方对用户进行身份验证.这就是你现在拥有的.您可以通过公共属性(例如用户名或某个ID)将用户"外部"和"内部"相关联.
如果你想要一起摆脱LDAP,那么你需要其他地方来存储这些信息(例如你的app数据库).
以Eugenio Pace的回应为基础,特别是遵循这一段:
因此,类似地,SAML通常用于对系统的用户进行身份验证(一旦您信任它的来源),但是没有用于管理用户配置文件或"资源"的规定.
授权决策(如果有的话)通常基于与用户相关联的属性(例如,他所属的组)并在安全令牌中的权利要求中传达.
Eugenio在这里提到的是ABAC - 基于属性的访问控制.SAML不这样做.要实现ABAC,您需要XACML.SAML和XACML都是由OASIS定义的标准,并且可以互操作.使用XACML,您可以定义基于属性的规则.例如,我们可以重新访问您的示例并编写如下规则:
您可以在这些参考站点上阅读有关ABAC的XACML的更多信息:
| 归档时间: |
|
| 查看次数: |
52297 次 |
| 最近记录: |