集中验证和授权多个Web服务(Centralized Authentication and Auth

2019-07-30 13:26发布

有几种不同的Web服务 - 使用的各种技术,如Java,.NET,Python和Perl和可能更多的未来 - 属于不同组织和访问这些Web服务已经受到限制。

这个想法是有一个中央认证和授权服务器,只负责授权访问每个WS。

我在寻找一个单点登录系统,其中用户与auth服务器认证一次,并授予访问Web服务在有限的时间跨度。

安全性要求越来越高,所以用户名/密码设置是不够的。

在快速搜索我发现很多不同的解决方案和方法的问题,但我不知道这种情况下,最好的一个 - 一个技术独立,安全和可靠的解决方案。

Answer 1:

我们做了关于这一主题的大型研究,但没有找到合适的解决方案了。 (近一个很好的解决方案,但没有这么多的web服务是http://www.atlassian.com/software/crowd/ )

因此,我们开发了SSO和集中用户管理系统也为我们的WS应用程序(也第三方应用程序),但它不卖。

如果你的测试解决方案,您应检查系统,负荷下特殊的表现。 在一开始,我们系统是慢了30倍。 通常你会在XML解析和请求您需要做的(通常,你不得不在未来的一个请求,你将有至少4)数字向下找到缓慢。 (我们使用JMeter的测试它。)你应该设置故障转移系统,因为你创建SSO单点故障。



Answer 2:

这个问题已经通过WS-信托已基本解决,至少基于SOAP的Web服务反正。 WS-信任是用于验证和交换“的认证令牌”良好定义的协议,并且可以在跨企业场景与协议,如构建在它WS联合使用。

一个例子方案是为客户从WS-信托服务器请求一个令牌,则包括在SOAP头添加到Web服务主机令牌。 另一面是包括如<的UsernameToken>在请求到主机简单的东西,并有服务器侧委托认证的WS-信任服务器。

还有的WS-信托相当不错的客户端支持 - WCF具有开箱即用支持的,不同厂商对JAX-RPC和JAX-WS Web服务J2EE拦截。

虽然WS-Trust的重点是身份验证,则可以使用约何时发出或确认接收的令牌逻辑做粗粒度的授权。 不要发出/验证令牌,并获得有效拒绝。 细粒度的授权用于Web服务通常需要一些自定义的拦截,这是供应商特定的。

我为IBM Tivoli安全工作,我们在这个领域的几个产品。 首先是Tivoli联合身份管理器(TFIM)。 一位同事和我写这篇文章的基于WSE的Web服务集成TFIM,并包括WS-Trust协议本身的概述。 第二个产品是Tivoli安全策略管理器(TSPM),它实现了Web服务的细粒度授权。

有这些相同的协议,这是使用基于标准的解决方案的上侧的开放源码实现。 我相信,JBoss和WSO有实现可能有用。



Answer 3:

这不是什么OpenID是什么?

通过一切手段纠正我,如果我错了。



文章来源: Centralized Authentication and Authorization for several Web Services