導(dǎo)讀:到2023年,使用云原生方法開發(fā)和部署的數(shù)字應(yīng)用程序和服務(wù)將超過5億。這么說吧,2019年至2023年這四年內(nèi)云端開發(fā)的應(yīng)用程序?qū)⒊^過去40年開發(fā)的應(yīng)用程序總數(shù)。
很顯然,許多組織在積極采用云。但問題是,他們完全了解云嗎?是否知道如何保護在云端構(gòu)建的應(yīng)用程序?就像任何新興技術(shù)一樣,種種神話和誤區(qū)自然隨之出現(xiàn)。
說到安全,哪怕小小的失誤都會導(dǎo)致違規(guī)或網(wǎng)絡(luò)攻擊,從而使貴組織蒙受慘重損失。為了盡量減小這種事情的可能性,有必要了解最常見的云原生安全誤區(qū)以及對策,確保貴組織避免不必要的風(fēng)險。
別讓云原生誤區(qū)破壞安全
要建立更強大的安全態(tài)勢,第一步是教育:知道在云原生環(huán)境中不該做什么與知道該做什么同樣重要。
本文旨在揭穿云原生安全方面最常見的誤區(qū),并給出切實可行的建議。
誤區(qū)一:云提供商負責(zé)所有安全措施
許多組織以為,由于將應(yīng)用程序托管在云服務(wù)提供商(CSP)處,該CSP就提供所有安全措施,但事實并非如此。實際上,云服務(wù)提供商和組織分擔(dān)安全方面的責(zé)任。
簡單來說,CSP保護應(yīng)用程序在上面運行的基礎(chǔ)設(shè)施,組織負責(zé)保護應(yīng)用程序內(nèi)的活動和數(shù)據(jù)。CSP確保它們運行的計算、存儲和數(shù)據(jù)庫服務(wù)是安全的。由于CSP采用多租戶模式,其中許多應(yīng)用程序共享相同的服務(wù)器,因此它們還提供公司之間的硬隔離。
云提供商無法在組織的應(yīng)用程序內(nèi)實施安全措施。這是由于每家組織以獨特的方式構(gòu)建應(yīng)用程序、使用存儲空間和配置系統(tǒng)——這意味著CSP不可能對應(yīng)用程序內(nèi)的安全采取一刀切的解決方案。雖然一些提供商提供開箱即用的安全功能,比如AWS Control Tower,但組織須支付額外費用,仍要做大量的定制工作。
使用云的所有組織為其應(yīng)用程序及各部分(包括操作系統(tǒng)、源代碼和數(shù)據(jù))的安全負責(zé)。組織可以采取的最強有力的安全措施之一是,通過授權(quán)實施訪問控制。授權(quán)確保用戶及其他技術(shù)只能在需要時訪問所需的系統(tǒng)和數(shù)據(jù)。下面探討如何實施授權(quán)。
誤區(qū)二:你可以在云原生環(huán)境中使用同樣的本地安全措施
組織犯的另一個常見錯誤是,試圖將來自本地環(huán)境的安全措施原封不動地搬到云端。基于邊界的安全措施(比如防火墻和瀏覽器隔離系統(tǒng))在云端不起作用,因為網(wǎng)絡(luò)不再是可以通過周圍設(shè)置屏障來保護的靜態(tài)環(huán)境。
相反,如果黑客闖入網(wǎng)絡(luò),你必須專注于保護數(shù)據(jù)安全。同樣,這時候訪問控制和授權(quán)有了用武之地。然而,與基于邊界的安全一樣,傳統(tǒng)的本地訪問控制措施不適用于云。
由于微服務(wù)架構(gòu)、容器化應(yīng)用程序和應(yīng)用編程接口(API),需要自己的授權(quán)策略和安全配置的單個組件急劇增多。單點登錄、SAML、OIDC和OAuth2等傳統(tǒng)技術(shù)可以幫助你解決應(yīng)用程序的身份驗證,但無法幫助解決授權(quán),這仍然取決于你的開發(fā)人員。
你應(yīng)該在云原生環(huán)境中使用策略即代碼。策略即代碼意味著,你將標準的軟件工程實踐運用于管理系統(tǒng)的規(guī)則和條件(版本控制、代碼審查、自動化測試和持續(xù)交付等)。有了策略即代碼,策略與應(yīng)用云平臺分離開來,這意味著可以在不更改應(yīng)用代碼的情況下更改策略。策略即代碼的去耦性使團隊更容易編寫、擴展、監(jiān)測、審計和協(xié)作策略。
誤區(qū)三:策略執(zhí)行需要定制的解決方案
最后一個誤區(qū)來源于現(xiàn)實,因為創(chuàng)建定制的單個策略一度是控制訪問的唯一方法,但現(xiàn)在不再是這樣了?,F(xiàn)有技術(shù)使組織能夠跨諸多云原生應(yīng)用程序、服務(wù)和平臺,運用統(tǒng)一授權(quán)策略。
可以理解為什么組織仍會有這種信念。軟件開發(fā)通常依賴創(chuàng)建一次性定制解決方案,以解決某個問題,因為每家組織配置系統(tǒng)和基礎(chǔ)架構(gòu)的方式不一樣。多年來,授權(quán)策略也是如此。但在云原生環(huán)境下,由于獨立的組件數(shù)量更多,以這種方式對待策略執(zhí)行更耗時、更乏味、更容易出錯。
與其為每組新的策略需求實施定制解決方案,不如考慮通過策略即代碼將策略決策與業(yè)務(wù)邏輯的其余部分分離開來,并依賴額外技術(shù)幫助你跨云原生堆棧,高效地運用和擴展統(tǒng)一授權(quán)。
Open Policy Agent(OPA)是一個開源策略引擎,讓你可以編寫和驗證策略即代碼。Styra在2018年將它捐給了云原生計算基金會,2021年它達到了畢業(yè)狀態(tài)。由于組織可以在整個云原生技術(shù)堆棧中使用同樣的語言和策略框架,OPA簡化了策略創(chuàng)建和日常治理。策略是用Rego編寫的,Rego是專門針對復(fù)雜的層次數(shù)據(jù)結(jié)構(gòu)表達策略而構(gòu)建的。又由于它是開源的,所以有豐富的生態(tài)系統(tǒng),組織可以從中獲取對開發(fā)者友好的工具和集成,還有提供建議的從業(yè)者社區(qū)。