IAM ユーザーを作成したところ AWS Security Hub の料金が高騰した原因を教えてください
困っていた内容
IAM ユーザーを作成したところ、Security Hub の料金が急に高くなりました。
対象の環境では IAM ユーザー以外のリソースは作成していません。
Security Hub は全リージョンで有効化しています。
Security Hub の料金が高騰した原因を教えてください。
どう対応すればいいの?
結論から述べますと、グローバルリソースである IAM に関するコントロールは、Security Hub を有効化した全てのリージョンでセキュリティチェックが実行されます(対象のコントロールがサポート外のリージョンを除く)。
そのため、セキュリティチェックが複数リージョンで重複して発生した分、Security Hub の料金が高騰したものと考えられます。
無効にする可能性のある Security Hub コントロール - AWS Security Hub
一部の AWS のサービス は、グローバルにアクセスできるリソースをサポートしています。つまり、どこからでもリソースを使用できます。AWS Config のコストを節約するために、1 つの AWS リージョン を除くすべてのグローバルリソースの記録を無効にすることができます。これを行った後、AWS Security Hub は引き続きコントロールが有効になっているすべてのリージョンでセキュリティチェックを実行し、リージョンごとにアカウントごとのチェック数に基づいて料金を請求します。したがって、Security Hub での検出結果のノイズを減らし、コストを節約するには、グローバルリソースを記録するリージョン以外のすべてのリージョンで、グローバルリソースを処理する以下のコントロールを無効にします。
IAM リソースはグローバルリソースであり、AWS Config 及び 内部的に AWS Config を利用する Security Hub では、サービスを有効化したほとんど全てのリージョンで記録されるリソースとなります。
AWS Config で記録するリソースの選択 - AWS Config
IAM ユーザー、グループ、ロール、カスタマー管理ポリシーの IAM リソースタイプでもグローバルに記録されます。ただし、これらのリソースタイプは、設定レコーダーが有効で、2022 年 1 月以前に AWS Config によってサポートされた、サポートされているすべての AWS Config リージョンでのみ記録されます。ただし、これらのリソースタイプは、アジアパシフィック (ハイデラバード)、アジアパシフィック (メルボルン)、欧州 (スペイン)、欧州 (チューリッヒ) イスラエル (テルアビブ)、および中東 (アラブ首長国連邦) ではサポートされていません。
対処方法としては、任意の 1 つのリージョンのみでグローバルリソースを対象としたコントロールを有効化し、その他のリージョンでは無効化してください。
グローバルリソースを対象としたコントロールのセキュリティチェックを 1 つのリージョンのみで実行することで、費用を抑えることができます。
対象のコントロールの一覧は下記ドキュメントをご参照ください。
無効にする可能性のある Security Hub コントロール - AWS Security Hub
参考資料
無効にする可能性のある Security Hub コントロール - AWS Security Hub
AWS Config で記録するリソースの選択 - AWS Config