利用Geneva开发SOA的安全模型

时间:2022-04-23
本文章向大家介绍利用Geneva开发SOA的安全模型,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

微软最新发布的代号为Geneva Beta 1,之前的代号为Zermatt。Geneva可以帮助开发人员更轻松地开发用于认证/授权的基于声明(claims-based)的身份模型的应用。这是由微软开发但得到行业支持的模型采用WS-Federation、WS-Trust和SAML(Security Assertion Markup Language,安全断言标记语言)等标准协议。Sun的WSITWebSphere App Server v7.0也支持这些行业标准。

Geneva 不仅为开发具有授权性质的应用提供了方便,还将使部署、管理和保护应用更容易。在.NET 3.0所包含的Windows CardSpace ,这是微软第一次如此直接地将其庞大的开发大军纳入身份元系统计划,它定义了多厂商平台的分布式身份架构。权限被用来做出谁可以访问,谁可以检索内容或谁可以完成交易这样的决定。

包含在权限中的数据可以来自Active Directory,基于LDAPv3的目录,专用数据库,或者像包括微软的CardSpace和Novell的Digital Me在内的LiveID、 OpenID及InfoCard系统这些新的以用户为中心的身份模型。Geneva是专为开发基于Windows应用准备的,Geneva包括以下三个组件:

Geneva 服务器。 这是一个OASIS WS-Trust规范中定义的安全令牌服务(STS)。 This thing issues和转换声明,管理用户访问并可以实现自动化联邦。

Geneva 框架。这是一个托管的(.NET)连接到STS的框架,有助于开发人员构建基于声明的应用程序和服务。你可以用它来处理对任何一方的授权事务(请求或响应)。

Windows CardSpace Geneva。这是一个你在Windows里所喜爱的CardSpace 的扩展。有可能你已经看见过他,就是没有使用过。简单的说,CardSpace是一组的Windows功能和用户界面,允许用户导航访问权限和控制使用个人信息。每个人都有作为身份一部分的多个声明:你是UM(西雅图华盛顿大学)的学生,你是BigCorp的员工,你还是一个具有良好声誉的社团的成员,你获得了一个特别的安全卡,你还有一个BigBank的银行帐号4444-444-44 等等。CardSpace 让你自己决定使用哪个声明向特定的服务器或服务透露你的身份。而不是像所有的服务器或服务透露你的一切,你只需要透露为特定交易所需要的信息。这是身份标识模型的一个方面,CardSpace 使得在Windows中做这样的事情成为可能。

基于声明模型的关键是安全令牌服务(STS)。STS是协商交换安全令牌(如Kerberos或SAML),并根据应用的需要将令牌转换为不同格式的轻型网关,可用于服务器和客户机。

Geneva 可被用来开发接收来自CardSpace的信息的应用。CardSpace是Vista和XP中的以用户为中心的身份系统。如果你现在想在.Net中做到这点,那么你必须有很多自己编写的协议代码。使用基于声明模型的第一个领域是云服务,微软的BizTalk Services – Internet Service Bus (ISB) 中有一个Identity Services – 该服务允许组织更容易管理用户,并帮助开发人员创建更安全的应用程序,支持从不同的组织来识别用户。

Geneva Beta 1 可以从Microsoft Connect网站下载。一些有用的文档:"Geneva"介绍微软代号为"Geneva" 框架针对开发人员的白皮书