使用標(biāo)簽對ECS實(shí)例進(jìn)行分組授權(quán)
本文介紹了如何使用標(biāo)簽對ECS實(shí)例進(jìn)行分組并授權(quán),以限制RAM用戶只能查看和管理被授權(quán)的ECS實(shí)例。
應(yīng)用場景
假設(shè)您的阿里云賬號(hào)(主賬號(hào))購買了10個(gè)ECS實(shí)例,其中5個(gè)想要授權(quán)給developer團(tuán)隊(duì),另外5個(gè)授權(quán)給operator團(tuán)隊(duì)。企業(yè)希望每個(gè)團(tuán)隊(duì)只能查看和管理被授權(quán)的ECS實(shí)例,未被授權(quán)的ECS實(shí)例不允許查看。
解決方案
按標(biāo)簽標(biāo)識(shí)不同團(tuán)隊(duì)的ECS實(shí)例。
規(guī)劃兩個(gè)標(biāo)簽,分別用來標(biāo)識(shí)developer團(tuán)隊(duì)和operator團(tuán)隊(duì)的ECS實(shí)例。
將RAM用戶分組。
規(guī)劃兩個(gè)RAM用戶組,分別對應(yīng)developer團(tuán)隊(duì)和operator團(tuán)隊(duì),然后將對應(yīng)團(tuán)隊(duì)的RAM用戶加入到對應(yīng)的RAM用戶組。
基于標(biāo)簽鑒權(quán)對RAM用戶組進(jìn)行授權(quán)。
規(guī)劃兩個(gè)自定義權(quán)限策略,使用如下標(biāo)簽鑒權(quán)Condition確定資源范圍。然后,將不同的權(quán)限策略授權(quán)給不同的RAM用戶組,RAM用戶組中的RAM用戶將繼承RAM用戶組的權(quán)限。
acs:RequestTag/<tag-key>
:請求中傳遞的標(biāo)簽信息。即用戶在調(diào)用API的時(shí)候,請求參數(shù)里面必須攜帶的標(biāo)簽。acs:ResourceTag/<tag-key>
:請求訪問的資源上綁定的標(biāo)簽信息。即用戶在操作某個(gè)資源的時(shí)候,資源上必須具備的標(biāo)簽。
具體規(guī)劃信息如下:
團(tuán)隊(duì) | RAM用戶組 | RAM權(quán)限策略 | 標(biāo)簽 |
developer團(tuán)隊(duì) | developer | policyForDevTeam | 標(biāo)簽鍵:team;標(biāo)簽值:dev。 |
operator團(tuán)隊(duì) | operator | policyForOpsTeam | 標(biāo)簽鍵:team;標(biāo)簽值:ops。 |
操作步驟
您可以使用阿里云賬號(hào)(主賬號(hào))或具有權(quán)限(AliyunRAMFullAccess和AliyunECSFullAccess)的RAM用戶完成下述操作。
在ECS控制臺(tái),為ECS實(shí)例創(chuàng)建并綁定標(biāo)簽。
為5個(gè)ECS實(shí)例綁定標(biāo)簽
team:dev
,另外5個(gè)ECS實(shí)例綁定標(biāo)簽team:ops
。具體操作,請參見創(chuàng)建或綁定標(biāo)簽。在RAM控制臺(tái),創(chuàng)建RAM用戶組。
創(chuàng)建2個(gè)RAM用戶組:developer、operator,分別對應(yīng)developer和operator團(tuán)隊(duì)。具體操作,請參見創(chuàng)建RAM用戶組。
在RAM控制臺(tái),創(chuàng)建RAM用戶并將其加入到對應(yīng)的RAM用戶組。
按需為每個(gè)團(tuán)隊(duì)創(chuàng)建適量的RAM用戶,然后將RAM用戶分別加入到RAM用戶組developer或operator。具體操作,請參見創(chuàng)建RAM用戶和為RAM用戶組添加RAM用戶。
在RAM控制臺(tái),創(chuàng)建自定義權(quán)限策略。
創(chuàng)建2個(gè)自定義權(quán)限策略:policyForDevTeam、policyForOpsTeam。具體操作,請參見創(chuàng)建自定義權(quán)限策略。
policyForDevTeam權(quán)限策略內(nèi)容:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "dev" ] } } }, { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "dev" ] } } }, { "Effect": "Allow", "Action": [ "ecs:DescribeTags", "ecs:ListTagResources" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" } ] }
policyForOpsTeam權(quán)限策略內(nèi)容:
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "ops" ] } } }, { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "ops" ] } } }, { "Effect": "Allow", "Action": [ "ecs:DescribeTags", "ecs:ListTagResources" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" } ] }
權(quán)限策略說明:
策略內(nèi)容
策略說明
{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/team": [ "dev" ] } } }
允許通過標(biāo)簽
team:dev
篩選對應(yīng)的ECS實(shí)例。{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/team": [ "dev" ] } } }
允許對綁定了標(biāo)簽
team:dev
的ECS實(shí)例進(jìn)行管理操作。{ "Effect": "Allow", "Action": [ "ecs:DescribeTags", "ecs:ListTagResources" ], "Resource": "*" }
允許查看ECS實(shí)例的所有標(biāo)簽列表。
說明如果您不需要查看所有標(biāo)簽列表,可以刪除該條策略。刪除后,您可以通過手動(dòng)輸入標(biāo)簽鍵和標(biāo)簽值的方式篩選ECS實(shí)例。
{ "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" }
不允許刪除、解綁、創(chuàng)建、綁定標(biāo)簽。
避免RAM用戶因修改標(biāo)簽導(dǎo)致沒有權(quán)限。
為RAM用戶組授權(quán)。
為RAM用戶組developer授予自定義權(quán)限策略policyForDevTeam;為RAM用戶組operator授予自定義權(quán)限策略policyForOpsTeam。具體操作,請參見為RAM用戶組授權(quán)。
說明授權(quán)后RAM用戶將繼承對應(yīng)RAM用戶組的權(quán)限。
驗(yàn)證結(jié)果
使用RAM用戶登錄ECS控制臺(tái)。
在左側(cè)導(dǎo)航欄,選擇 。
在頂部菜單欄左上角處,選擇地域。
在實(shí)例頁面,單擊搜索欄旁邊的標(biāo)簽篩選,選擇對應(yīng)的標(biāo)簽鍵和標(biāo)簽值。
例如:在RAM用戶組developer中的RAM用戶,可以通過標(biāo)簽
team:dev
篩選有權(quán)限的ECS實(shí)例。重要只有當(dāng)RAM用戶選擇了對應(yīng)標(biāo)簽后,RAM用戶才能查看到綁定了該標(biāo)簽的ECS實(shí)例。否則,RAM用戶無法查看到任何ECS實(shí)例。
查看和管理有權(quán)限的ECS實(shí)例。
更多信息
使用標(biāo)簽對塊存儲(chǔ)、快照、鏡像、安全組、彈性網(wǎng)卡、專有宿主機(jī)、SSH密鑰對等ECS資源進(jìn)行分組授權(quán)的方法與上述對實(shí)例分組授權(quán)的方法相同。