介绍Azure服务平台,.NET Services及其中的访问控制服务(Access Control)
10月27日我们的首席软件架构师Ray Ozzie在洛杉矶召开的“专业开发人员大会”(PDC)上与软件开发人员分享了AzureTM服务平台,一个全新云计算平台的技术预览版。这个服务平台实现了我们”软件+服务”的主张,开发人员既可以构建可在云端运行的应用,也可以拓展现有应用,使其可以利用云端的能力。
上图是AzureTM服务平台的结构简图。AzureTM服务平台的底层是微软新一代的云操作系统Windows Azure。您可以将自己写的各种服务或者应用上传到云端的操作系统来进行存储,运算,管理等相关操作。在Windows AzureTM操作系统之上,目前运行着Live Services,.NET Services,SQL Services,SharePoint Services和Dynamics CRM Services这五大服务系列,作为未来微软下一代网络服务的基础。
作为这五大服务之一,我们的.NET Services服务的设计宗旨是希望能够把目前已经被广泛应用在单机上的.NET框架进一步拓展到云端,为您打造一个基于网络标准协议(WS-*和REST)来创建网络服务的框架。无论您是Windows,Linux或者其他操作系统上的开发者,习惯于应用.NET,Java,Ruby,或者其他开发语言,都可以通过.NET Services为您打造好的框架,专注于编写您自己的增值服务,进而轻松的帮助您构建符合互联网标准的云-端应用。
.NET Services目前包含三个基础服务:服务总线(Service Bus),访问控制(Access Control)和工作流服务(Workflow Services) 。不同于我们耳熟能详的企业级服务总线(ESB),.NET Services打造的是一条面向互联网级别应用的服务总线。它支持互联网级的服务发布,信息传递、多播,实现不同互联网服务之间的方便通信。而工作流服务则在云端提供了一个工作流运行平台,使您能够将本地运行的工作流部署到云端,从而扩大其应用范围。
作为AzureTM服务平台上的核心服务,访问控制服务是完全由我们中国研发团队打造的。它是一款多用户,高性能,持续运行在云端的互联网级的网络服务。您可以在访问控制服务的网站上、或者利用我们提供的基于SOAP或者REST的应用程序接口(API),添加您的访问规则,进行对应的互联网应用/服务的权限管理。
我们的访问控制服务具有两大核心优势:
1) .NET访问控制服务能够和一系列现有的商用电子身份提供服务进行联盟。
我们知道对于一个网络服务来说,首先要解决的就是用户身份认证及授权的问题。现在网络上有着许多电子身份提供服务,如Windows Live ID以及各个公司内部采用的Active Directory系统等。我们的.NET访问控制服务能够和这些商用电子身份服务无缝联盟,进而使得任何一个新建立的网络服务都能够通过我们的服务来自由的管理采用不同的电子身份的用户,而无需重复建立新的用户系统。
2) 提供一套基于“规则”的方式来进行权限管理。
这是我们的访问控制服务所独有的特色。无论用户的访问控制逻辑有多么复杂,他都可以通过定义不同的规则,以及规则与规则之间的映射来构建他所独有的访问控制逻辑。而在服务端则只需检查用户提供的来自访问控制服务的令牌,根据其中的授权内容进行授权。这使得您的网络服务整个架构更为清晰,安全性也大大提高。
目前我们的访问控制服务已经被广泛应用在AzureTM服务平台上的各个网站和服务中,为微软的云计算平台提供统一方便的权限控制管理。
如果您希望对我们的服务了解更多,您可以观看PDC上“Architecture of the .NET Services”的讲座和演示文档,访问我们的网站http://www.azure.com/,下载我们的软件开发包(SDK)来对我们的服务有更加深入的体验。
熊炜(软件开发工程师)