當您的企業存在多使用者協同訪問資源的情境時,您可以建立多個RAM使用者(子帳號)並按需為其分配最小許可權,避免多使用者共用阿里雲帳號(主帳號)密碼或存取金鑰(AccessKey),從而降低企業的安全風險。本文介紹如何通過RAM使用者執行OOS模板。
情境介紹
某公司帳號下購買了若干台ECS執行個體,其中2台被打上標籤TagKey:TagValue
進行了分組,某員工甲被分配的RAM使用者為subUser1ForOOS
,甲定期通過該帳號在OOS中執行一個模板T,模板執行的任務是對標籤TagKey:TagValue
分組下的ECS執行個體批量執行Shell指令。即該員工具有對模板T的唯讀和執行許可權,以及有模板任務涉及API(如RunCommand)的操作許可權,且可操作的API僅對標籤TagKey:TagValue
分組下的執行個體有效。
解決方案
為滿足上述情境,許可權管理要分兩方面,OOS資源操作和ECS資源操作:
OOS方面的權限原則包括對模板的執行許可權、對執行的查詢許可權。
ECS方面權限原則為對標籤
TagKey:TagValue
下執行個體的操作許可權,且操作許可權僅限於模板中涉及的API。
以上的權限原則成功建立後,將其授權給員工甲使用的RAM使用者即可(或具有員工甲相同職責的使用者組)。
操作步驟
ECS執行個體的分組
建立RAM使用者
建立自訂權限原則
為RAM使用者授權
RAM使用者執行OOS模板
ECS執行個體的分組
登入雲端服務器管理主控台。
選擇2台執行個體,在操作菜單下選擇
。單擊建立標籤,輸入標籤鍵和標籤值,單擊確定。
本文中標籤鍵設為TagKey,標籤值設為TagValue。
建立RAM使用者
使用阿里雲帳號或Resource Access Management員登入RAM控制台。
在左側導覽列的
菜單下,單擊建立使用者。輸入登入名稱稱及顯示名稱。
勾選訪問台控制,單擊自訂密碼並填寫要設定的子帳號密碼。單擊確定。
建立自訂權限原則
使用阿里雲帳號或Resource Access Management員登入RAM控制台。
在左側導覽列的許可權管理菜單下,單擊權限原則>建立權限原則。
分別建立OOS管理原則和ECS管理原則,策略內容如下:
說明需將策略中的$AliyunMasterAccountID、$TagKey、$TagValue、$RegionID修改為您所使用的阿里雲帳號、ECS設定的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" }
分別填寫策略名稱稱和備忘,單擊確定。
為RAM使用者或使用者組授權
使用阿里雲帳號或Resource Access Management員登入RAM控制台。
在左側導覽列的
菜單下,單擊新增授權。在授權主體中輸入RAM使用者名稱稱或使用者組名稱並選中,在權限原則中選擇自訂策略,在左側權限原則名稱列表下,單擊選擇需要授予給RAM使用者或使用者組的權限原則。
單擊確認新增授權。
執行OOS模板
登入上文建立的RAM使用者。
,找到ACS-ECS-BulkyRunCommand模板,單擊建立執行。
單擊下一步:設定參數。
設定參數,單擊下一步:確定。
單擊建立。