AWS CloudFormation で発生する AWS Identity and Access Management (IAM) のアクセス許可エラーを解決したいです。
簡単な説明
CloudFormation スタックを作成または更新すると、そのアクションがリソースをプロビジョニングするために必要なサービスへの API コールを呼び出します。デフォルトでは、AWS CloudFormation はユーザー認証情報から生成された一時セッションをスタック操作に使用します。サービスロールを指定した場合は、AWS CloudFormation はそのロールの認証情報を使用します。使用している認証情報に必要なアクセス許可がない場合、スタック操作は失敗します。
解決方法
IAM アクセス許可エラーをトラブルシューティングするには、このセクションに記載されている手順に従ってください。
エラー: 「ExampleRole」には以下を実行する権限がありません。 <AWSService>:<APIcall>。」
注: 開始する前に、AWS アカウントにログインしていることを確認してください。
エラーを解決するには、次の手順を実行します。
- IAM コンソールに移動します。
- [ロール] を選択します。
- 検索バーに ExampleRole と入力します。
- [アクセス許可] タブを選択します。
- ロールにアタッチされているポリシーを確認します。
- ポリシーで [+] サインを選択してから、[編集] を選択します。
- ロールポリシーに不足しているアクセス許可 (API コール) を追加します。次に、[次へ] を選択します。
- [変更を保存] を選択します。
- AWS CloudFormation コンソールに移動します。
- スタックを再デプロイします。
エラー: リソースポリシーの操作中に "MalformedPolicyDocument" エラーが発生しました。」
上記のエラーは、CloudFormation テンプレートのポリシーセクションに構文エラーがある場合に発生します。
エラーを解決するには、次の手順を実行します。
- AWS CloudFormation コンソールに移動します。
- エラーが発生したスタックを選択します。
- [テンプレート] タブを選択します。
- エラーが発生したポリシー構文をテンプレートからコピーします。
- ポリシーを YAML から JSON に変換します。
- IAM コンソールに移動します。
- **[ポリシー]**を選択します。
- [ポリシーを作成] を選択します。
- ポリシーエディターで、[JSON] を選択します。
- 前にコピーしたポリシー構文をポリシーエディタに貼り付けます。
- [次へ] を選択します。ポリシーエディタには、ポリシードキュメント内のエラーのある行が表示されます。
- ポリシードキュメントの構文を修正します。
- [次へ] を選択します。構文が有効であることを確認します。
- AWS CloudFormation コンソールに移動します。
- スタックを再デプロイします。
トラブルシューティングのヒント
- CloudFormation スタックイベントからのエラーメッセージが不明確な場合は、AWS CloudTrail で API コールを調べて、関連するタイムスタンプを確認してください。
- CloudTrail API コールでは、スタックに渡されたリクエストパラメータの詳細なログを取得できます。ログの詳細は、関連するエラーメッセージを示しています。詳細については、「CloudTrail イベント履歴を操作する」を参照してください。
関連情報
ポリシー概要の例
IAM ポリシーを編集する