Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性
多種?Windows Azure服務(wù)可以幫助您將應(yīng)用程序安全性擴(kuò)展到云。
有三種服務(wù)可提供多個(gè)提供程序之間的身份標(biāo)識(shí)映射、內(nèi)部部署數(shù)據(jù)中心間的連接和相互發(fā)送消息的應(yīng)用程序功能(無(wú)論應(yīng)用程序位于何處)。
·??使用Windows Azure Active Directory,您可以通過(guò)位于云中的應(yīng)用程序的代理身份驗(yàn)證在應(yīng)用程序上創(chuàng)建單點(diǎn)登錄應(yīng)用程序。使用訪問(wèn)控制服務(wù)功能,您可以將來(lái)自多個(gè)提供程序的標(biāo)識(shí)映射到應(yīng)用程序可以識(shí)別的claims。
·???通過(guò)Service Bus,您可以使用安全消息傳遞和中繼功能啟用松散耦合的分布式應(yīng)用程序。
Windows Azure Active Directory
Windows Azure Active Directory是一種云服務(wù),可對(duì) Windows Azure 和 Microsoft Office 365上的應(yīng)用程序提供身份認(rèn)證和訪問(wèn)功能。Windows Azure Active Directory是一種多租戶云服務(wù),Microsoft Office 365依賴于其身份驗(yàn)證基礎(chǔ)結(jié)構(gòu)。
Windows Azure Active Directory利用被公認(rèn)具備企業(yè)級(jí)質(zhì)量的 Active Directory的功能,因此您可以輕松將應(yīng)用程序遷移到云中。您可以使用訪問(wèn)控制服務(wù) (ACS)(Windows Azure Active Directory的一項(xiàng)功能)啟用單點(diǎn)登錄、安全增強(qiáng)型應(yīng)用程序以及與現(xiàn)有 Active Directory部署的簡(jiǎn)單互操作性。
訪問(wèn)控制服務(wù)
訪問(wèn)控制服務(wù) (ACS)允許您將點(diǎn)登錄 (SSO) 和集中授權(quán)集成到 Web應(yīng)用程序中。它適用于大多數(shù)現(xiàn)代化平臺(tái),并與 Web和企業(yè)身份提供程序相集成。
ACS 是一種基于云的服務(wù),它提供了對(duì)用戶進(jìn)行身份驗(yàn)證和授權(quán)以獲取 Web應(yīng)用程序和服務(wù)的訪問(wèn)權(quán)限的一種簡(jiǎn)單方式,以及將身份驗(yàn)證和授權(quán)從代碼中分離出來(lái)的功能。您可以讓 ACS安排用戶的身份驗(yàn)證和大部分授權(quán),而不必使用特定于應(yīng)用程序的用戶帳戶實(shí)施身份驗(yàn)證系統(tǒng)。ACS可以集成基于標(biāo)準(zhǔn)的身份提供程序,包括企業(yè)目錄(如 Active Directory)以及 Web身份標(biāo)識(shí)提供商(如 Windows Live ID、Google、Yahoo!和 Facebook)。
訪問(wèn)控制服務(wù)是為使用claim的應(yīng)用程序制定單點(diǎn)登錄策略的一個(gè)關(guān)鍵部分。
使用 ACS,可以制定授權(quán)決策從應(yīng)用程序中牽引出來(lái),轉(zhuǎn)變?yōu)橐唤M聲明性規(guī)則,以便將傳入的安全claim轉(zhuǎn)換為應(yīng)用程序和服務(wù)可以識(shí)別的claim。通過(guò)使用簡(jiǎn)單、熟悉的編程模型定義這些規(guī)則,使其代碼更為清晰。
在上圖顯示的方案中,最終用戶使用瀏覽器訪問(wèn)應(yīng)用程序。瀏覽器接受多個(gè)身份提供程序的憑據(jù) -用戶可以使用 Windows Live ID、Google、Yahoo!、Facebook或客戶的 Active Directory登錄應(yīng)用程序。從身份提供程序獲取token后,ACS將使用您提供的規(guī)則轉(zhuǎn)換token。例如,身份提供程序可以傳遞電子郵件給ACS,您可以將token中的電子郵件更改為名為“electronicmail”的claim(如果需要)。
應(yīng)用程序依靠 ACS來(lái)以應(yīng)用程序可識(shí)別的方式提供claim。
下圖顯示了 Web應(yīng)用程序各部分間的步驟。Web服務(wù)應(yīng)用程序與此類(lèi)似。
您的應(yīng)用程序?qū)@示為RelyingParty。
?
ACS 可兼容大多數(shù)常用的編程和運(yùn)行時(shí)環(huán)境,并支持多個(gè)協(xié)議,包括 Open Authorization (OAuth)、OpenID、WS-Federation和 WS-Trust。
ACS 中提供以下功能:
·?與 Windows Identity Foundation (WIF)集成
·??對(duì)常用 Web身份提供程序(包括Windows Live ID、Google、Yahoo和 Facebook)的自帶支持
·??對(duì) Active Directory Federation Services (AD FS) 2.0的自帶支持
·??支持 OAuth 2.0、WS-Trust和 WS-Federation協(xié)議
·??支持 SAML 1.1、SAML 2.0和Simple Web Token (SWT)這些token格式
·??允許用戶選擇其身份提供程序的可自定義的集成 Home Realm Discovery
·??基于 Open Data Protocol (OData)的管理服務(wù),可提供對(duì) ACS配置的編程訪問(wèn)
·??允許對(duì) ACS配置進(jìn)行管理訪問(wèn)的基于瀏覽器的管理門(mén)戶
ACS 可以兼容幾乎所有現(xiàn)代 Web平臺(tái),包括 .NET、PHP、Python、Java和 Ruby。
訪問(wèn)控制服務(wù)入門(mén)
ACS 快速跟蹤 - 入門(mén)指南。
訪問(wèn)控制服務(wù)2.0 示例和文檔曾經(jīng)可通過(guò)包含 ACS 2.0 生產(chǎn)版本的代碼示例和文檔的 CodePlex項(xiàng)目獲取, 現(xiàn)在可以直接通過(guò)MSDN訪問(wèn)。
Service Bus
Service Bus 提供安全消息傳遞和中繼功能,以便在云中構(gòu)建松散耦合的分布式應(yīng)用程序。這些消息傳遞方案可用于保護(hù)在云中客戶端連接到內(nèi)部部署中運(yùn)行的應(yīng)用程序,也可支持 Windows Azure上的端點(diǎn)。
中繼和Brokered消息傳遞。中繼服務(wù)可提供多種不同的中繼連接選項(xiàng),甚至可在可能時(shí)幫助協(xié)商直接連接。中繼服務(wù)支持傳統(tǒng)單向消息傳遞、請(qǐng)求/響應(yīng)消息傳遞和P2P消息傳遞。它還支持整個(gè) Internet 范圍內(nèi)的事件分發(fā),并提供發(fā)布/訂閱方案和雙向 socket通信來(lái)提高點(diǎn)對(duì)點(diǎn)效率。不同于中繼消息傳遞方案,brokered消息傳遞可視為異步,或“暫時(shí)分離”。生產(chǎn)者(發(fā)送者)和消費(fèi)者(接收者)無(wú)需同時(shí)在線。
2011 年 9月引入的新功能支持隊(duì)列、主題、訂閱等功能,改進(jìn)了發(fā)布/訂閱消息傳遞,從而增強(qiáng)了 Service Bus。此版本在 Windows Azure平臺(tái)上還支持以下新方案:
·???異步云事件 -將事件通知分發(fā)到偶然連接的客戶端(例如,電話、遠(yuǎn)程 worker、網(wǎng)亭等)
·???事件驅(qū)動(dòng)的面向服務(wù)的體系結(jié)構(gòu) (SOA) -構(gòu)建可隨時(shí)間輕松演變的松散耦合系統(tǒng)
·???高級(jí)應(yīng)用程序內(nèi)部消息傳遞 -負(fù)載水平調(diào)整和負(fù)載平衡,用于構(gòu)建高可伸縮性和高彈性的應(yīng)用程序。
Service Bus 中繼消息傳遞
假設(shè)您在內(nèi)部部署客戶數(shù)據(jù)中心內(nèi)(或在私有云中)運(yùn)行應(yīng)用程序。您可以向用戶暴露應(yīng)用程序而不將其暴露在云中。云中運(yùn)行的集中“中繼”服務(wù)支持多種不同的傳輸協(xié)議和 Web 服務(wù)標(biāo)準(zhǔn),包括SOAP、WS-*和 REST。
使用Service Bus 中繼消息傳遞,您可以創(chuàng)建一個(gè)基本 Windows Communication Foundation (WCF) 服務(wù)應(yīng)用程序和一個(gè) WCF客戶端應(yīng)用程序。前者配置為向 Service Bus注冊(cè)發(fā)布端點(diǎn),后者則通過(guò) Service Bus端點(diǎn)進(jìn)行調(diào)用。主機(jī)和客戶端應(yīng)用程序均在 Windows Server或臺(tái)式計(jì)算機(jī)上執(zhí)行(即,它們未托管在 Windows Azure上),并使用常見(jiàn)標(biāo)準(zhǔn)協(xié)議和安全措施來(lái)訪問(wèn) Service Bus。
有關(guān)介紹如何構(gòu)建使用 Service Bus“中繼”消息傳遞功能的應(yīng)用程序的教程,請(qǐng)參見(jiàn)Service Bus 中繼消息傳遞教程。
Service Bus Brokered消息傳遞
Service Bus Brokered消息傳遞功能可視為異步或分離的消息傳遞功能,通過(guò) Service Bus 消息傳遞基礎(chǔ)結(jié)構(gòu)為發(fā)布-訂閱、暫時(shí)分離和負(fù)載平衡方案提供支持。解耦的通信具有眾多優(yōu)勢(shì),例如,可根據(jù)需要連接客戶端和服務(wù)器,并以異步方式執(zhí)行操作。
有關(guān)如何在 .NET中或使用 REST 實(shí)施brokered消息傳遞的教程,請(qǐng)參見(jiàn)Service Bus brokered消息傳遞教程。
Service Bus 入門(mén)
請(qǐng)參見(jiàn):
·???Service Bus 簡(jiǎn)介(視頻)
·???Service Bus 入門(mén)
·???開(kāi)發(fā)使用Service Bus 的應(yīng)用程序
·???MSDN上的Service Bus主題
下一篇文章
Windows Azure 安全最佳實(shí)踐 - 第 7 部分:提示、工具和編碼最佳實(shí)踐。我總結(jié)了很多最佳實(shí)踐。因此,我介紹了在保護(hù)您的Windows Azure應(yīng)用程序時(shí)需要考慮的更多事項(xiàng)。
以下是本系列中的文章的鏈接:
·??Windows Azure 安全最佳實(shí)踐 - 第 1 部分:深度解析挑戰(zhàn)防御對(duì)策 。
·??Windows Azure 安全最佳實(shí)踐 - 第 2 部分:Azure 提供哪些現(xiàn)成可用的安全機(jī)制。
·??Windows Azure 安全最佳實(shí)踐 - 第 3 部分:確定安全框架。
·??Windows Azure 安全最佳實(shí)踐 - 第 4 部分:需要采取的其他措施。
·??Windows Azure 安全最佳實(shí)踐 - 第 5 部分:基于Claims的標(biāo)識(shí),單點(diǎn)登錄。
·??Windows Azure 安全最佳實(shí)踐 - 第 7 部分:提示、工具和編碼最佳實(shí)踐。
?
?本文翻譯自:
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
轉(zhuǎn)載于:https://www.cnblogs.com/sesexxoo/p/6191078.html
總結(jié)
以上是生活随笔為你收集整理的Windows Azure 安全最佳实践 - 第 6 部分:Azure 服务如何扩展应用程序安全性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 51单片机usb烧录电路_STC51单片
- 下一篇: flutter 加载gif图片