即将到来的.NET 访问控制服务

  • Dilip Krishnan
  • 王波

2009 年 9 月 27 日

话题:SOA.NETRESTAzure语言 & 开发架构

.NET 服务项目组公布了未来.NET 服务提供计划的详情,这是 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-* 不一样的可伸缩性功能呢?详情请查看公告原文,也可参与.NET 服务技术论坛给.NET 服务项目组提供反馈。

查看英文原文:GET Details On Upcoming .Net Access Control Service

SOA.NETRESTAzure语言 & 开发架构