IAM ユーザーによるアクセスを特定の Amazon EC2 リソースに制限することはできますか?
最終更新日: 2020 年 8 月 12 日
AWS Identity and Access Management (IAM) ユーザーまたはグループのアクセスを特定の Amazon Elastic Compute Cloud (Amazon EC2) リソース 1 つ、または同じ AWS アカウントにある複数のリソースグループのための Amazon EC2 リソースグループに制限したいと考えています。これはどのように実行できますか?
解決方法
最も重要な Amazon EC2 アクションは、リソースレベルのアクセス許可または条件をサポートしておらず、AWS リージョン以外の基準で IAM ユーザーまたはユーザーグループの Amazon EC2 リソースへのアクセスを分離することは、ほとんどのユースケースに適切ではありません。
その代わりに、AWS Organizations を介して複数の異なる AWS アカウントをリンクすることを検討してください。その後、それぞれのアカウントにある IAM ユーザーグループを分離します。
同じアカウントにあるリソースをリージョンまたは条件別に分離する必要がある場合は、まずリソースレベルのアクセス許可と条件をサポートする EC2 アクションのリストをチェックして、ユースケースがこのソリューションをサポートすることを確認してください。
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":"ec2:Describe*",
"Resource":"*"
},
{
"Effect":"Allow",
"Action":[
"ec2:StartInstances",
"ec2:StopInstances",
"ec2:RebootInstances"
],
"Resource":[
"arn:aws:ec2:us-east-1:111122223333:instance/*"
],
"Condition":{
"StringEquals":{
"ec2:ResourceTag/Owner":"Bob"
}
}
}
]
}
注意: 所有者の Bob 、および AWS リージョンをご使用の環境のパラメータに置き換えてください。
このポリシー例では、タグ値が Bob になっている所有者のタグキーがある米国東部 (バージニア北部) [us-east-1] リージョン内における EC2 インスタンスの起動/停止/再起動のみに IAM ユーザーまたはグループのアクセスが制限されます。
最後に、IAM ユーザーのグループごとに異なるリージョンを使用して、それぞれのグループに同様のポリシーを作成します。
ユースケースのタグ付けとベストプラクティスについては、タグ付けのベストプラクティスを参照してください。