開(kāi)放式策略代理:云原生的通用策略引擎

OPA為云計(jì)算原生組織提供了一種統(tǒng)一的策略語(yǔ)言,因此授權(quán)決策可以用一種通用的方式表示,跨應(yīng)用程序、API、基礎(chǔ)設(shè)施等,而不必將定制的策略分別硬編碼到這些不同的語(yǔ)言和工具中。

開(kāi)放式策略代理(OPA)可以幫助企業(yè)簡(jiǎn)化分布式應(yīng)用程序、Kubernetes、微服務(wù)等授權(quán)策略創(chuàng)建和實(shí)施。

隨著越來(lái)越多的組織采用云計(jì)算技術(shù),他們可能會(huì)發(fā)現(xiàn)云原生堆棧的動(dòng)態(tài)性和規(guī)模要求更加復(fù)雜的安全性和合規(guī)性。例如,隨著像Kubernetes這樣的容器編排平臺(tái)越來(lái)越受關(guān)注,開(kāi)發(fā)團(tuán)隊(duì)和開(kāi)發(fā)人員對(duì)策略領(lǐng)域(如準(zhǔn)入控制)以及更傳統(tǒng)的領(lǐng)域(如計(jì)算、存儲(chǔ)和網(wǎng)絡(luò))負(fù)有新的責(zé)任。與此同時(shí),每個(gè)應(yīng)用程序、微服務(wù)或服務(wù)網(wǎng)格都需要自己的一組授權(quán)策略,開(kāi)發(fā)人員需要為這些策略負(fù)責(zé)。

出于這些原因,很多組織開(kāi)始尋找一種更簡(jiǎn)單、更省時(shí)的方法來(lái)在云中創(chuàng)建、實(shí)施和管理策略。作為一個(gè)開(kāi)源的、不受領(lǐng)域限制的策略引擎,開(kāi)放策略代理(OPA)于4年前創(chuàng)建,正在成為云原生策略的實(shí)際標(biāo)準(zhǔn)。事實(shí)上,Netflix、Pinterest和Goldman Sachs等公司已經(jīng)將OPA投入生產(chǎn),用于Kubernetes準(zhǔn)入控制和微服務(wù)API授權(quán)等用例。OPA還支持許多人們已經(jīng)知道和喜歡的云原生工具,其中包括Atlassian套件和Chef Automate。

OPA為云計(jì)算原生組織提供了一種統(tǒng)一的策略語(yǔ)言,因此授權(quán)決策可以用一種通用的方式表示,跨應(yīng)用程序、API、基礎(chǔ)設(shè)施等,而不必將定制的策略分別硬編碼到這些不同的語(yǔ)言和工具中。此外,由于OPA是專門為授權(quán)而構(gòu)建的,它提供了越來(lái)越多的性能優(yōu)化集合,因此策略作者可以將大部分時(shí)間花在編寫(xiě)正確、可維護(hù)的策略上,并將性能留給OPA。

OPA授權(quán)策略在整個(gè)堆棧中有許多用例,從在容器編排周圍設(shè)置護(hù)欄,到控制SSH訪問(wèn)或提供基于場(chǎng)景的服務(wù)網(wǎng)格授權(quán)。有三個(gè)流行的用例為許多OPA用戶提供了一個(gè)良好的啟動(dòng)平臺(tái):應(yīng)用程序授權(quán)、Kubernetes許可控制和微服務(wù)。

申請(qǐng)授權(quán)的OPA

授權(quán)策略無(wú)處不在,因?yàn)閹缀趺總€(gè)應(yīng)用程序都需要它。但是,開(kāi)發(fā)人員通常自己開(kāi)發(fā)代碼,這不僅耗時(shí),而且會(huì)導(dǎo)致難以維護(hù)的工具和策略拼湊而成。雖然授權(quán)對(duì)每個(gè)應(yīng)用程序都很重要,但花在創(chuàng)建策略上的時(shí)間意味著更少的時(shí)間關(guān)注面向用戶的功能。

OPA使用專用的聲明性策略語(yǔ)言來(lái)簡(jiǎn)化授權(quán)策略的開(kāi)發(fā)。例如,企業(yè)可以直接創(chuàng)建和執(zhí)行策略,例如,“如果是承包商,則無(wú)法閱讀PII”或“Jane可以訪問(wèn)此帳戶”。但這只是一個(gè)開(kāi)始。由于OPA具有場(chǎng)景意識(shí),因此還可以制定考慮任何事物的政策,例如,在交易日的最后一小時(shí)請(qǐng)求進(jìn)行股票交易,這將產(chǎn)生上百萬(wàn)美元的交易,只能在給定名稱空間中的特定服務(wù)上執(zhí)行。

當(dāng)然,許多組織已經(jīng)有定制的授權(quán)。但是,如果組織希望在云中分解應(yīng)用程序并擴(kuò)展微服務(wù),同時(shí)又保持開(kāi)發(fā)人員的效率,那么就需要分布式授權(quán)系統(tǒng)。

用于Kubernetes接納控制的OPA

許多用戶還使用OPA為Kubernetes創(chuàng)建防護(hù)欄。Kubernetes本身已成為主流和關(guān)鍵任務(wù),組織正在尋找定義和實(shí)施安全護(hù)欄以幫助減輕安全和合規(guī)風(fēng)險(xiǎn)的方法。管理人員可以使用OPA制定清晰的策略,以便開(kāi)發(fā)人員可以加快管道生產(chǎn),并迅速將新服務(wù)推向市場(chǎng),而不必?fù)?dān)心運(yùn)營(yíng)、安全或合規(guī)風(fēng)險(xiǎn)。

OPA可用于創(chuàng)建策略,以拒絕使用相同主機(jī)名的入口,或要求所有容器映像來(lái)自可信注冊(cè)表,或確保所有存儲(chǔ)始終使用加密位進(jìn)行標(biāo)記,或確保暴露在互聯(lián)網(wǎng)上的每個(gè)應(yīng)用程序使用經(jīng)批準(zhǔn)的域名。

由于OPA直接與Kubernetes API服務(wù)器集成,因此它可以拒絕跨計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)等策略禁止的任何資源。對(duì)于開(kāi)發(fā)人員特別有利的是,組織可以在開(kāi)發(fā)周期的早期公開(kāi)這些策略,例如在持續(xù)集成(CI)/持續(xù)交付(CD)管道中,以便開(kāi)發(fā)人員可以及早獲得反饋,并在運(yùn)行時(shí)修復(fù)問(wèn)題。此外,組織甚至可以帶外驗(yàn)證其策略,以確保它們達(dá)到預(yù)期的效果,并且不會(huì)在無(wú)意中引起麻煩。

微服務(wù)的OPA

最后,OPA在幫助組織控制其微服務(wù)和服務(wù)網(wǎng)格架構(gòu)方面變得非常流行。借助OPA,組織可以直接為微服務(wù)創(chuàng)建和實(shí)施授權(quán)策略(通常是作為輔助工具),在服務(wù)網(wǎng)格內(nèi)構(gòu)建服務(wù)策略,或者從安全的角度創(chuàng)建限制服務(wù)網(wǎng)格架構(gòu)中橫向移動(dòng)的策略。

為云原生架構(gòu)構(gòu)建統(tǒng)一策略

通常,使用OPA的總體目標(biāo)是創(chuàng)建一種跨云原生堆棧創(chuàng)建策略的統(tǒng)一方法,因此,組織不必通過(guò)廣告、部落知識(shí)、維基百科、PDF或大量不匹配的工具來(lái)持續(xù)管理策略。

除了簡(jiǎn)化開(kāi)發(fā)和加快交付速度之外,這對(duì)于安全性也是一個(gè)重大新聞,因?yàn)镺PA減少了組織需要檢查的工具數(shù)量,例如組織是否懷疑自己曾嘗試未經(jīng)授權(quán)的訪問(wèn)。同樣,從操作和合規(guī)性角度來(lái)看,OPA使得在異構(gòu)環(huán)境中提取和分析信息變得更加容易,從而幫助組織快速發(fā)現(xiàn)問(wèn)題并更快地解決。

開(kāi)發(fā)人員正在尋找一種更簡(jiǎn)單、更有效的方法來(lái)為他們的云原生環(huán)境創(chuàng)建和管理基于策略的控件。對(duì)許多人來(lái)說(shuō),這種解決方案就是OPA。如果組織發(fā)現(xiàn)自己在多個(gè)地方、多種語(yǔ)言或跨多個(gè)團(tuán)隊(duì)接觸授權(quán)策略,OPA可以幫助其消除冗余并加快交付速度。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論