支援安全性的雲端設計模式
當您設計工作負載架構時,您應該使用可解決常見挑戰的產業模式。 模式可協助您在工作負載內進行刻意取捨,並針對您想要的結果進行優化。 它們也可以協助降低源自特定問題的風險,這可能會影響可靠性、效能、成本和作業。 這些風險可能表示缺少安全性保證,如果保持自動執行可能會對企業造成重大風險。 這些模式是由真實世界體驗所支援、專為雲端規模和作業模型所設計,而且原本就與廠商無關。 使用已知的模式作為標準化工作負載設計的方式,是卓越營運的元件。
許多設計模式都直接支援一或多個架構要素。 支援安全性要素的設計模式會優先處理分割和隔離、強式授權、統一應用程式安全性和新式通訊協定等概念。
安全性的設計模式
下表摘要說明支援安全性目標的雲端設計模式。
模式 | 摘要 |
---|---|
外交官 (Ambassador) | 卸除與網路通訊相關的跨領域工作,以封裝和管理網路通訊。 產生的協助程式服務會代表用戶端起始通訊。 此中繼點提供增強網路通訊安全性的機會。 |
前端的後端 | 藉由建立專屬於特定前埠的個別服務,將工作負載的服務層級個別化。 由於此區隔,支援一個用戶端之服務層中的安全性和授權可以針對該用戶端所提供的功能量身打造,進而降低 API 的介面區,並在可能會公開不同功能的不同後端之間橫向移動。 |
隔艙 | 引進了元件之間的刻意和完整分割,以隔離故障的彈力半徑。 您也可以使用此策略,將安全性事件包含到遭入侵的大容量頭。 |
提領票證 | 將數據與傳訊流程分開,提供一種方式來個別擷取與訊息相關的數據。 此模式支援將敏感數據保留在訊息主體外,而是將它保留在受保護的數據存放區中。 此設定可讓您建立更嚴格的授權,以支援從預期使用數據的服務存取敏感數據,但從佇列監視解決方案等輔助服務中移除可見度。 |
同盟身分識別 | 將信任委派給工作負載外部的識別提供者,以管理使用者並提供應用程式的驗證。 藉由將使用者管理和驗證外部化,您可以取得身分識別型威脅偵測和防護的演進功能,而不需要在工作負載中實作這些功能。 外部識別提供者會使用新式互通的驗證通訊協定。 |
閘道管理員 | 將要求轉送至後端節點之前和之後,特別針對安全性和訪問控制強制執行而卸除要求處理。 將閘道新增至要求流程可讓您集中安全性功能,例如 Web 應用程式防火牆、DDoS 保護、Bot 偵測、要求操作、驗證起始和授權檢查。 |
閘道彙總 | 藉由在單一要求中匯總對多個後端服務的呼叫,簡化與工作負載的客戶端互動。 此拓撲通常會減少客戶端與系統擁有的觸控點數目,以減少公用介面區和驗證點。 匯總的後端可以完全與用戶端隔離網路。 |
閘道卸載 | 將要求轉送至後端節點之前和之後,將要求處理卸載至閘道裝置。 將閘道新增至要求流程可讓您集中使用用戶端的 Web 應用程式防火牆和 TLS 連線等安全性功能。 平臺提供的任何卸除功能都已提供增強的安全性。 |
發行者/訂閱者 | 藉由使用中繼訊息代理程式或事件總線的通訊取代直接客戶端對服務通訊,將架構中的元件分離。 此取代項目引進了重要的安全性分割界限,可讓佇列訂閱者與發行者隔離網路。 |
隔離 | 確保外部資產符合小組同意的品質等級,再獲授權在工作負載中取用它們。 此檢查可作為外部成品的第一個安全性驗證。 成品的驗證會在分段環境中進行,才能在 SDL) 的安全開發 (生命週期中使用。 |
側車 | 藉由將非主要或跨領域工作封裝在隨附程式中,並存於主要應用程式中,來擴充應用程式的功能。 藉由封裝這些工作並將其部署在進程外,您可以將敏感性進程的介面區減少為僅完成工作所需的程序代碼。 您也可以使用 Sidecars,將跨領域安全性控件新增至未以該功能原生設計的應用程式元件。 |
節流 | 對資源或元件傳入要求的速率或輸送量施加限制。 您可以設計限制來協助防止資源耗盡,這可能會導致系統自動濫用。 |
Valet 金鑰 | 授與安全性限制的資源存取權,而不使用中繼資源來 Proxy 存取權。 此模式可讓用戶端直接存取資源,而不需要長期或常設認證。 所有存取要求都會以可稽核的交易開始。 然後,授與的存取權會同時限制在範圍和持續時間內。 此模式也可讓您更輕鬆地撤銷授與的存取權。 |
下一步
檢閱支援其他 Azure Well-Architected Framework 要素的雲端設計模式: