本ページでは、タグを使用してリソース (ECS インスタンスなど) をグループ別に権限付与し、RAM ユーザーがタグ付きリソースのみを表示および操作できるようにする方法について説明します。
シナリオ
10 個の ECS インスタンスがあります。 dev チームがそれらのうちの 5 つを管理し、ops チームが他の 5 つを管理させたいとします。 ただし、各チームには権限付与されたリソースのみを表示 (他のチームに権限付与されたリソースは表示させない) させたいとします。
準備
RAM コンソールに RAM アカウントを使ってログインできることを確認します。
解決法
2 つの RAM ユーザーグループを作成し、これら 2 つのグループにタグを付けて、グループに権限を付与します。
- 5 つに、"team" をキーとして、"dev" を値としてタグ付けます。
- 残りの 5 つに、"team" をキーとして、"ops" を値としてタグ付けます。
手順
- ECS コンソールにログインし、[インスタンス] をクリックして、ターゲットインスタンスを選択します。 操作 列で を選択します。
- [作成] をクリックして、キーと値を入力して、[確認] をクリックします。
- RAM コンソールにログインし、2 つの RAM ユーザーグループを作成し、"dev" と "ops" という名前を付けます。
詳しくは、(オプション)RAM ユーザグループの作成をご参照ください。
- RAM ユーザーを作成し、それらのユーザーを異なるユーザーグループに追加します。
詳しくは、RAM ユーザーの作成をご参照ください。
- 2 つのカスタムポリシーを作成し、それらを異なるユーザーグループに適用します。
詳しくは、RAM での権限付与 をご参照ください。
注 ユーザグループにポリシーを適用すると、このグループの RAM ユーザは関連する権限を継承します。この例では、dev ユーザーグループのポリシー名は policyForDevTeam です。 ポリシーコンテンツは以下のとおりです。{ "Statement": [ { "Action": "ecs:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "ecs:tag/team": "dev" } } }, { "Action": "ecs:DescribeTag*", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
上記のコードでは、- "Condition" を持つ
"Action": "ecs:*"
要素は、"team": "dev"
としてタグ付けされたインスタンスをフィルタリングするために使用します。 "Action": "ecs:DescribeTag*"
要素はすべてのタグを表示するために使用します。 ユーザーがECS コンソールで操作を実行すると、システムはユーザーが選択するすべてのタグを表示し、ユーザーが選択したタグキーと値に従ってインスタンスをフィルタリングします。
注 例に従ってポリシー "policyForOpsTeam" を作成し、このポリシーを ops ユーザーグループに付与できます。 - "Condition" を持つ
権限付与インスタンスの表示
- ECS コンソールに RAM ユーザーとしてログインします。
注 ユーザーが ECS コンソールにログインした後、システムはデフォルトで ECS 概要ページに移動します。 この場合、ページに表示される ECS インスタンスの数は 0 です。 関連するインスタンスを表示するには、 [インスタンス] をクリックします。
- [インスタンス] をクリックします。検索ボックスの横にある [タグ] をクリックします。
注 コンソールに表示されるリージョンが、インスタンスが属するリージョンであることを確認する必要があります。
- タグキーの上にポインタを移動します。 タグ値リストが表示されます。 値を選択すると、対応するインスタンスがフィルタリングされます。
次のステップ
本ページでは、タグを使用してリソース (ECS インスタンスなど) をグループ別に権限付与し、RAM ユーザーがタグ付きリソースのみを表示および操作できるようにする方法について説明します。
注 タグ付けできるのはカスタム画像のみです。