タグを Resource Access Management (RAM) と組み合わせて使用することで、きめ細かなアクセス制御を実現できます。リソースにタグをアタッチした後、RAM でカスタムポリシーを作成し、アクセスに特定のタグを要求するように設定できます。このポリシーを RAM ユーザーや RAM ロールなどの RAM ID にアタッチすると、その ID のアクセスは、指定されたタグを持つリソースのみに制限されます。この方法は柔軟かつスケーラブルです。新しいリソースを追加する際には、複数のポリシーを変更する代わりに、適切なタグを適用するだけで済みます。このトピックでは、RAM ユーザーを例に、このプロセスを説明します。
タグベースの権限付与をサポートするリソースタイプ
どのリソースタイプがタグベースの権限付与をサポートしているかを確認するには、タグコンソールにログインし、対応リソース ページで [タグベースの権限付与] 列を確認します。
仕組み
以下の図は、タグを使用して RAM ユーザーの権限を制御する方法を示しています。
カスタムポリシーでは、Condition 要素を使用して、権限付与の対象となるタグを指定します。タグに関してサポートされている Condition は以下の通りです:
|
Condition |
説明 |
|
|
リクエストに含める必要があるタグを指定します。 |
|
|
アクセス対象のリソースにアタッチされている必要があるタグを指定します。 |
操作手順
-
タグの作成とアタッチ
タグコンソール、リソースセンターコンソール、または特定のクラウドサービスのコンソールで、リソースにタグを作成し、アタッチします。詳細については、「タグの作成」および「リソースへのタグのアタッチ」をご参照ください。
-
カスタムポリシーの作成
RAM コンソールでカスタムポリシーを作成し、Condition 要素にタグベースの権限付与条件を設定します。詳細については、「カスタムポリシーの作成」をご参照ください。
例えば、以下のポリシーは、
owner:aliceとenvironment:productionの両方のタグを持つ ECS インスタンスに対して、すべての管理操作を許可します。{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/owner": [ "alice" ], "acs:ResourceTag/environment": [ "production" ] } } } -
RAM ユーザーの作成と権限付与
RAM コンソールで RAM ユーザーを作成し、カスタムポリシーをアタッチします。詳細については、「RAM ユーザーの作成」および「RAM ユーザーへの権限付与」をご参照ください。
ベストプラクティス
|
クラウドサービス |
タグ権限付与の例 |
|
ECS |
|
|
ECI |
|
|
Auto Scaling (ESS) |
|
|
SMC |
|
|
ApsaraDB RDS |