AWS Copilotを触ってIAMで躓いた話

概要

先日、ECSの環境構築を簡略化できる AWS Copilot というCLIツールが発表されました。 使用感の確認がてらチュートリアルを行おうとし、躓いた箇所を記載します。

手順と躓き

事前に今件で使うIAMユーザを作成しました。 Classmethodさんの記事を参考に、ポリシーを割り当てていきました。

作成したユーザの情報をクレデンシャルに、セットしチュートリアル通りに、コマンドを実行しました。

copilot init --app demo \
--svc api \
--svc-type 'Load Balanced Web Service' \
--dockerfile './Dockerfile'  \
--deploy

すると下記エラーが発生し、デプロイに失敗しました。

✘ deploy service: describe stack demo-test-api: AccessDenied: User: arn:aws:iam::ユーザ名 is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::hoge:role/demo-test-EnvManagerRole

エラーを見るに利用したユーザが demo-test-EnvManagerRole のロールの切り替えに失敗したようでした。

作成したIAMユーザには、IAMをフルアクセスしているのですが…。

やむなく、 demo-test-EnvManagerRole の信頼関係で、IAMユーザを定義して、エラーを解決させ、無事デプロイに成功しました。

まとめ

IAMの奥深さと、自分の理解の浅さを痛感しました…。 誰か原因がわかったら教えて下さいm( )m