通過使用充當客戶端和應用程序或服務(wù)之間的代理,驗證和進行消毒的請求,并將它們之間的請求和數(shù)據(jù)的專用主機實例保護的應用程序和服務(wù)。這可以提供一個額外的安全層,并限制了系統(tǒng)的攻擊面。
應用程序通過接受和處理請求揭露它們的功能提供給客戶。在云托管方案,應用程序暴露終端客戶機連接,一般包括代碼來處理來自客戶端的請求。此代碼可以執(zhí)行認證和驗證,一些或所有請求的處理,并有可能訪問存儲等服務(wù)代表客戶端的。
如果惡意用戶能夠危及系統(tǒng)和訪問應用程序的托管環(huán)境,它使用安全機制,諸如憑證和存儲密鑰,并且該服務(wù)并訪問數(shù)據(jù),被暴露。因此,惡意用戶可能能夠獲得無節(jié)制訪問敏感信息和其他服務(wù)。
為了盡量減少接觸到敏感信息和服務(wù)客戶的風險,去耦,揭露出從處理請求并訪問存儲在代碼公共端點的主機或任務(wù)。這可以通過使用一個立面或?qū)S萌蝿?wù),與客戶端進行交互,然后手拿開的請求(可能通過一個去耦接口)連接到主機或任務(wù)將要處理的請求來實現(xiàn)。圖1示出了這種方法的一個高層視圖。
圖1 - 這種模式的高級概述
守門員模式可以簡單地用來保護存儲,或者它可被用作一個更全面的立面,以保護所有的應用程序的功能。的重要因素是:
此圖案有效地作用就像一個防火墻在一個典型的網(wǎng)絡(luò)拓撲。它允許關(guān)守來檢查請求并做出關(guān)于是否將請求傳遞到可信主機決定(有時也被稱為鑰匙之王),執(zhí)行所需的任務(wù)。這一決定通常需要守門員來驗證并將其傳遞到受信任主機前消毒要求的內(nèi)容。
在決定如何實現(xiàn)這個模式時,請考慮以下幾點:
這種模式非常適合于:
在一個云托管的情況下,該模式可以通過使用一個內(nèi)部端點,一個隊列,或存儲作為中間通信機制解耦從受信任的角色和服務(wù)應用程序中的關(guān)守角色或虛擬機來實現(xiàn)。圖 2 示出了使用內(nèi)部的端點時的基本原則。
圖 2 - 的模式使用云服務(wù)的網(wǎng)絡(luò)和輔助角色的一個例子
更多建議: