OOS操作ECS分組資源的權(quán)限策略管理
當(dāng)您的企業(yè)存在多用戶協(xié)同訪問(wèn)資源的場(chǎng)景時(shí),您可以創(chuàng)建多個(gè)RAM用戶(子賬號(hào))并按需為其分配最小權(quán)限,避免多用戶共享阿里云賬號(hào)(主賬號(hào))密碼或訪問(wèn)密鑰(AccessKey),從而降低企業(yè)的安全風(fēng)險(xiǎn)。本文介紹如何通過(guò)RAM用戶執(zhí)行OOS模板。
場(chǎng)景介紹
某公司賬號(hào)下購(gòu)買(mǎi)了若干臺(tái)ECS實(shí)例,其中2臺(tái)被打上標(biāo)簽TagKey:TagValue
進(jìn)行了分組,某員工甲被分配的RAM用戶為subUser1ForOOS
,甲定期通過(guò)該賬號(hào)在OOS中執(zhí)行一個(gè)模板T,模板執(zhí)行的任務(wù)是對(duì)標(biāo)簽TagKey:TagValue
分組下的ECS實(shí)例批量執(zhí)行Shell指令。即該員工具有對(duì)模板T的只讀和執(zhí)行權(quán)限,以及有模板任務(wù)涉及API(如RunCommand)的操作權(quán)限,且可操作的API僅對(duì)標(biāo)簽TagKey:TagValue
分組下的實(shí)例有效。
解決方案
為滿足上述場(chǎng)景,權(quán)限管理要分兩方面,OOS資源操作和ECS資源操作:
OOS方面的權(quán)限策略包括對(duì)模板的執(zhí)行權(quán)限、對(duì)執(zhí)行的查詢權(quán)限。
ECS方面權(quán)限策略為對(duì)標(biāo)簽
TagKey:TagValue
下實(shí)例的操作權(quán)限,且操作權(quán)限僅限于模板中涉及的API。
以上的權(quán)限策略成功創(chuàng)建后,將其授權(quán)給員工甲使用的RAM用戶即可(或具有員工甲相同職責(zé)的用戶組)。
操作步驟
ECS實(shí)例的分組
創(chuàng)建RAM用戶
創(chuàng)建自定義權(quán)限策略
為RAM用戶授權(quán)
RAM用戶執(zhí)行OOS模板
ECS實(shí)例的分組
選擇2臺(tái)實(shí)例,在操作菜單下選擇
。單擊新建標(biāo)簽,輸入標(biāo)簽鍵和標(biāo)簽值,單擊確定。
本文中標(biāo)簽鍵設(shè)為T(mén)agKey,標(biāo)簽值設(shè)為T(mén)agValue。
創(chuàng)建RAM用戶
使用阿里云賬號(hào)或RAM管理員登錄RAM控制臺(tái)。
在左側(cè)導(dǎo)航欄的
菜單下,單擊創(chuàng)建用戶。輸入登錄名稱(chēng)及顯示名稱(chēng)。
勾選訪問(wèn)臺(tái)控制,單擊自定義密碼并填寫(xiě)要設(shè)置的子賬號(hào)密碼。單擊確定。
創(chuàng)建自定義權(quán)限策略
使用阿里云賬號(hào)或RAM管理員登錄RAM控制臺(tái)。
在左側(cè)導(dǎo)航欄的權(quán)限管理菜單下,單擊權(quán)限策略>創(chuàng)建權(quán)限策略。
分別創(chuàng)建OOS管理策略和ECS管理策略,策略內(nèi)容如下:
說(shuō)明需將策略中的$AliyunMasterAccountID、$TagKey、$TagValue、$RegionID修改為您所使用的阿里云賬號(hào)、ECS設(shè)置的tag以及使用的地域。
OOS管理策略:
{ "Statement": [ { "Action": [ "oos:StartExecution", "oos:List*", "oos:Get*" ], "Resource": [ "acs:oos:$RegionID:$AliyunMasterAccountID:template/*", "acs:oos:$RegionID:$AliyunMasterAccountID:execution/*" ], "Effect": "Allow" } ], "Version": "1" }
ECS管理策略:
{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:DescribeInstances", "ecs:RebootInstance" ], "Resource": "acs:ecs:$RegionID:$AliyunMasterAccountID:instance/*", "Condition": { "StringEquals": { "ecs:tag/$TagKey": [ "$TagValue" ] } } }, { "Effect": "Allow", "Action": [ "ecs:DescribeCloudAssistantStatus", "ecs:InstallCloudAssistant" ], "Resource": "acs:ecs:*:$AliyunMasterAccountID:instance/*", "Condition": { "StringEquals": { "ecs:tag/$TagKey": [ "$TagValue" ] } } }, { "Action": "ecs:DescribeTagKeys", "Effect": "Allow", "Resource": "*" }, { "Action": "ecs:DescribeTags", "Effect": "Allow", "Resource": "*" }, { "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecs:RunCommand" ], "Resource": "acs:ecs:*:$AliyunMasterAccountID:instance/*", "Condition": { "StringEquals": { "ecs:tag/$TagKey": [ "$TagValue" ] } } }, { "Action": [ "ecs:RunCommand" ], "Resource": [ "acs:ecs:*:$AliyunMasterAccountID:command/*" ], "Effect": "Allow" }, { "Action": [ "ecs:DescribeInvocations", "ecs:DescribeInvocationResults" ], "Resource": [ "*" ], "Effect": "Allow" } ], "Version": "1" }
分別填寫(xiě)策略名稱(chēng)和備注,單擊確定。
為RAM用戶或用戶組授權(quán)
使用阿里云賬號(hào)或RAM管理員登錄RAM控制臺(tái)。
在左側(cè)導(dǎo)航欄的
菜單下,單擊新增授權(quán)。在授權(quán)主體中輸入RAM用戶名稱(chēng)或用戶組名稱(chēng)并選中,在權(quán)限策略中選擇自定義策略,在左側(cè)權(quán)限策略名稱(chēng)列表下,單擊選擇需要授予給RAM用戶或用戶組的權(quán)限策略。
單擊確認(rèn)新增授權(quán)。
執(zhí)行OOS模板
登錄上文創(chuàng)建的RAM用戶。
進(jìn)入系統(tǒng)運(yùn)維管理控制臺(tái)。
,找到ACS-ECS-BulkyRunCommand模板,單擊創(chuàng)建執(zhí)行。
單擊下一步:設(shè)置參數(shù)。
設(shè)置參數(shù),單擊下一步:確定。
單擊創(chuàng)建。