AWSのドキュメントを読みましたが、役に立ちませんでした...少なくとも私にとっては。 IAMとEC2のユーザーポリシーについて読みました。
私が使用しているリージョンはeu-west-1(Ireland)です。私はこのポリシーを作りました:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "arn:aws:ec2:eu-west-1:ACCOUNT_ID:instance/INSTANCE_ID"
}]
}
ユーザーとしてログインすると、権限がないことがわかります。
リソース属性に次のポリシーを適用すると、
「リソース」:「arn:aws:ec2:*」
Okですが、ユーザーがすべてのEC2インスタンスにアクセスできるため、必要なものではありません。
これがAWSのバグなのか、eu-west-1リージョンに問題があるのか、このポリシーがまだサポートされていないのか知りたいのですが?あるいは、私が間違っているかもしれません。もしそうなら、どうすればいいですか
最近導入された EC2およびRDSリソースのリソースレベルのアクセス許可 は、まだすべてのAPIアクションで使用できるわけではありませんが、AWSは徐々に追加しています。この注記を参照してください Amazon EC2のAmazonリソースネーム :
重要現在、すべてのAPIアクションが個々のARNをサポートしているわけではありません。追加のAmazon EC2リソースの追加のAPIアクションとARNのサポートを後で追加します。どのAmazon EC2 APIアクションでどのARNを使用できるか、および各ARNでサポートされている条件キーについては、「 Amazon EC2 APIアクションでサポートされているリソースと条件 」を参照してください。
この記事の執筆時点では、すべてのec2:Describe*
アクションが実際にまだ存在しないことがわかります Amazon EC2 APIアクションでサポートされるリソースと条件 。
上記の簡潔な概要と、IAMポリシーで使用できるARNおよびAmazon EC2条件キーの詳細については、 Amazon EC2リソースに必要なアクセス許可をIAMユーザーに付与する も参照してください。特定のAmazon EC2リソースを作成または変更する権限をユーザーに付与するステートメント-このページでは、AWSが2014年に追加のアクション、ARN、条件キーのサポートを追加することにも言及しています。
個別のリソースレベルでアクセスを制限する代わりに、またはそれに加えて、 Conditions を Policy Variables と組み合わせて使用することも(また)ec2:Region
isサポートされている1つ Amazon EC2の条件キー -Describe*
アクションを具体的に処理するポリシーとポリシーを組み合わせることができます。このようなもの(テストされていない):
{
"Statement": [
{
"Action": [
"ec2:Describe*"
],
"Effect": "Allow",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:Region": "eu-west-1"
}
}
}
]
}
これにより、ユーザーはeu-west-1
内のallインスタンスを表示できるようになりますが、元のポリシーフラグメントにより、リソースレベルの権限(たとえば、インスタンスの作成/終了など)。
タグに基づいてEC2でインスタンスを非表示にする方法-IAMを使用する方法 への関連する回答のセクションPartial Workaroundでさらに別の可能なアプローチの概要を説明しました。
幸運を!