【Security Hub修復手順】[CloudFormation.4] CloudFormation スタックには関連するサービスロールが必要です
こんにちは!スライマンです。
皆さん、お使いのAWS環境のセキュリティチェックはしていますか?
本記事では、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修復手順をご紹介します。
本記事の対象コントロール
[CloudFormation.4] CloudFormation スタックには関連するサービスロールが必要です
[CloudFormation.4] CloudFormation stacks should have associated service roles
前提条件
本記事はAWS Security Hubで「AWS基礎セキュリティのベストプラクティススタンダード」を利用されている方向けの内容となります。
AWS Security Hubの詳細についてはこちらのブログをご覧ください。
対象コントロールの説明
このコントロールは、CloudFormationスタックにIAMサービスロールが関連付けられているかチェックします。スタックにサービスロールが設定されていない場合、FAILEDと判定されます。
サービスロールとは、CloudFormationがAWSリソースへのAPI呼び出しを行う際に使用するIAMロールです。
サービスロールを設定することで、CloudFormationが使用できる権限をスタックを操作するユーザーの権限から分離し、最小権限の原則を実現できます。
サービスロールが設定されていない場合、CloudFormationはスタックを操作するユーザー自身の権限でAWSリソースを操作します。ユーザーが本来必要以上の権限を持つ環境では、意図しない権限昇格を招くリスクがあります。
このリスクを低減するため、本番・本番以外ともに対応を必須とするのが望ましいです。
修復手順
コントロールの確認方法
- AWS Security Hub コンソールを開く
- 左メニューから「検出結果」を選択
- フィルターで
コンプライアンスセキュリティコントロールIDにCloudFormation.4を指定し、コンプライアンスのステータスがFAILEDの検出結果を確認する

- 検出されたリソース(スタック名)を確認し、対応が必要な設定セットを特定する

ステークホルダーに確認
修復を行う前に、以下の点をステークホルダーに確認してください。
- 作成するサービスロールに、対象スタックのテンプレートで使用するAWSリソースへの必要な権限がすべて含まれているか
- サービスロールは一度スタックに関連付けると削除できないが、問題ないか
- スタックへの操作権限を持つすべてのユーザーが、このサービスロールを介してAWSリソースを操作することになる点に問題はないか
修復手順
修復は「①サービスロールの作成」と「②スタックへの関連付け」の2段階で行います。
① サービスロールを作成する
- IAMコンソールを開き、左メニューから「ロール」を選択して「ロールを作成」をクリックする

- 「AWSのサービス」を選択し、ユースケースに「CloudFormation」を選択して「次へ」をクリックする

- 許可ポリシーの画面で、対象スタックのテンプレートで使用するAWSリソースへの権限を付与するポリシーをアタッチして「次へ」をクリックする

- ロール名を入力して「ロールを作成」をクリックする

② スタックにサービスロールを関連付ける
- CloudFormationコンソールを開き、対象のスタックを選択し、 「直接更新を実行」ボタンをクリックする

-
「現在のテンプレートを使用」を選択・パラメータ設定画面はそのままとして「次へ」をクリックする
-
「スタックオプションの設定」画面の「アクセス許可」セクションで「IAMロール」に手順①で作成したロールを入力して「次へ」をクリックする

- 変更内容を確認して「送信」をクリックする
修復確認
本コントロールはスタックのサービスロール設定の設定変更時に評価されるため、サービスロールを設定後に比較的早く結果が PASSED に切り替わります。
ただし、反映されるまで数分〜数十分かかる場合があります。
まず、対象のスタックの概要から、IAMロールが設定されていることを確認します。

その後、修復後に Security Hubで検出結果が「PASSED」になることを確認します。

最後に
今回は、AWS Security HubによるAWS環境のセキュリティ状況スコアリングに該当する項目についての修正手順をご紹介しました。
コントロールを修正して、お使いのAWS環境のセキュリティをパワーアップさせましょう!
最後までお読みいただきありがとうございました!どなたかのお役に立てれば幸いです。
以上、スライマンでした!







