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

Resource Access Management:グループによる ECS インスタンスの権限付与

最終更新日:Jul 17, 2026

タグを使用して Elastic Compute Service (ECS) インスタンスをグループ化し、Resource Access Management (RAM) ユーザーに割り当てられたインスタンスのみへのアクセス権を付与します。

利用シーン

ご利用の Alibaba Cloud アカウントが 10 台の ECS インスタンスを所有しているとします。開発者チームに 5 台のインスタンスへのアクセス権を付与し、運用チームに残りの 5 台へのアクセス権を付与します。各チームは、割り当てられたインスタンスの表示と管理のみに制限されます。

ソリューション

  • タグを使用して、異なるチームの ECS インスタンスを識別します。

    2 つのタグを作成して、開発者チームと運用チームのインスタンスを識別します。

  • RAM ユーザーをグループ化します。

    developer と operator という名前の 2 つの RAM ユーザーグループを作成し、各チームの RAM ユーザーを対応するグループに追加します。

  • タグに基づいて RAM ユーザーグループに権限を付与します。

    タグベースの条件を持つ Condition 要素を使用してリソース範囲を定義する 2 つのカスタムポリシーを作成し、各ポリシーを対応するグループにアタッチします。グループ内の RAM ユーザーは、グループのポリシー権限を継承します。

    • acs:RequestTag/<tag-key>:API リクエストに存在する必要があるタグ。

    • acs:ResourceTag/<tag-key>:アクセス対象のリソースにアタッチされている必要があるタグ。

次の表にリソースプランを示します。

チーム

RAM ユーザーグループ

RAM ポリシー

タグ

開発者チーム

developer

policyForDevTeam

タグキー: team、タグ値: dev

運用チーム

operator

policyForOpsTeam

タグキー: team、タグ値: ops

操作手順

AliyunRAMFullAccess と AliyunECSFullAccess の権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーでログインします。

  1. ECS コンソールで、ご利用の ECS インスタンスにタグを作成して関連付けます。

    5 台の ECS インスタンスにタグ team:dev を、残りの 5 台のインスタンスにタグ team:ops を関連付けます。タグの作成と関連付け。

  2. RAM コンソールで、RAM ユーザーグループを作成します。

    developer と operator の 2 つの RAM ユーザーグループを作成します。RAM ユーザーグループの作成。

  3. RAM コンソールで、RAM ユーザーを作成し、対応する RAM ユーザーグループに追加します。

    各チームの RAM ユーザーを作成し、developer または operator グループに追加します。RAM ユーザーの作成。RAM ユーザーグループへの RAM ユーザーの追加。

  4. RAM コンソールで、カスタムポリシーを作成します。

    policyForDevTeam と policyForOpsTeam の 2 つのカスタムポリシーを作成します。カスタムポリシーの作成。

    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 ユーザーグループに権限を付与します。

    policyForDevTeam を developer グループに、policyForOpsTeam を operator グループにアタッチします。RAM ユーザーグループへの権限付与。

    説明

    RAM ユーザーは、所属するグループから自動的に権限を継承します。

結果の確認

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

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

  3. 上部のナビゲーションバーで、リージョンを選択します。

  4. [インスタンス] ページで、検索ボックスの横にある [タグでフィルター] をクリックし、適切なタグキーと値を選択します。

    たとえば、developer グループの RAM ユーザーは、team:dev タグを選択することで、権限のあるインスタンスをフィルターできます。

    重要

    RAM ユーザーは、権限のあるタグに一致する ECS インスタンスのみを表示できます。タグフィルターを使用しない場合、インスタンスリストは空で表示されます。

  5. 権限のある ECS インスタンスを表示および管理します。

詳細情報

ブロックストレージ、スナップショット、イメージ、セキュリティグループ、Elastic Network Interface、専用ホスト、SSH キーペアなど、他の ECS リソースにも同じタグベースの権限付与を適用できます。