多种 Windows Azure服务可以帮助您将应用程序安全性扩展到云。

有三种服务可提供多个提供程序之间的身份标识映射、内部部署数据中心间的连接和相互发送消息的应用程序功能(无论应用程序位于何处)。

·  使用Windows Azure Active Directory,您可以通过位于云中的应用程序的代理身份验证在应用程序上创建单点登录应用程序。使用访问控制服务功能,您可以将来自多个提供程序的标识映射到应用程序可以识别的claims。

·   通过Service Bus,您可以使用安全消息传递和中继功能启用松散耦合的分布式应用程序。

Windows Azure Active Directory

Windows Azure Active Directory是一种云服务,可对 Windows Azure 和 Microsoft Office 365上的应用程序提供身份认证和访问功能。Windows Azure Active Directory是一种多租户云服务,Microsoft Office 365依赖于其身份验证基础结构。

Windows Azure Active Directory利用被公认具备企业级质量的 Active Directory的功能,因此您可以轻松将应用程序迁移到云中。您可以使用访问控制服务 (ACS)(Windows Azure Active Directory的一项功能)启用单点登录、安全增强型应用程序以及与现有 Active Directory部署的简单互操作性。

访问控制服务

访问控制服务 (ACS)允许您将点登录 (SSO) 和集中授权集成到 Web应用程序中。它适用于大多数现代化平台,并与 Web和企业身份提供程序相集成。

ACS 是一种基于云的服务,它提供了对用户进行身份验证和授权以获取 Web应用程序和服务的访问权限的一种简单方式,以及将身份验证和授权从代码中分离出来的功能。您可以让 ACS安排用户的身份验证和大部分授权,而不必使用特定于应用程序的用户帐户实施身份验证系统。ACS可以集成基于标准的身份提供程序,包括企业目录(如 Active Directory)以及 Web身份标识提供商(如 Windows Live ID、Google、Yahoo!和 Facebook)。

访问控制服务是为使用claim的应用程序制定单点登录策略的一个关键部分。

使用 ACS,可以制定授权决策从应用程序中牵引出来,转变为一组声明性规则,以便将传入的安全claim转换为应用程序和服务可以识别的claim。通过使用简单、熟悉的编程模型定义这些规则,使其代码更为清晰。

在上图显示的方案中,最终用户使用浏览器访问应用程序。浏览器接受多个身份提供程序的凭据 -用户可以使用 Windows Live ID、Google、Yahoo!、Facebook或客户的 Active Directory登录应用程序。从身份提供程序获取token后,ACS将使用您提供的规则转换token。例如,身份提供程序可以传递电子邮件给ACS,您可以将token中的电子邮件更改为名为“electronicmail”的claim(如果需要)。

应用程序依靠 ACS来以应用程序可识别的方式提供claim。

下图显示了 Web应用程序各部分间的步骤。Web服务应用程序与此类似。

您的应用程序将显示为RelyingParty

ACS 可兼容大多数常用的编程和运行时环境,并支持多个协议,包括 Open Authorization (OAuth)、OpenID、WS-Federation和 WS-Trust。

ACS 中提供以下功能:

· 与 Windows Identity Foundation (WIF)集成

·  对常用 Web身份提供程序(包括Windows Live ID、Google、Yahoo和 Facebook)的自带支持

·  对 Active Directory Federation Services (AD FS) 2.0的自带支持

·  支持 OAuth 2.0、WS-Trust和 WS-Federation协议

·  支持 SAML 1.1、SAML 2.0和Simple Web Token (SWT)这些token格式

·  允许用户选择其身份提供程序的可自定义的集成 Home Realm Discovery

·  基于 Open Data Protocol (OData)的管理服务,可提供对 ACS配置的编程访问

·  允许对 ACS配置进行管理访问的基于浏览器的管理门户

ACS 可以兼容几乎所有现代 Web平台,包括 .NET、PHP、Python、Java和 Ruby。

访问控制服务入门

ACS 快速跟踪 - 入门指南。

访问控制服务2.0 示例和文档曾经可通过包含 ACS 2.0 生产版本的代码示例和文档的 CodePlex项目获取, 现在可以直接通过MSDN访问。

Service Bus

Service Bus 提供安全消息传递和中继功能,以便在云中构建松散耦合的分布式应用程序。这些消息传递方案可用于保护在云中客户端连接到内部部署中运行的应用程序,也可支持 Windows Azure上的端点。

中继和Brokered消息传递。中继服务可提供多种不同的中继连接选项,甚至可在可能时帮助协商直接连接。中继服务支持传统单向消息传递、请求/响应消息传递和P2P消息传递。它还支持整个 Internet 范围内的事件分发,并提供发布/订阅方案和双向 socket通信来提高点对点效率。不同于中继消息传递方案,brokered消息传递可视为异步,或“暂时分离”。生产者(发送者)和消费者(接收者)无需同时在线。

2011 年 9月引入的新功能支持队列、主题、订阅等功能,改进了发布/订阅消息传递,从而增强了 Service Bus。此版本在 Windows Azure平台上还支持以下新方案:

·   异步云事件 -将事件通知分发到偶然连接的客户端(例如,电话、远程 worker、网亭等)

·   事件驱动的面向服务的体系结构 (SOA) -构建可随时间轻松演变的松散耦合系统

·   高级应用程序内部消息传递 -负载水平调整和负载平衡,用于构建高可伸缩性和高弹性的应用程序。

Service Bus 中继消息传递

假设您在内部部署客户数据中心内(或在私有云中)运行应用程序。您可以向用户暴露应用程序而不将其暴露在云中。云中运行的集中“中继”服务支持多种不同的传输协议和 Web 服务标准,包括SOAP、WS-*和 REST。

使用Service Bus 中继消息传递,您可以创建一个基本 Windows Communication Foundation (WCF) 服务应用程序和一个 WCF客户端应用程序。前者配置为向 Service Bus注册发布端点,后者则通过 Service Bus端点进行调用。主机和客户端应用程序均在 Windows Server或台式计算机上执行(即,它们未托管在 Windows Azure上),并使用常见标准协议和安全措施来访问 Service Bus。

有关介绍如何构建使用 Service Bus“中继”消息传递功能的应用程序的教程,请参见Service Bus 中继消息传递教程。

Service Bus Brokered消息传递

Service Bus Brokered消息传递功能可视为异步或分离的消息传递功能,通过 Service Bus 消息传递基础结构为发布-订阅、暂时分离和负载平衡方案提供支持。解耦的通信具有众多优势,例如,可根据需要连接客户端和服务器,并以异步方式执行操作。

有关如何在 .NET中或使用 REST 实施brokered消息传递的教程,请参见Service Bus brokered消息传递教程。

Service Bus 入门

请参见:

·   Service Bus 简介(视频)

·   Service Bus 入门

·   开发使用Service Bus 的应用程序

·   MSDN上的Service Bus主题

下一篇文章

Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践。我总结了很多最佳实践。因此,我介绍了在保护您的Windows Azure应用程序时需要考虑的更多事项。

以下是本系列中的文章的链接:

·  Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策 。

·  Windows Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制。

·  Windows Azure 安全最佳实践 - 第 3 部分:确定安全框架。

·  Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施。

·  Windows Azure 安全最佳实践 - 第 5 部分:基于Claims的标识,单点登录。

·  Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践。

本文翻译自:

http://blogs.msdn.com/b/usisvde/archive/2012/03/14/windows-azure-security-best-practices-part-6-how-azure-services-extends-your-app-security.aspx

转载于:https://www.cnblogs.com/sesexxoo/p/6191078.html

Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性相关推荐

  1. Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策

    我每次与开发人员讨论将应用程序迁移到云时都围绕着两个主要问题. 1. 首先是业务.将应用程序迁移到云可以带来怎样的规模经济? 2. 其次是安全问题."云的安全性如何,尤其是Windows A ...

  2. Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施

    那么,哪些安全威胁应由WindowsAzure环境缓解?哪些安全威胁必须由开发人员缓解? 开发 Windows Azure 应用程序的最佳安全做法一文说明了对于在 Windows Azure 中运行的 ...

  3. 最佳实践系列丨Docker EE 服务发现参考架构(二)

    出品丨Docker公司(ID:docker-cn) 编译丨小东 每周一.三.五晚6点10分 与您不见不散 服务发现对服务进行注册并发布其连接信息,以使其他服务了解如何连接到服务.随着应用向微服务和面向 ...

  4. 微服务架构深度解析与最佳实践-第一部分:微服务发展历程和定义

    微服务架构的概念,现在对于大家应该都不陌生,无论使用 Apache Dubbo.还是 Spring Cloud,都可以去尝试微服务,把复杂而庞大的业务系统拆分成一些更小粒度且独立部署的 Rest 服务 ...

  5. 后端传输大量log数据_京东智联云MySQL读写分离最佳实践 ,轻松搞定数据库高性能扩展...

    数字化时代,数据库对任何企业而言都是其应用的核心资源.MySQL作为当前最流行的关系型数据库,虽然是开源软件,但是其简单易懂.易于部署管理,且具有ACID特性.强大的SQL查询等特点,被各种业务系统作 ...

  6. 京东智联云MySQL读写分离最佳实践 ,轻松搞定数据库高性能扩展

    云妹导读: 互联网公司业务往往都有着高并发.大数据量等特点,为了在激烈的市场竞争中占得先机,需要不断推陈出新,并做大量的促销运营活动.但由于互联网的特殊性,企业无法提前预判这些活动给技术架构带来的压力 ...

  7. [转]在 Azure 云服务上设计大规模服务的最佳实践

    本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...

  8. Android开发最佳实践

    原文链接:https://github.com/futurice/android-best-practices 转载来源:http://blog.csdn.net/asce1885/article/d ...

  9. C++最佳实践 | 1. 工具

    本系列是开源书C++ Best Practises[1]的中文版,全书从工具.代码风格.安全性.可维护性.可移植性.多线程.性能.正确性等角度全面介绍了现代C++项目的最佳实践.本文是该系列的第一篇. ...

最新文章

  1. 字节跳动端到端深度学习召回算法
  2. 是时候搞清楚 Spring Boot 的配置文件 application.properties 了!
  3. python三维图形渲染-基于VTK/numpy的三维图像渲染与可视化
  4. Android根据baidu Android定位SDK实现定位
  5. 使用 Spring 2.5 基于注解驱动的 Spring MVC--转
  6. Centos7 安装python3.7.2
  7. [转载]大型网站架构演变和知识体系
  8. Linux内核分析 - 网络[九]:邻居表
  9. 程序迭代时测试操作的要点(后端前端)
  10. element-ui本地使用
  11. 深度学习优化器演化史
  12. 基本操作2-常用命令
  13. 生成动态代理并加入系统功能的设计模板
  14. 《Mybatis 手撸专栏》第10章:使用策略模式,调用参数处理器
  15. Snipaste下载以及一部分使用的快捷方式
  16. 逍遥书生服务器啥时候维护完毕,《逍遥西游2》12月8日服务器维护公告
  17. 常见的互联网名词 O2O、B2B、C2C等
  18. Allegro PCB Design GXL (legacy) - 新建绘图(PCB),设置单位、坐标、栅格间距等参数
  19. SD卡启动第一篇 (SD卡分区)
  20. 西航计算机学院学生会,西安航空学院“计算机学院一家亲”主题破冰晚会顺利举...

热门文章

  1. BZOJ3670: [Noi2014]动物园
  2. java 动态按钮_java-向片段动态添加按钮
  3. 删除电脑中的mysql数据库吗_【数据库】怎么彻底删除mysql服务?
  4. java8中Predicate用法
  5. 软件项目管理:进度管理相关概念介绍
  6. 图解分布式架构的演进过程!
  7. java 简单事件的使用,如何正确的使用Java事件通知(1)
  8. c++ 获取数组的长度
  9. 按钮 交互_SwiftUI中的微交互—菜单按钮动画
  10. cv::mat 颜色空间_网站设计基础:负空间