RAM使用者或RAM角色只能將雲助手命令執行在帶有某種標籤的ECS執行個體上,否則執行失敗。本文以RAM使用者為例,為您介紹對應的操作方法、自訂權限原則內容及常見問題。
操作步驟
使用阿里雲帳號或Resource Access Management員建立RAM使用者。
具體操作,請參見建立RAM使用者。
使用阿里雲帳號或Resource Access Management員建立自訂權限原則。
使用阿里雲帳號或Resource Access Management員為RAM使用者授權。
具體操作,請參見為RAM使用者授權。
使用RAM使用者登入ECS管理主控台雲助手頁面,驗證權限原則是否生效。
將命令執行到不帶有標籤
user:alice
的ECS執行個體上,執行失敗。將命令執行到帶有標籤
user:alice
的ECS執行個體上,執行成功。
關於RAM使用者登入控制台的操作方法,請參見RAM使用者登入阿里雲控制台。
權限原則樣本1:要求發送命令、檔案的ECS執行個體帶有指定標籤
本樣本中,僅允許RAM使用者將雲助手命令執行到帶有標籤user:alice
的ECS執行個體上、將檔案傳輸到帶有標籤user:alice
的ECS執行個體上。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "acs:ecs:*:*:instance/*",
"Condition": {
"StringEquals": {
"acs:ResourceTag/user": "alice"
}
}
},
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "acs:ecs:*:*:command/*"
}
]
}
權限原則樣本2:查詢標籤、查詢ECS執行個體以及管理雲助手命令
本樣本中,僅允許RAM使用者查詢標籤、查詢ECS執行個體以及管理雲助手命令。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:DescribeTag*",
"ecs:DescribeInstance*",
"ecs:DescribeCommands",
"ecs:CreateCommand",
"ecs:DeleteCommand",
"ecs:ModifyCommand",
"ecs:DescribeInvocationResults",
"ecs:DescribeSendFileResults",
"ecs:DescribeInstances",
"ecs:DescribeCloudAssistantStatus",
"ecs:DescribeInvocations",
"ecs:DescribeResourceByTags",
"ecs:DescribeTagKeys",
"ecs:DescribeTags",
"ecs:ListTagResources",
"ecs:DescribeManagedInstances"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "oos:ListSecretParameters",
"Resource": "*"
}
]
}
常見問題
如果權限原則未生效,請檢查RAM使用者的許可權是否對以下幾個Action設定了Allow策略:
["ecs:InvokeCommand","ecs:RunCommand", "ecs:StopInvocation","ecs:SendFile"]
例如:存在如下所示的權限原則時,您需要移除RAM使用者的這些權限原則。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecs:InvokeCommand",
"ecs:RunCommand",
"ecs:StopInvocation",
"ecs:SendFile"
],
"Resource": "*"
}
]
}