質問: チュートリアル: Amazon ECS CLI を使用して Fargate タスクのクラスターを作成する を参考に作業しているのですが、「ステップ 1: タスク実行 IAM ロールを作成する」の「2、タスク実行ロールを作成する」のコマンドを実行したところ、 ``` An error occurred (AccessDenied) when calling the CreateRole operation: User: arn:aws:iam::1234:user/hoge is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::1234:role/ecsTaskExecutionRole ``` というエラーが表示されてしまいます。 何らかの権限が足りないのかと思い、自分なりに調べてみましたがよくわかりませんでした。いかにその詳細を記述します。 AWS Identity and Access Management (IAM) に関する問題について、トラブルシューティングの方法を教えてください。を見た所、今回のエラーは、 「API の呼び出し元」は「User: arn:aws:iam::1234:user/hoge」、「どの API」は「CreateRole」、「どのリソース」は「arn:aws:iam::1234:role/ecsTaskExecutionRole」であることまではわかりました。 似た事例である、「エラーメッセージの例 B:」を参考にすると「IAM ロールの信頼ポリシー: ecsTaskExecutionRole:」を見るべきかと思いましたが、今回はcreateRoleが実行できないので、このecsTaskExecutionRoleが存在しません。 そこでこの工程をスキップして、 「API の呼び出し元 (arn:aws:iam::123456789012:user/test) にアタッチされた IAM ポリシー」を見ましたが、どの様にすればcreateRoleを許可することを含むポリシーを、「arn:aws:iam::1234:user/hoge」にアタッチすれば良いのかわかりませんでした。 ここで質問なのですが、どの様にすればCreateRoleを実行できる様になるでしょうか? ご回答をお待ちしております。
回答: 権限が足りないというエラーです。自分が使っている IAM ユーザーに `iam:CreateRole` という権限が付与されていないのでエラーが起きています。IAM のマネジメントコンソールからご自身が使っているユーザーにどのような権限が付与されているか確認してください。 自分でこの権限を増やせるなら、ご自身の管理方法を使って権限を増やせば良いです。ですがおそらくこの IAM ユーザーは自社の AWS 運用グループからもらったもので、意図的に `iam:CreateRole` が外されているのではないのでしょうか。この場合、IAM ユーザーを管理している方たちにどうすれば良いか伺ってみてください。