日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

首頁 訪問控制 實踐教程 教程 使用標簽對ECS實例進行分組授權

使用標簽對ECS實例進行分組授權

更新時間: 2024-05-28 10:39:44

本文介紹了如何使用標簽對ECS實例進行分組并授權,以限制RAM用戶只能查看和管理被授權的ECS實例。

應用場景

假設您的阿里云賬號(主賬號)購買了10個ECS實例,其中5個想要授權給developer團隊,另外5個授權給operator團隊。企業希望每個團隊只能查看和管理被授權的ECS實例,未被授權的ECS實例不允許查看。

解決方案

  • 按標簽標識不同團隊的ECS實例。

    規劃兩個標簽,分別用來標識developer團隊和operator團隊的ECS實例。

  • 將RAM用戶分組。

    規劃兩個RAM用戶組,分別對應developer團隊和operator團隊,然后將對應團隊的RAM用戶加入到對應的RAM用戶組。

  • 基于標簽鑒權對RAM用戶組進行授權。

    規劃兩個自定義權限策略,使用如下標簽鑒權Condition確定資源范圍。然后,將不同的權限策略授權給不同的RAM用戶組,RAM用戶組中的RAM用戶將繼承RAM用戶組的權限。

    • acs:RequestTag/<tag-key>:請求中傳遞的標簽信息。即用戶在調用API的時候,請求參數里面必須攜帶的標簽。

    • acs:ResourceTag/<tag-key>:請求訪問的資源上綁定的標簽信息。即用戶在操作某個資源的時候,資源上必須具備的標簽。

具體規劃信息如下:

團隊

RAM用戶組

RAM權限策略

標簽

developer團隊

developer

policyForDevTeam

標簽鍵:team;標簽值:dev。

operator團隊

operator

policyForOpsTeam

標簽鍵:team;標簽值:ops。

操作步驟

您可以使用阿里云賬號(主賬號)或具有權限(AliyunRAMFullAccess和AliyunECSFullAccess)的RAM用戶完成下述操作。

  1. ECS控制臺,為ECS實例創建并綁定標簽。

    為5個ECS實例綁定標簽team:dev,另外5個ECS實例綁定標簽team:ops。具體操作,請參見創建或綁定標簽

  2. RAM控制臺,創建RAM用戶組。

    創建2個RAM用戶組:developer、operator,分別對應developer和operator團隊。具體操作,請參見創建RAM用戶組

  3. RAM控制臺,創建RAM用戶并將其加入到對應的RAM用戶組。

    按需為每個團隊創建適量的RAM用戶,然后將RAM用戶分別加入到RAM用戶組developer或operator。具體操作,請參見創建RAM用戶為RAM用戶組添加RAM用戶

  4. RAM控制臺,創建自定義權限策略。

    創建2個自定義權限策略:policyForDevTeam、policyForOpsTeam。具體操作,請參見創建自定義權限策略

    policyForDevTeam權限策略內容:

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:RequestTag/team": [
                            "dev"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:ResourceTag/team": [
                            "dev"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:DescribeTags",
                    "ecs:ListTagResources"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Deny",
                "Action": [
                    "ecs:DeleteTags",
                    "ecs:UntagResources",
                    "ecs:CreateTags",
                    "ecs:TagResources"
                ],
                "Resource": "*"
            }
        ]
    }

    policyForOpsTeam權限策略內容:

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:RequestTag/team": [
                            "ops"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:ResourceTag/team": [
                            "ops"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:DescribeTags",
                    "ecs:ListTagResources"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Deny",
                "Action": [
                    "ecs:DeleteTags",
                    "ecs:UntagResources",
                    "ecs:CreateTags",
                    "ecs:TagResources"
                ],
                "Resource": "*"
            }
        ]
    }

    權限策略說明:

    策略內容

    策略說明

    {
    	"Effect": "Allow",
    	"Action": "ecs:*",
    	"Resource": "*",
    	"Condition": {
    		"StringEquals": {
    			"acs:RequestTag/team": [
    				"dev"
    			]
    		}
    	}
    }

    允許通過標簽team:dev篩選對應的ECS實例。

    {
    	"Effect": "Allow",
    	"Action": "ecs:*",
    	"Resource": "*",
    	"Condition": {
    		"StringEquals": {
    			"acs:ResourceTag/team": [
    				"dev"
    			]
    		}
    	}
    }

    允許對綁定了標簽team:dev的ECS實例進行管理操作。

    {
    	"Effect": "Allow",
    	"Action": [
    		"ecs:DescribeTags",
    		"ecs:ListTagResources"
    	],
    	"Resource": "*"
    }

    允許查看ECS實例的所有標簽列表。

    說明

    如果您不需要查看所有標簽列表,可以刪除該條策略。刪除后,您可以通過手動輸入標簽鍵和標簽值的方式篩選ECS實例。

    {
    	"Effect": "Deny",
    	"Action": [
    		"ecs:DeleteTags",
    		"ecs:UntagResources",
    		"ecs:CreateTags",
    		"ecs:TagResources"
    	],
    	"Resource": "*"
    }

    不允許刪除、解綁、創建、綁定標簽。

    避免RAM用戶因修改標簽導致沒有權限。

  5. 為RAM用戶組授權。

    為RAM用戶組developer授予自定義權限策略policyForDevTeam;為RAM用戶組operator授予自定義權限策略policyForOpsTeam。具體操作,請參見為RAM用戶組授權

    說明

    授權后RAM用戶將繼承對應RAM用戶組的權限。

驗證結果

  1. 使用RAM用戶登錄ECS控制臺

  2. 在左側導航欄,選擇實例與鏡像 > 實例

  3. 在頂部菜單欄左上角處,選擇地域。

  4. 實例頁面,單擊搜索欄旁邊的標簽篩選,選擇對應的標簽鍵和標簽值。

    例如:在RAM用戶組developer中的RAM用戶,可以通過標簽team:dev篩選有權限的ECS實例。標簽過濾

    重要

    只有當RAM用戶選擇了對應標簽后,RAM用戶才能查看到綁定了該標簽的ECS實例。否則,RAM用戶無法查看到任何ECS實例。

  5. 查看和管理有權限的ECS實例。

更多信息

使用標簽對塊存儲、快照、鏡像、安全組、彈性網卡、專有宿主機、SSH密鑰對等ECS資源進行分組授權的方法與上述對實例分組授權的方法相同。

上一篇: 使用標簽限制RAM用戶管理指定的ECS實例 下一篇: 使用標簽對RDS實例進行分組授權