zetzetn
@zetzetn (zetzetn)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

AWS CLIエラー:”no identity-based policy allows the cloudformation:DescribeStacks action”を解決したい

解決したいこと

AWS CLIを使いCloudFormationのデプロイを行おうとしたところ、エラーが発生しました。

エラーが何を言っているか分からず、何についてのエラーなのか分かる方がおられましたらご教示いただけますと幸いです。

発生している問題・エラー

An error occurred (AccessDenied) when calling the DescribeStacks operation: User: arn : aws : iam:458112670360:user/ec2-user is not authorized to perform: cloudformation:DescribeStacks on resource: arn : aws :cloudformation:ap-northeast-1:458112670360:stack/RDSmySQLcreate/* because no identity-based policy allows the cloudformation:DescribeStacks action

image.png

ターミナルにて打ち込んだコマンド

aws cloudformation deploy --template-file stack.yml --stack-name RDSmySQLcreate --parameter-overrides $(cat dev.cfg)

フォルダ構成とconfig/credentialsファイル

・フォルダ構成
image.png

[config]

[default]
region = ap-northeast-1
output = json

[credentials]

[default]
aws_access_key_id = AAAAAAAAAAAAAAAAAA
aws_secret_access_key = BBBBBBBBBBBBBBBBBBBBBB

エラー文を見るとDescribeStacks actionがidentity-based policyで許可されていないとのことですが、
ポリシーの許可を割り振る必要があるということかと推測しています。
ただ、エラーについて検索しても出てこず詰まってしまっています。
どう対処したらいいのか分かる方がおられましたらご教示いただけますと幸いです。

0

2Answer

iam:458112670360:user/ec2-usercloudformation:DescribeStacksの権限がないらしいです。つまり「ec2-user」というIAMユーザーにcloudformation:DescribeStacksをつければ解決します。

ちゃんとやる方法

  1. IAMコンソール開く
  2. ポリシーを選択
  3. ポリシーを作成
  4. サービスに「cloudformation」を選択
  5. アクションのアクセスレベルの「リスト」から「DescribeStacks」を選択してチェックを入れる
  6. リソースはとりあえず「すべてのリソース」を選択
  7. 次に行って、タグもとりあえずいらないと思うので、最後にポリシー名を命名して「ポリシーを作成」
  8. IAMユーザーの属するIAMグループに上記で作成したポリシーを付与(IAMグループがあれば。グループ作成していないのならココ飛ばしてください。)
  9. ユーザーから「ec2-user」を選択
  10. アクセス権限の追加 → 既存のポリシーをアタッチで先ほど作成したポリシーを選択してアタッチする。

手っ取り早くやる方法

  1. IAMコンソール開く
  2. ユーザーを選択
  3. ec2-userを選択
  4. アクセス権限の追加 → 既存のポリシーをアタッチ
  5. 「cloudformation」で検索して「AWSCloudFormationFullAccess」などをアタッチする(良い方法ではないです)
2Like

Ryo Hagiwaraさん

権限を付与したところ、cloudformationのデプロイをすることが出来ました。

IAMポリシーの付与がすぐ頭に出てこず、ご教授いただけて助かりました。

(今回の事でAWS CLIやIAM周りがまだまだだなぁ、、、と痛感しました:sweat:

ありがとうございました:laughing:

1Like

Your answer might help someone💌