質問: 表題の通りIAMユーザ管理のプロセスが分からず、 AWSを使おうと環境構築をしているのですが、ユーザ管理周りがうまく設定できず困っています。 (あまり良くありませんが)ルートユーザーで作成したある特定のEC2インスタンスだけを特定の開発者グループ(IAMユーザグループ)にアクセス権限を付与したいです。 既にある他のEC2インスタンスへのアクセスは許可したくありません。 そしてその特定のIAMユーザグループではインスタンスの作成も行えるようにしたいです。 こちらの実装の方法をご存知の方いましたら、もし宜しければご教授いただけないでしょうか。 また、一般的なEC2インスタンスをIAMユーザグループ毎に管理する方法などももしご存知でしたら教えていただきたいです。 大変恐縮ではありますがご検討の程よろしくお願い致します。 <ユーザベースポリシー> ``` { "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "ec2:GetConsole*" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Owner": "(IAMユーザ名)" //タグでインスタンスを管理しようとした。 } } }, { "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:volume/*", "arn:aws:ec2:*::image/ami-*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:security-group/*" ] } ] } ```
回答: ポリシージェネレータも使ってみましょう。 また、このようなドキュメントがありました。 記載されてるポリシーだとインスタンスにOwnerタグをつけて、そこの名前でコントロールしているようですね。 ただドキュメントに記載のとおりだと > > 最も重要な Amazon EC2 アクションは、リソースレベルのアクセス許可または条件をサポートしていません。AWS リージョン以外の条件で IAM ユーザーまたは Amazon EC2 リソースへのユーザーのアクセスグループを切り離すことは、ほとんどのユースケースには適しません。 > > > ということなので、そもそもあまり推奨していないやり方のようです。 また、すべてのアクションがコントロールしきれるわけでもないようですね。