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