リソースタグを使用した EC2 リソースへのアクセスの制御 - Amazon Elastic Compute Cloud

リソースタグを使用した EC2 リソースへのアクセスの制御

EC2 リソースを使用するためのアクセス許可を IAM ユーザーに付与する IAM ポリシーを作成する場合、ポリシーの Condition 要素にタグ情報を含めることで、タグに基づいてアクセスを制御できます。これは、属性ベースのアクセス制御 (ABAC) と呼ばれます。ABAC を使用すると、ユーザーが変更、使用、または削除できるリソースをより適切に制御できます。詳細については、「AWS の ABAC とは」を参照してください。

例えば、インスタンスを終了することをユーザーに許可するが、インスタンスに environment=production タグが付いている場合はアクションを拒否するポリシーを作成できます。これを行うには、aws:ResourceTag 条件キーを使用し、リソースにアタッチされているタグに基づいてリソースへのアクセスを許可または拒否します。

"StringEquals": { "aws:ResourceTag/environment": "production" }

Amazon EC2 API アクションが aws:ResourceTag 条件キーを使用したアクセスの制御をサポートしているかどうかについては、「Amazon EC2 のアクション、リソース、および条件キー」を参照してください。Describe アクションはリソースレベルのアクセス権限をサポートしないため、条件のない別のステートメントでそれらのアクセス権限を指定する必要があることに注意してください。

IAM ポリシーの例は、「AWS CLI または AWS SDK で使用するサンプルポリシー」を参照してください。

タグに基づいてリソースへのユーザーのアクセスを許可または拒否する場合は、ユーザーが同じリソースに対してそれらのタグを追加または削除することを明示的に拒否することを検討する必要があります。そうしないと、ユーザーはそのリソースのタグを変更することで、制限を回避してリソースにアクセスできてしまいます。