すべてのプロダクト
Search
ドキュメントセンター

Resource Management:タグを使用して RAM ユーザーが承認された ECS インスタンスのみを管理できるようにする

最終更新日:May 09, 2025

Elastic Compute Service (ECS) インスタンスにタグを追加し、カスタム Resource Access Management (RAM) ポリシーでタグを指定し、ビジネス要件に基づいてポリシーを RAM ユーザーにアタッチできます。このようにして、RAM ユーザーは承認された ECS インスタンスのみを表示および管理できます。

背景情報

タグを使用して、RAM ユーザーのリソースアクセスと操作権限を管理できます。これは、タグに基づいて RAM ユーザー認証を実装できることを示しています。次の図は、認証の実装方法を示しています。

image

カスタムポリシーの Condition 要素でタグを指定できます。タグは、次の条件キーをサポートしています。

  • acs:RequestTag/<tag-key>: リクエストで渡されるタグ。この条件キーは、API 操作を呼び出すときにリクエストでタグを指定する必要があることを示します。

  • acs:ResourceTag/<tag-key>: リクエストされたリソースに追加されるタグ。この条件キーは、操作を実行するリソースにタグを追加する必要があることを示します。

手順

このセクションでは、RAM ユーザー Alice が owner:alice タグと environment:production タグが追加された ECS インスタンスのみを表示および管理できるようにする方法について説明します。

説明

権限付与プロセス中、ECS インスタンスは正常に動作します。

アカウント管理者を使用して、次の手順を実行します。

  1. RAM コンソール にログオンし、Alice という名前の RAM ユーザーを作成します。

    詳細については、「RAM ユーザーを作成する」をご参照ください。

  2. ECS インスタンスにタグを追加します。

    この例では、owner:alice タグと environment:production タグが ECS インスタンスに追加されます。

    次のいずれかの方法を使用してタグを追加できます。

  3. RAM コンソール で、UseTagAccessRes という名前のカスタムポリシーを作成します。

    次のコードは、ポリシーのドキュメントを提供します。詳細については、「カスタムポリシーの作成」をご参照ください。

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:ResourceTag/owner": [
                            "alice"
                        ],
                        "acs:ResourceTag/environment": [
                            "production"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": "ecs:*",
                "Resource": "*",
                "Condition": {
                    "StringEquals": {
                        "acs:RequestTag/owner": [
                            "alice"
                        ],
                        "acs:RequestTag/environment": [
                            "production"
                        ]
                    }
                }
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:List*",
                    "ecs:DescribeInstanceStatus",
                    "ecs:DescribeInstanceVncUrl",
                    "ecs:DescribeInstanceAutoRenewAttribute",
                    "ecs:DescribeInstanceRamRole",
                    "ecs:DescribeInstanceTypeFamilies",
                    "ecs:DescribeInstanceTypes",
                    "ecs:DescribeInstanceAttachmentAttributes",
                    "ecs:DescribeInstancesFullStatus",
                    "ecs:DescribeInstanceHistoryEvents",
                    "ecs:DescribeInstanceMonitorData",
                    "ecs:DescribeInstanceMaintenanceAttributes",
                    "ecs:DescribeInstanceModificationPrice",
                    "ecs:DescribeA*",
                    "ecs:DescribeC*",
                    "ecs:DescribeD*",
                    "ecs:DescribeE*",
                    "ecs:DescribeH*",
                    "ecs:DescribeIm*",
                    "ecs:DescribeInv*",
                    "ecs:DescribeK*",
                    "ecs:DescribeL*",
                    "ecs:DescribeM*",
                    "ecs:DescribeN*",
                    "ecs:DescribeP*",
                    "ecs:DescribeR*",
                    "ecs:DescribeS*",
                    "ecs:DescribeT*",
                    "ecs:DescribeZ*",
                    "vpc:DescribeVpcs",
                    "vpc:DescribeVSwitches"
                ],
                "Resource": "*"
            },
            {
                "Effect": "Deny",
                "Action": [
                    "ecs:DeleteTags",
                    "ecs:UntagResources",
                    "ecs:CreateTags",
                    "ecs:TagResources"
                ],
                "Resource": "*"
            }
        ]
    }

    次の表は、ポリシーの構成について説明しています。

    構成

    説明

    {
    	"Effect": "Allow",
    	"Action": "ecs:*",
    	"Resource": "*",
    	"Condition": {
    		"StringEquals": {
    			"acs:RequestTag/owner": "alice",
    			"acs:RequestTag/environment": "production"
    		}
    	}
    }

    owner:alice タグと environment:production タグに基づいて ECS インスタンスのフィルタリングを許可します。

    {
    	"Effect": "Allow",
    	"Action": "ecs:*",
    	"Resource": "*",
    	"Condition": {
    		"StringEquals": {
    			"acs:ResourceTag/owner": [
    				"alice"
    			],
    			"acs:ResourceTag/environment": [
    				"production"
    			]
    		}
    	}
    }

    owner:alice タグと environment:production タグが追加された ECS インスタンスでの管理操作を許可します。

    {
                "Effect": "Allow",
                "Action": [
                    "ecs:List*",
                    "ecs:DescribeInstanceStatus",
                    "ecs:DescribeInstanceVncUrl",
                    "ecs:DescribeInstanceAutoRenewAttribute",
                    "ecs:DescribeInstanceRamRole",
                    "ecs:DescribeInstanceTypeFamilies",
                    "ecs:DescribeInstanceTypes",
                    "ecs:DescribeInstanceAttachmentAttributes",
                    "ecs:DescribeInstancesFullStatus",
                    "ecs:DescribeInstanceHistoryEvents",
                    "ecs:DescribeInstanceMonitorData",
                    "ecs:DescribeInstanceMaintenanceAttributes",
                    "ecs:DescribeInstanceModificationPrice",
                    "ecs:DescribeA*",
                    "ecs:DescribeC*",
                    "ecs:DescribeD*",
                    "ecs:DescribeE*",
                    "ecs:DescribeH*",
                    "ecs:DescribeIm*",
                    "ecs:DescribeInv*",
                    "ecs:DescribeK*",
                    "ecs:DescribeL*",
                    "ecs:DescribeM*",
                    "ecs:DescribeN*",
                    "ecs:DescribeP*",
                    "ecs:DescribeR*",
                    "ecs:DescribeS*",
                    "ecs:DescribeT*",
                    "ecs:DescribeZ*",
                    "vpc:DescribeVpcs",
                    "vpc:DescribeVSwitches"
                ],
                "Resource": "*"
            }

    ECS インスタンスに関する情報の表示を許可します。

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

    タグの作成、追加、削除、および削除の操作を拒否します。

    これにより、このポリシーがアタッチされている RAM ユーザーがタグを変更することを防ぎます。RAM ユーザーが ECS インスタンスのタグを変更すると、RAM ユーザーは ECS インスタンスに対する関連する権限を失います。

  4. RAM コンソール で、作成したポリシーを RAM ユーザー Alice にアタッチします。

    承認スコープに [Alibaba Cloud アカウント]、プリンシパルに RAM ユーザー Alice、ポリシーの選択にカスタムポリシー UseTagAccessRes を選択します。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。

結果の確認

  1. RAM ユーザー Alice として ECS コンソール にログオンします。

    詳細については、「RAM ユーザーとして Alibaba Cloud 管理コンソールにログオンする」をご参照ください。

  2. 左側のナビゲーションウィンドウで、[インスタンスとイメージ] > [インスタンス] を選択します。

  3. 上部のナビゲーションバーで、ECS インスタンスが存在するリージョンを選択します。

  4. [インスタンス] ページで、検索ボックスの右側にある [タグで絞り込む] をクリックし、owner:alice タグと environment:production タグを選択します。

    image.png

    重要

    RAM ユーザーは、タグを選択した後でのみ、タグが追加された ECS インスタンスを表示できます。タグが選択されていない場合、RAM ユーザーは ECS インスタンスを表示できません。

  5. owner:alice タグと environment:production タグが追加された ECS インスタンスのみを表示および管理します。

関連情報

ECS の RAM 認証ルールの詳細については、「RAM 権限付与」をご参照ください。