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

Resource Access Management:グループ別の ECS インスタンスの認可

最終更新日:Jun 11, 2026

タグを使用して ECS インスタンスをグループ化し、RAM ユーザーが割り当てられたインスタンスにのみアクセスできるようにします。

ユースケース

Alibaba Cloud アカウントが 10 台の ECS インスタンスを所有しています。developer チームに 5 台のインスタンスへのアクセスを、operator チームに残りの 5 台へのアクセスを付与し、各チームが割り当てられたインスタンスの表示と管理のみを行えるように制限したいとします。

ソリューション

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

    developer チームと operator チームのインスタンスを識別するために、2 つのタグを作成します。

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

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

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

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

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

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

次の表に、リソース計画を示します。

チーム

RAM ユーザーグループ

RAM ポリシー

タグ

developer チーム

developer

policyForDevTeam

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

operator チーム

operator

policyForOpsTeam

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

操作手順

AliyunRAMFullAccess および AliyunECSFullAccess 権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーとしてサインインします。

  1. ECS コンソールで、ECS インスタンスにタグを作成してバインドします。

    5 台の ECS インスタンスにタグ team:dev をバインドし、残りの 5 台のインスタンスにタグ team:ops をバインドします。タグを作成してバインドする

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

    2 つの RAM ユーザーグループ developeroperator を作成します。RAM ユーザーグループを作成する

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

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

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

    2 つのカスタムポリシー policyForDevTeampolicyForOpsTeam を作成します。カスタムポリシーを作成する

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

    policyForDevTeamdeveloper グループに、policyForOpsTeamoperator グループにアタッチします。RAM ユーザーグループに権限を付与する

    説明

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

結果の確認

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

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

  3. 上部メニューで、リージョンを選択します。

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

    例: developer グループの RAM ユーザーは、タグ team:dev を選択して認可されたインスタンスを絞り込めます。

    重要

    RAM ユーザーは、認可されたタグに一致する ECS インスタンスのみを表示できます。タグで絞り込まない場合、インスタンスリストには何も表示されません。

  5. 認可された ECS インスタンスを表示して管理します。

詳細情報

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