工作原理
AA服务是一种复杂的Web服务,遵守面向服务架构(SOA)的原则。它基于HTTPS上的SOAP,两者都是非专利性的开放标准,独立于软件语言或者厂商系统。它们不需要使用、许可或维护的费用。利用SOA原则进行设计意味着,你可用模块化方式构建这项Web服务,为了使用和维护的方便性,必要时可以删除或者更换它。因此,你不必改动其他部分,就可以改动架构的任何部分。
AA服务使用本地域LDAP进行验证及随后基于SAML的安全断言。SAML令牌用来把断言传输到可信资源,再由可信资源允许或拒绝对数据资源的访问。
这种功能类似驾驶执照:机动车辆管理局(DMV)就是管理方(好比LDAP),负责核实你的身份及驾驶资格。交警充当可信资源,负责向DMV复核身份,然后根据目前的驾驶资格或者道路规则,批准或者禁止某驾驶员是否有权驾驶。
AA服务在使用规则引擎评估授权规则时,以允许或拒绝访问数据资源限定条件的安全策略为基础。引擎规则对加强策略管理来说是核心所在。
使用LDAP作为管理方还有助于实现身份集中管理。不是在单个资源处管理资源访问,而是使用LDAP和定义用户角色及相应数据参数(如部门和管理级别)的相应策略,来管理用户访问列表。
以下是这个过程的几个重要步骤:
第1步:用户登录。用户需要访问数据资源,于是使用SOAP客户端利用用户名和口令对进行登录。客户端把用户名和口令对(还有可能是其他安全因素)传送给LDAP进行验证。LDAP核实用户后,把信息返回给客户端。
第2步:SAML令牌。SOAP客户端把返回的LDAP信息及其他用户信息传送给SAML客户端。该服务方会按正确格式把信息打包成SAML令牌,SAML客户端把令牌返回给SOAP客户端,然后SOAP客户端把SAML令牌和用户请求打包成SOAP请求。
第3步:SAML会话开始。SOAP客户端开启定时的SAML会话,并发送SOAP请求给相应的Web服务,以满足用户需求。Web服务解析SAML令牌后,通过LDAP核实验证信息。这样,用户只要登录一次:每个Web服务都可以充当用户代理,并获得数据资源的信任,因为Web服务核实了请求信息。
第4步: 授权。经验证后,Web服务发送请求给运行规则引擎的SAML服务器。SAML在这一步并不是绝对必要的,但对我们来说很方便。规则引擎评估用户参数后,确定授权用户的访问级别。评估工作基于体现一组预定访问策略的规则进行。访问级别核实信息返回给Web服务。
第5步: 请求完成。Web服务请求数据源提供数据,把请求结果打包成SOAP响应,然后发回给SOAP客户端。SOAP客户端再把数据提供给用户,同时终止SAML会话。SAML令牌期满,不能重复使用。
集中就是统一
总的说来,我们建立的基于SAML的AA Web服务依靠LDAP作为管理中心。使用LDAP和执行安全策略的授权规则引擎可以实现集中身份管理。集中身份管理的一个好处是,可以获得简化和统一的访问控制管理。
集中身份管理意味着,你可以在某一个点管理访问控制列表。比如,终止某个员工的账户就可以终止与中央账户(这里是LDAP)相关的所有访问。这种Web服务为断言、认证和服务提供了通用服务。开发人员可以调用这种Web服务,允许Web服务访问所需的应用和数据资源。
所汲取经验
SAML传输的是令牌,它不是验证或者授权机制。为了缓解风险,SAML系统使用定时会话、IP地址、HTTPS和SSL/TLS。安全Web服务非常复杂,涉及法律、安全和政治等方面。
使用LDAP作为管理中心可以实现集中身份管理。规则引擎为访问控制和策略管理提供了有效而灵活的方案(它同时支持基于角色和基于属性的访问控制)。
可以简化身份管理,首先是因为可以在LDAP处激活或者禁用账户。其次,可以避免费用,因为可以集中及减少验证应用,减少审查风险。最后,可以简化身份管理,是因为账户管理使用现有的LDAP服务,从而减少了开销、加强了同步。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
SAP收购CallidusCloud 与Salesforce竞争
一直被称为后台办公巨头的SAP现在似乎也想在前台办公大展拳脚。 最新的迹象是SAP收购CallidusClou […]
-
API设计如龙生九子 各不相同
IT咨询管理公司CA Technologies对API产业做了个问卷调查,问卷内容涉及API设计风格以及管理部署的新动向。调查结果表明,JSON与XML可谓两分天下。
-
从头开始实现领域驱动设计
领域描述业务;它是驱动企业的概念和逻辑的集合。如果遵循领域驱动设计(DDD)这一本质,那么领域就是应用程序中最重要的组成部分。
-
走出思维定式 数据库/大型机现代化不再是问题
升级和改变组织的主要利益驱动应用的前景,正处于一个压倒性的位置,所以组织将要面临一系列的改变。