如何使用標籤控制對ECS 資源的訪問?

問題

如何創建RAM (Resource Access Management)策略以使用標籤控制對 雲服務器(Elastic Compute Service,ECS)實例的訪問?

場景描述

控制對ECS 實例部署的訪問,具體操作如下所示

  1. 添加標籤:向實例中添加特定標籤,​您希望向用戶或組授予對這些實例的訪問權限。
  2. 創建RAM策略:創建一個 RAM 策略,以授予對任何帶該特定標籤的實例​的訪問權限。
  3. 授權用戶:將該 RAM 策略附加到您希望訪問實例的用戶或組。

解決方法

向 ECS 實例組添加標籤

打開 ​ECS 控制檯,然後​向 ECS 實例組添加標籤,您希望用戶或組能夠訪問這些實例。​如果您還沒有標籤,請創建一個並加入資源

注意:在爲資源添加標籤之前,請閱讀並瞭解標籤限制。

創建一個 RAM 策略,以授予對帶該特定標籤的實例​的訪問權限

創建一個類似於以下的 RAM 策略:

允許控制帶標籤的實例。
包含一個條件語句,如果條件鍵 ecs:tag/Onwer 的值與標籤值 [email protected][email protected] 匹配,則該語句允許訪問 ECS 資源。
允許訪問 帶有 標籤鍵owner 標籤值爲[email protected] 或者[email protected] 的 ECS 資源的 ecs:* 操作,.
明確允許訪問ECS查詢標籤 ecs:DescribeTagKeys 和 ecs:DeleteTags 操作
明確拒絕訪問 ecs:DeleteTags 、 ecs:UntagResources 、ecs:CreateTags 及 ecs:TagResources操作,以防止用戶創建或刪除標籤。
注意:這將通過向 ECS 實例中添加特定標籤來防止用戶控制該實例。
例如,創建完成的策略看起來應如下所示:

{
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ecs:*",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "ecs:tag/owner": [
                        "[email protected]",
                        "[email protected]"
                    ]
                }
            }
        },
        {
            "Action": "ecs:DescribeTagKeys",
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Action": "ecs:DescribeTags",
            "Effect": "Allow",
            "Resource": "*"
        },
        {
            "Effect": "Deny",
            "Action": [
                "ecs:DeleteTags",
                "ecs:UntagResources",
                "ecs:CreateTags",
                "ecs:TagResources"
            ],
            "Resource": "*"
        }
    ],
    "Version": "1"
}

將該 RAM 策略附加到您希望訪問實例的用戶或組a

最後,將已創建的 RAM 策略附加到您希望訪問實例的用戶或組。您可以使用 RAM 管理控制檯、阿里雲 CLI 或 阿里雲 API 來附加 RAM 策略。

相關信息

向 RAM 用戶授予 ECS 資源必需的權限
ECS 的 鑑權規則
ECS TAG功能詳解

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章