首页 文章

LDAP与SAML授权

提问于
浏览
9

我目前正在研究将资产跟踪系统从LDAP迁移到SAML . 我们的软件目前使用LDAP有两个主要区域 . 第一个是身份验证 . 要立即访问系统,您需要使用LDAP成功进行身份验证并成为指定LDAP组的成员 . 转移到SAML非常简单 . 我们利用一个库来处理大部分肮脏的工作 . 在IDP上,我们可以添加声明来授权用户 . 但是我们第二次使用LDAP会让我陷入困境 .

今天,我们维护的每个资产都可以链接到用户名 . 例如,特定的打印机可能属于“某个用户” . 我们的软件为管理员提供的选项之一是基于LDAP用户组查看资产/与资产交互 . 因此,作为管理员,我可能希望更新特定部门中人员拥有的所有打印机 . 为此,管理员将创建一个作用于LDAP组“departmentInQuestion”的规则 . 然后,我们的软件将使用服务帐户连接到LDAP,创建查询以查看系统中哪些用户位于“departmentInQuestion”中,执行该操作并使用结果确定哪些资产应获得更新 .

从我的搜索到目前为止,我还没有找到类似于此的SAML工作流程 . 看来我们唯一有机会评估'someuser'是在他们进行身份验证时,我们可以访问他们的声明 . 但在我们的工作流程中,“someuser”可能永远不会与我们进行身份验证这几乎就像我们使用代表服务帐户授权用户一样 . 在我的探索过程中是否存在我忽略的现有工作流程?是否有其他技术以这种方式支持授权?

谢谢你的任何输入!

3 回答

  • 7

    SAML就像护照或签证 . 它有(可信的)有关您的信息,可用于了解您(例如您的姓名,DOB)并推断您可以访问的内容(例如,进入某个国家/地区) . 您可以使用令牌中的属性向其他系统查询可能与您关联的其他信息(例如您的银行对帐单) .

    因此,类似地,SAML通常用于对系统的用户进行身份验证(一旦您信任它的来源),但是没有用于管理用户配置文件或“资源”的规定 .

    授权决定(如果有的话)通常基于与用户相关联的属性(例如,他所属的组)并在安全令牌中的权利要求中传达 .

    也许第一个要回答的问题是为什么要放弃LDAP并考虑SAML . 是因为您想接受使用自己的凭据登录的用户?是因为你想完全摆脱LDAP服务器

    您可以很好地保留LDAP服务器以管理 resources associated with users ,并在其他地方对用户进行身份验证 . 这就是你现在拥有的 . 您可以通过公共属性(例如用户名或某个ID)关联用户"outside"和"inside" .

    如果您想要一起摆脱LDAP,那么您需要其他地方来存储该信息(例如您的应用数据库) .

  • 0

    Eugenio Pace的回应为基础,特别是在本段之后:

    因此,类似地,SAML通常用于对系统的用户进行身份验证(一旦您信任它的来源),但是没有用于管理用户配置文件或“资源”的规定 . 授权决定(如果有的话)通常基于与用户相关联的属性(例如,他所属的组)并在安全令牌中的权利要求中传达 .

    Eugenio在这里提到的是ABAC - 基于属性的访问控制 . SAML不这样做 . 要实现ABAC,您需要XACML . SAML和XACML都是由OASIS定义的标准,并且可以互操作 . 使用XACML,您可以定义基于属性的规则 . 例如,我们可以重新访问您的示例并编写如下规则:

    • 具有 role==administrator 的用户可以在 type==printer 的资源上执行 action==update 当且仅当 department of the user == the department of the printer 时 .

    您可以在这些参考站点上阅读有关ABAC的XACML的更多信息:

  • 15

    Auth0实现了面向消费者的Web产品( OAuth 2.0OpenID Connect )和企业部署( SAMLWS-FederationLDAP )中使用的经过验证的,通用的和流行的身份协议 .

    • S ecurity A ssertion M arkup L anguage( SAML )是一个基于XML的框架,用于两个实体之间的身份验证和授权:服务提供者和身份提供者 . 服务提供商同意信任身份提供商对用户进行身份验证 . 身份提供程序对用户进行身份验证,并向服务提供程序提供一个身份验证声明,指示用户已经过身份验证 .

    • L ightweight D irectory A ccess P rotocol( LDAP )是一种应用程序协议,用于通过Internet协议(IP)访问和维护分布式目录信息服务网络 .

    Source

相关问题