Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性
多种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。
访问控制服务入门
访问控制服务2.0 示例和文档曾经可通过包含
ACS 2.0 生产版本的代码示例和文档的 CodePlex项目获取,
现在可以直接通过MSDN访问。
Service Bus
Service Bus 提供安全消息传递和中继功能,以便在云中构建松散耦合的分布式应用程序。这些消息传递方案可用于保护在云中客户端连接到内部部署中运行的应用程序,也可支持 Windows Azure上的端点。
中继和Brokered消息传递。中继服务可提供多种不同的中继连接选项,甚至可在可能时帮助协商直接连接。中继服务支持传统单向消息传递、请求/响应消息传递和P2P消息传递。它还支持整个
Internet 范围内的事件分发,并提供发布/订阅方案和双向 socket通信来提高点对点效率。不同于中继消息传递方案,brokered消息传递可视为异步,或“暂时分离”。生产者(发送者)和消费者(接收者)无需同时在线。
月引入的新功能支持队列、主题、订阅等功能,改进了发布/订阅消息传递,从而增强了
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
入门
请参见:
下一篇文章
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 部分:提示、工具和编码最佳实践。
本文翻译自:
Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性的更多相关文章
- Windows Azure 安全最佳实践 - 第 7 部分:提示、工具和编码最佳实践
在撰写这一系列文章的过程中,我总结出了很多最佳实践.在这篇文章中,我介绍了在保护您的WindowsAzure应用程序时需要考虑的更多事项. 下面是一些工具和编码提示与最佳实践: · 在操作系统上运行 ...
- Windows Azure 安全最佳实践 - 第 5 部分:基于Claim 的标识,单点登录
基于Claim的身份标识是处理网站与 Web 服务的身份认证和访问一种简单而强大的方式,无论您是在本地工作还是面向云工作.您可以通过减少自定义实施和使用基于Claim的单一简化标识模型,创建更安全的应 ...
- Windows Azure 安全最佳实践 - 第 4 部分:需要采取的其他措施
那么,哪些安全威胁应由WindowsAzure环境缓解?哪些安全威胁必须由开发人员缓解? 开发 Windows Azure 应用程序的最佳安全做法一文说明了对于在 Windows Azure 中运行的 ...
- Windows Azure 安全最佳实践 - 第 3 部分:确定安全框架
构建云应用程序时,安全始终是计划和执行Windows Azure的首要核心因素.第 1 部分提出安全是一项共同责任,Windows Azure为您的应用程序提供超出内部部署应用程序需求的强大安全功能. ...
- Windows Azure 安全最佳实践 - 第 2 部分:Azure 提供哪些现成可用的安全机制
在WindowsAzure安全最佳实践 - 部分:深度解析挑战防御对策中,我介绍了威胁形势以及在您的应用程序中采用深度防御的计划. 在本部分中,我将说明 Windows Azure的安全是一项共同责任 ...
- Windows Azure 安全最佳实践 - 第 1 部分:深度解析挑战防御对策
我每次与开发人员讨论将应用程序迁移到云时都围绕着两个主要问题. 1. 首先是业务.将应用程序迁移到云可以带来怎样的规模经济? 2. 其次是安全问题."云的安全性如何,尤其是Windows A ...
- Kubernetes生产环境最佳实践
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 众所周知,Kubernetes很难! 以下是在生产中使用 ...
- [转]在 Azure 云服务上设计大规模服务的最佳实践
本文转自:http://technet.microsoft.com/zh-cn/magazine/jj717232.aspx 英文版:http://msdn.microsoft.com/library ...
- [转]Android开发最佳实践
——欢迎转载,请注明出处 http://blog.csdn.net/asce1885 ,未经本人同意请勿用于商业用途,谢谢—— 原文链接:https://github.com/futurice/and ...
随机推荐
- java代码获取ip地址
public class IpTool { public static void main(String[] args) { IpTool ipTool=new IpTool(); System.ou ...
- mysql基础(mysql数据库导入到处) 很基础很实用
一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简 ...
- Uva 11694 Gokigen Naname
基本思路是Dfs: 1. 一个一个格子摆放,以每个各自的左上角的点为基准点代表格子,比如(0,0)代表(0,0)(0,1)(1,0)(1,1)组成的格子,(0,1)代表(0,1)(0,2)(1,1), ...
- Uva 572 Oil Deposits
思路:可以用DFS求解.遍历这个二维数组,没发现一次未被发现的‘@’,便将其作为起点进行搜索.最后的答案,是这个遍历过程中发现了几次为被发现的‘@’ import java.util.*; publi ...
- 首届全球RTB(实时竞价)广告DSP算法大赛
首届全球RTB(实时竞价)广告DSP算法大赛 竞赛指南 RTB (Real Time Bidding, 实时竞价) 是近年来计算广告领域最激动人心的进展之一. 它增加了展示广告的透明度与效率, ...
- LA-3135 - Argus(优先队列)
3135 - Argus A data stream is a real-time, continuous, ordered sequence of items. Some examples incl ...
- js 实现图片间隔循环轮播以及没有间隔的循环轮播
链接地址:http://blog.sina.com.cn/s/blog_75cf5f32010199dn.html 最近做了个图片循环轮播的功能.就是几张图片不断的循环滚动显示. 感觉这个方法不错所以 ...
- [Swust OJ 610]--吉祥数
题目链接:http://acm.swust.edu.cn/problem/610/ Time limit(ms): 1000 Memory limit(kb): 65535 Description ...
- BZOJ 1004: [HNOI2008]Cards( 置换群 + burnside引理 + 背包dp + 乘法逆元 )
题意保证了是一个置换群. 根据burnside引理, 答案为Σc(f) / (M+1). c(f)表示置换f的不动点数, 而题目限制了颜色的数量, 所以还得满足题目, 用背包dp来计算.dp(x,i, ...
- CentOS6.5实现rsync+inotify实时同步
参考博文: 参考1:CentOS6.5实现rsync+inotify实时同步 参考2:inotify-tools+rsync实时同步文件安装和配置 CentOS 6.3下rsync服务器的安装与配置 ...