REST已经成为现代架构中十分重要的部分。根据InfoQ报道,近日.NET服务项目组公布了未来.NET服务提供计划的详情,其中在RESTful服务方面下了不少功夫。这是Azure服务平台的一部分。.NET服务包含用于创建应用程序和服务之间安全链接的访问控制,还有一个跨网络和组织界限的通信服务总线。
.NET服务的下一个CTP版本和SDK将会在十月份发布,它已经非常接近于商业发布了。微软.NET服务总线和当前的CTP版本比较起来大部分是一样的,而.NET访问控制服务将会进行修改,以便为我们带来既定的.NET服务正式发布的新特性。从该博文可知,对于.NET服务的RESTful访问在Web开发人员和企业级开发人员中都逐渐普及。文中还指出了一些已有的身份识别解决方案的缺陷,尤其在访问控制方面。
今天,REST Web服务的开发人员缺乏一个简单易懂的方式来保证他们的服务安全。......开发人员缺乏针对身份管理和访问控制的连贯和通用模式,即一种与REST兼容的方式。当开发人员在企业中转移到REST方向的时候,对于强大安全性的需要就会随之增加。他们需要解决的是,企业客户的安全意识要求越系统,企业目前的解决方案的身份管理越加复杂。他们需要一种与REST良好集成的简单方式来满足这些需求。
关键是要面向企业开发者重新调整方向。文中总结了一些重要的解决方案,它们可在即将发布的正式版中吸引更多开发者眼球。
.NET访问控制服务提供一种简单的方式来控制对Web应用程序和服务的访问,并与基于标准的身份提供程序集成,涵盖企业目录和Web身份识别系统,比如Windows Live ID。授权决定可以从应用程序分离并放进一套陈述性规则当中,即可把输入的安全声明转化为应用程序可识别的声明。
以下一些重要的解决方案可以作为访问控制服务商业发布的一部分:
- 两个令牌互换端点:一个是带对称钥匙的REST,另一个是带SAML扩展的REST
- 声明转换引擎:用预定义的规则把输入的声明转换成输出声明
- 安全令牌服务:使用REST令牌把声明打包和转换
该份公告也承诺未来发布的版本会支持WS-*端点,包括Web单点登录,以提供全部功能。
具体来说,这表示当我们关注实现REST Web服务授权的底层框架的同时目前的WS-*集成功能暂时还不可用。一旦该底层框架就绪,我们即可使用.NET服务的下一代版本功能,比如:Web单点登录和富WS-*支持。在未来的正式版中,我们会恢复WS-*协议、Web单点登录完整支持,并跨REST/SOAP的支持.NET访问控制服务。
Kieth Brown在公告中对两者进行了比较。
谁要在RTM中通过WS-*和被动联合识别来调用ACS(访问控制服务)都应三思而行。
有趣的是草根阶层对于云服务的采纳迫使云服务提供商,包括微软在内,重新思考他们的服务策略。我们看到谷歌过去曾批评他们的WS-*搜索API。这会使得来自大众平台和掌握各种技术的人员了解和使用RESTful服务的工作量有所减少吗?抑或这就是RESTful服务提供和WS-*不一样的可伸缩性功能呢?
【编辑推荐】