全部產品
Search
文件中心

Resource Management:使用標籤控制雲助手的命令執行

更新時間:Jun 30, 2024

RAM使用者或RAM角色只能將雲助手命令執行在帶有某種標籤的ECS執行個體上,否則執行失敗。本文以RAM使用者為例,為您介紹對應的操作方法、自訂權限原則內容及常見問題。

操作步驟

  1. 使用阿里雲帳號或Resource Access Management員建立RAM使用者。

    具體操作,請參見建立RAM使用者

  2. 使用阿里雲帳號或Resource Access Management員建立自訂權限原則。

  3. 使用阿里雲帳號或Resource Access Management員為RAM使用者授權。

    具體操作,請參見為RAM使用者授權

  4. 使用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": "*"
        }
    ]
}