用管控策略设定多账号组织全局访问边界
由多賬號(hào)上云模式說起
多賬號(hào)上云模式的產(chǎn)生
我們的企業(yè)客戶上云,一般都是從嘗試部署少量業(yè)務(wù)開始,然后逐步將更多業(yè)務(wù)采用云上架構(gòu)。隨著企業(yè)上云的進(jìn)一步深入,越來越多的企業(yè)業(yè)務(wù)被放在了云端,這使得企業(yè)采購的云資源迅速增多,資源、項(xiàng)目、人員、權(quán)限的管理變得極其復(fù)雜,僅僅使用一個(gè)賬號(hào),使得問題被放大,很難得到有效解決。單賬號(hào)負(fù)載過重已無力支撐,許多企業(yè)開始創(chuàng)建更多賬號(hào)以分散業(yè)務(wù)壓力。于是,許多企業(yè)選擇使用了更多賬號(hào),對(duì)應(yīng)其不同的業(yè)務(wù)。因此,從賬號(hào)的使用方面看,企業(yè)使用的賬號(hào)數(shù)量逐步增多,多賬號(hào)上云模式逐漸成為多業(yè)務(wù)上云的重要選項(xiàng)。
多賬號(hào)模式的優(yōu)勢(shì)
諸多企業(yè)選擇采用多賬號(hào)模式上云,也是由于多賬號(hào)相對(duì)單賬號(hào)而言,有著不可替代的優(yōu)勢(shì)。
- 使用多賬號(hào)的邏輯強(qiáng)隔離,實(shí)現(xiàn)企業(yè)不同業(yè)務(wù)應(yīng)用間的相互獨(dú)立
賬號(hào)與賬號(hào)之間默認(rèn)是隔離的。這將避免不同業(yè)務(wù)間發(fā)生依賴項(xiàng)沖突或資源爭(zhēng)用,甚至可以支持為每個(gè)業(yè)務(wù)設(shè)置明確的資源限制。
- 利用多賬號(hào)分散風(fēng)險(xiǎn),最大程度提升資源安全邊界,盡可能將危害降到最低
消除安全“核按鈕”。當(dāng)非法用戶竊取到一個(gè)高權(quán)限時(shí),“爆炸半徑”被限定到單個(gè)賬號(hào)內(nèi),而不影響企業(yè)所有業(yè)務(wù)。
- 輕松應(yīng)對(duì)大型企業(yè)多分公司關(guān)系,支持多種法律實(shí)體、多種結(jié)算模式共存
每個(gè)賬號(hào)都可對(duì)應(yīng)唯一一個(gè)法律主體,多賬號(hào)環(huán)境天然支持集團(tuán)企業(yè)的多分公司主體、以及不同業(yè)務(wù)的不同結(jié)算模式。
- 多賬號(hào)易于結(jié)構(gòu)化管理,業(yè)務(wù)的拆分和融合變得簡(jiǎn)單
業(yè)務(wù)過多導(dǎo)致“臃腫”不利于管理,業(yè)務(wù)間也非扁平形態(tài),存在業(yè)務(wù)關(guān)聯(lián)的“組織性”要求,單個(gè)賬號(hào)很難解決,多賬號(hào)卻易于實(shí)現(xiàn);同時(shí),借助賬號(hào)的獨(dú)立性,它們可輕松地拆分或融合于不同的管控域,與企業(yè)業(yè)務(wù)適配聯(lián)動(dòng)。
多賬號(hào)架構(gòu)的挑戰(zhàn)
多賬號(hào)的采用,如果不去有序的管理它,也會(huì)有很多麻煩。
比如,賬號(hào)散落沒有集中、沒有結(jié)構(gòu)化,就無法做到組織化管理。再比如,上層管理者如何能夠一眼全局、如何能夠集中管控,都是影響企業(yè)業(yè)務(wù)效率的問題,需要解決。
無序管理的多賬號(hào)一盤散沙,有序管理是企業(yè)多賬號(hào)模式促進(jìn)生產(chǎn)效率的第一要?jiǎng)?wù)。
從多賬號(hào)組織化問題看,阿里云的資源目錄產(chǎn)品,可以很好地解決多賬號(hào)有序管理問題。這是資源目錄的基礎(chǔ)能力之一。
資源目錄是阿里云面向企業(yè)客戶,提供的基于多賬號(hào)的管理與治理服務(wù)。詳細(xì)了解資源目錄
大家可以看到,上圖中,利用資源目錄的組織能力,企業(yè)可以很快的構(gòu)建屬于自己的業(yè)務(wù)架構(gòu),將企業(yè)多賬號(hào)按照業(yè)務(wù)關(guān)系聚合,形成結(jié)構(gòu)化易管理的形態(tài),并提供閉環(huán)的企業(yè)云資源管理服務(wù),以此來適配業(yè)務(wù)的管理需要。
多賬號(hào)模式下的權(quán)限管控問題
阿里云諸多大客戶對(duì)于企業(yè)TopDown管控越來越重視。
隨著客戶業(yè)務(wù)的大量上云,員工(user)被密集且復(fù)雜的授予各種資源、服務(wù)的權(quán)限以運(yùn)作這些業(yè)務(wù),企業(yè)管理端很難非常細(xì)致地考量每個(gè)業(yè)務(wù)的具體授權(quán),但希望能夠從頂層做出企業(yè)的全局管控,即制定企業(yè)“大規(guī)范”以限定用戶權(quán)限邊界,以免超出公司的合規(guī)范圍。
如何能夠簡(jiǎn)單高效的解決這個(gè)問題?以下是資源目錄管控策略產(chǎn)品設(shè)計(jì)的初衷。
管控策略產(chǎn)品定義與實(shí)現(xiàn)
管控策略(Control Policy,下文簡(jiǎn)稱CP) 是一種基于資源結(jié)構(gòu)(資源目錄中的組織單元或成員賬號(hào))的訪問控制策略,可以統(tǒng)一管理資源目錄各層級(jí)內(nèi)資源訪問的權(quán)限邊界,建立企業(yè)整體訪問控制原則或局部專用原則。管控策略只定義權(quán)限邊界,并不真正授予權(quán)限,您還需要在某個(gè)成員賬號(hào)中使用訪問控制(RAM)設(shè)置權(quán)限后,相應(yīng)身份才具備對(duì)資源的訪問權(quán)限。
從企業(yè)上云的角度看,管控策略的實(shí)施對(duì)象是企業(yè)用戶對(duì)所需云資源的操作行為。從企業(yè)用戶訂購云資源、配置和使用云資源、最后到銷毀云資源,管控策略可以對(duì)企業(yè)用戶操作云資源的整個(gè)生命周期行為作出預(yù)設(shè)的前置校驗(yàn),阻止不符合預(yù)設(shè)規(guī)則的操作發(fā)生,最終達(dá)到規(guī)范企業(yè)用戶對(duì)云資源使用行為的目的。
管控策略的實(shí)現(xiàn)機(jī)制
在鑒權(quán)引擎中增加管控策略校驗(yàn)
管控策略(CP)是如何實(shí)現(xiàn)權(quán)限管控效果的呢?
上圖所示為用戶訪問資源請(qǐng)求的鑒權(quán)流程。管控策略在鑒權(quán)引擎中增加前置校驗(yàn)邏輯,在正式鑒權(quán)之前就對(duì)操作發(fā)生的邊界進(jìn)行判定:對(duì)于Explicit Deny(顯式拒絕)或Implicit Deny(隱式拒絕),將直接做出「拒絕」結(jié)果,僅當(dāng)管控策略的判定結(jié)果是Allow(允許)時(shí),鑒權(quán)引擎才會(huì)進(jìn)行下一步判定。您可以詳細(xì)了解權(quán)限判定流程
基于資源目錄實(shí)現(xiàn)從上至下的管控
當(dāng)企業(yè)創(chuàng)建了一個(gè)資源目錄,并為每個(gè)部門創(chuàng)建了成員賬號(hào)后,如果對(duì)各成員賬號(hào)的行為不加以管控,就會(huì)破壞運(yùn)維規(guī)則,帶來安全風(fēng)險(xiǎn)和成本浪費(fèi)。利用資源目錄-管控策略功能,企業(yè)可以通過企業(yè)管理賬號(hào)集中制定管理規(guī)則,并將這些管理規(guī)則應(yīng)用于資源目錄的各級(jí)組織結(jié)構(gòu)(資源夾、成員賬號(hào))上,管控各成員賬號(hào)內(nèi)資源的訪問規(guī)則,確保安全合規(guī)和成本可控。例如:禁止成員賬號(hào)申請(qǐng)域名,禁止成員賬號(hào)刪除日志記錄等。
當(dāng)成員賬號(hào)中的RAM用戶或角色訪問阿里云服務(wù)時(shí),阿里云將會(huì)先進(jìn)行管控策略檢查,再進(jìn)行賬號(hào)內(nèi)的RAM權(quán)限檢查。具體如下:
- 管控策略鑒權(quán)從被訪問資源所在賬號(hào)開始,沿著資源目錄層級(jí)逐級(jí)向上進(jìn)行。
- 在任一層級(jí)進(jìn)行管控策略鑒權(quán)時(shí),命中拒絕(Deny)策略時(shí)都可以直接判定結(jié)果為拒絕(Explicit Deny),結(jié)束整個(gè)管控策略鑒權(quán)流程,并且不再進(jìn)行賬號(hào)內(nèi)基于RAM權(quán)限策略的鑒權(quán),直接拒絕請(qǐng)求。
- 在任一層級(jí)進(jìn)行管控策略鑒權(quán)時(shí),如果既未命中拒絕(Deny)策略,也未命中允許(Allow)策略,同樣直接判定結(jié)果為拒絕(Explicit Deny),不再進(jìn)入下一個(gè)層級(jí)鑒權(quán),結(jié)束整個(gè)管控策略鑒權(quán)流程,并且不再進(jìn)行賬號(hào)內(nèi)基于RAM權(quán)限策略的鑒權(quán),直接拒絕請(qǐng)求。
- 在某一層級(jí)鑒權(quán)中,如果未命中拒絕(Deny)策略,而命中了允許(Allow)策略,則本層級(jí)鑒權(quán)通過,繼續(xù)在父節(jié)點(diǎn)上進(jìn)行管控策略鑒權(quán),直至Root資源夾為止。如果Root資源夾鑒權(quán)結(jié)果也為通過,則整個(gè)管控策略鑒權(quán)通過,接下來進(jìn)入賬號(hào)內(nèi)基于RAM權(quán)限策略的鑒權(quán),詳情請(qǐng)參見權(quán)限策略判定流程。
管控策略的用法說明
管控策略的語言
CP使用與RAM基本相同的語法結(jié)構(gòu)。您可以詳細(xì)了解權(quán)限策略語法和結(jié)構(gòu)
CP語法結(jié)構(gòu)中包含版本號(hào)和授權(quán)語句列表,每條授權(quán)語句包括授權(quán)效力(Effect)、操作(Action)、資源(Resource)以及限制條件(Condition,可選項(xiàng))。其中CP較RAM的Condition支持上,多了一種條件Key:acs:PrincipalARN,實(shí)現(xiàn)對(duì)執(zhí)行者身份(目前支持Role)的條件檢查,主要應(yīng)用場(chǎng)景為下文中提到的「避免指定云服務(wù)訪問被管控」。您可以了解更多CP語言的使用方法
管控策略的影響效果
您可以將自定義CP綁定到資源目錄的任意節(jié)點(diǎn),包含任何一個(gè)資源夾或成員賬號(hào)。CP具備基于資源目錄樹形結(jié)構(gòu)從上向下繼承的特點(diǎn),例如:為父資源夾設(shè)置管控策略A,為子資源夾設(shè)置管控策略B,則管控策略A和管控策略B都會(huì)在子資源夾及其下的成員賬號(hào)中生效。
- CP僅影響資源目錄內(nèi)的成員賬號(hào)下的資源訪問。它對(duì)資源目錄企業(yè)管理賬號(hào)(MA)下的資源訪問不會(huì)產(chǎn)生影響,因?yàn)镸A并不屬于RD;
- CP僅影響成員賬號(hào)內(nèi)的RAM用戶和角色訪問,不能管控賬號(hào)的根用戶(Root user)訪問。我們建議您在資源目錄內(nèi)使用資源賬號(hào)類型成員,這一成員類型禁用了根用戶;關(guān)于資源目錄成員類型,請(qǐng)參見文檔
- CP基于資源的訪問生效。無論是資源目錄內(nèi)的用戶,還是外部用戶,訪問資源目錄內(nèi)的資源時(shí),都會(huì)受到CP的管控;例如,您對(duì)資源目錄內(nèi)的A賬號(hào)綁定了一個(gè)CP,同樣適用于在資源目錄外部的B賬號(hào)內(nèi)的用戶訪問A賬號(hào)內(nèi)的資源時(shí)的管控
- CP同樣影響基于資源的授權(quán)策略。例如,在資源目錄內(nèi)的A賬號(hào)中OSS bucket上授予資源目錄外部的B賬號(hào)內(nèi)的用戶訪問,此訪問行為同樣受到綁定在A賬號(hào)的CP影響
- CP對(duì)服務(wù)關(guān)聯(lián)角色(Service Linked Role)不生效。關(guān)于服務(wù)關(guān)聯(lián)角色的詳情,請(qǐng)參見服務(wù)關(guān)聯(lián)角色
避免指定云服務(wù)訪問被管控
管控策略將對(duì)被管控成員賬號(hào)中的資源訪問權(quán)限限定邊界,邊界之外的權(quán)限將不允許生效,此限定同樣影響阿里云服務(wù)對(duì)該成員賬號(hào)訪問的有效性。
阿里云服務(wù)可能使用服務(wù)角色(Service Role)訪問您賬號(hào)中的資源,以實(shí)現(xiàn)云服務(wù)的某些功能。當(dāng)一個(gè)服務(wù)角色的權(quán)限超過管控策略的邊界時(shí),此權(quán)限會(huì)受到管控策略的約束,這可能導(dǎo)致云服務(wù)的某些功能不能正常使用。如果這正是您配置管控策略期望的結(jié)果,則無需進(jìn)行其他額外操作,但是,如果您不希望這些云服務(wù)被管控,您可以采用以下方法進(jìn)行處理:
管控策略使用限制與參考
阿里云資源目錄-管控策略目前已支持對(duì)152款云產(chǎn)品,您可以查看支持管控策略的云服務(wù)
管控策略的使用限制如下:
- 資源目錄內(nèi)最多允許創(chuàng)建自定義管控策略的數(shù)量為1500個(gè);
- 每個(gè)節(jié)點(diǎn)(資源夾、成員賬號(hào))最多允許綁定自定義管控策略的數(shù)量為10個(gè);
- 每個(gè)自定義策略的最大長度2048個(gè)字符。
我們建議您先進(jìn)行局部小范圍測(cè)試,確保策略的有效性與預(yù)期一致,然后再綁定到全部目標(biāo)節(jié)點(diǎn)(資源夾、成員賬號(hào))。
您在編寫自定義管控策略時(shí),可參考自定義管控策略示例
原文鏈接:https://developer.aliyun.com/article/784642?
版權(quán)聲明:本文內(nèi)容由阿里云實(shí)名注冊(cè)用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請(qǐng)查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識(shí)產(chǎn)權(quán)保護(hù)指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進(jìn)行舉報(bào),一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。總結(jié)
以上是生活随笔為你收集整理的用管控策略设定多账号组织全局访问边界的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云钉一体应用创新:音视频如何带来灵活高效
- 下一篇: 看全域消费者运营Quick Audien