メインコンテンツに移動

builders.flash

AWS Security Hub CSPM ガイドライン執筆の勘所 (CSPM上級者向け)

2026-06-02 | Author : 臼田 佳祐 (AWS Security Hero)

Missing alt text value

はじめに

こんにちは、臼田です。
みなさん、AWS のセキュリティ対策してますか ?

前回は 5 段階でマスター ! AWS Security Hub CSPM を使い始めてから使いこなすまで という記事で AWS Security Hub CSPM を理解するところから、ステップアップして AWS セキュリティを全体に適用するまでの道筋を提示しました。

今回はより上級者向けに、組織のAWS環境全体にセキュリティを展開していく際に必要な AWS Security Hub CSPM ガイドライン執筆の勘所を解説します。


X ポスト » | Facebook シェア » | はてブ »

Missing alt text value

builders.flash メールメンバー登録

builders.flash メールメンバー登録で、毎月の最新アップデート情報とともに、AWS を無料でお試しいただけるクレジットコードを受け取ることができます。

今すぐ登録 »

概要と対象者

上記 5 段階でマスター ! の記事はご覧になられましたか ?

今回はタイトルにある通り、AWS Security Hub CSPM についてある程度理解されていて、これを組織全体に展開し全体のセキュリティを向上させる立場の方向けに書いてますので、ぜひ前回記事を履修してから本記事に臨んでください !

全員で AWS をセキュアに利用していくためにはセキュリティの基準となるガイドラインの整備が必要になりますが、AWS Security Hub CSPM のスタンダード「AWS 基本的なセキュリティのベストプラクティス (AFSBP)」は 2026 年 4 月現在で 61 種類の AWS サービス、チェック項目である「コントロール」が 364 種類と大変幅広いカバレッジを有しており、この項目群をどのような方針で対応していくか検討するだけでも時間がかかります。

そのため本記事では、どのようにこの方針を立て、ガイドラインに落とし込んでいくかという話をしていきます。

というわけで対象の読者は以下のような方々です。

  • 組織の AWS のセキュリティをこれから強化していく方
  • AWS Security Hub CSPM のガイドライン執筆に悩んでいる方
  • 組織全体に AWS Security Hub CSPM の活用を浸透させたい方
  • AWS セキュリティに責任を持つ方

組織の中でバラバラになりがちなセキュリティ基準を揃えていくために、考え方を整理していきましょう。

Missing alt text value

コントロールのカテゴライズ

前述の通り 300 種類以上ある AWS Security Hub CSPM のコントロールを 1 つずつ、どのような対応方針としてガイドラインにまとめていくか考えていくのは非常に大変です。

しかし、コントロールとにらめっこしたことがある方はその多数あるコントロールの中で同じような性質のものが多いことに気づいているのではないでしょうか ? 効率的に方針を決めていくための鍵はそこにあります !

私はこれらのコントロールを下記 11 種類にカテゴライズして検討しています。

  1. 通信の暗号化
  2. 保管時の暗号化
  3. ログ取得
  4. 可用性
  5. バックアップ
  6. アクセス制御
  7. 認証情報管理
  8. 設定チェック
  9. 保護
  10. 脆弱性管理
  11. コスト最適化

Missing alt text value

カテゴリが一覧で並ぶと、「そういえばこんな種類のコントロールがあるなぁ」と感じられるのではないでしょうか ?

なお、これは AWS が行っているカテゴライズではなく、あくまで執筆者個人のプラクティスであることはご留意ください。

AWS Security Hub CSPM の User Guide では、各コントロールのカテゴリとして NIST CSF をベースとした分類を行っています。

例えば、「[EC2.19] セキュリティグループは、リスクの高いポートへの無制限アクセスを許可してはいけません」では「保護 > 制限付きネットワークアクセス」、「[S3.11] S3 汎用バケットでは、イベント通知を有効にする必要があります」では「識別 > ログ記録」、「[AutoScaling.6] Auto Scaling グループは、複数のアベイラビリティーゾーンで複数のインスタンスタイプを使用する必要があります」では「リカバリー > 耐障害性 > 高可用性」などといった内容です。

Missing alt text value

これらの NIST CSF ベースのカテゴリは詳細な内容を把握するために活用できますが、対応方針を検討するうえで活用しようとするとやや細かいため、もう少しライトな分類を行うことが好ましいと私は考えています。

大事なことは、いずれのカテゴライズでも目的にあった使い方ができるようにすることです。今回の場合は各 AWS Security Hub CSPM のコントロールの対応方針を決めていくために分類していくため、最終的に自分たちの組織でそのカテゴリーが識別しやすく扱いやすい状態になっていることが好ましいです。私の提示したカテゴライズと、User Guide のカテゴライズ、2つを参考に、自分たちの組織ではどのような粒度で分類するとよいか、検討してみましょう。


カテゴリーとコントロールごとの対応方針検討の勘所

コントロールをカテゴライズして大別できれば、大きく対応方針を決めていくことが可能です。私はこのカテゴリを大きく 2 つの環境に対して当てはめていきます。1 つは「本番環境」でもう 1 つは「本番以外の環境」です。

先程私が示したカテゴリーでは、「可用性」「ログ取得」「バックアップ」は「本番以外の環境」では必須ではありません。これはイメージが付きやすいのではないでしょうか ? 実際に開発環境などではこれらにまつわる設定は有効にしないと判断するケースが多いと感じられると思います。

この 3 つのカテゴリーは主にコストとトレードオフになります。従って、「本番以外の環境」ではコストを優先するケースを考慮して必須ではないという考え方になります。

Missing alt text value

逆に、「通信の暗号化」「保管時の暗号化」「アクセス制御」「認証情報管理」「保護」「脆弱性管理」は「本番以外の環境」でも必須です。これらは殆どの場合、セキュリティやガバナンスのために必須のコントロールであり、直接的にコストとトレードオフすべきではありません。

この環境の分類は組織の状態に合わせてもっと種類を増やしてもよいでしょう。

そしてコントロールのカテゴリーと環境の種類に合わせて、各コントロールの具体的な対応方針を決めていきます。

対応方針として、ここでは以下 3 種類としました。

  • 対応必須
    - どのような場合でも必須なもの
    - あるいは組織全体のセキュリティガバナンスとして管理したいもの

  • 通知のみ
    - 知っておいた方が良いが、組織全体のセキュリティガバナンスとしての管理が不要なもの
    - あるいは可用性要件など、本番環境では必須になるが本番環境以外の場合など

  • 無効化
    - セキュリティの管理として必要ない、あるいは運用負荷が高いなど邪魔になると判断したもの

これももっと細かく定義してもよいですが、まずこのくらいの内容から決めていきましょう。

残りの「設定チェック」「コスト最適化」はかなりケースバイケースなのでカテゴリ単位では必須かどうかは定めません。

組織の体制により、全体のセキュリティガバナンスを定義する立場と、実環境の設定運用を行う立場以外にも様々な役割がステークホルダーに存在するため、取りうる対応方針も合わせて検討しましょう。


 

可用性の要件

例えば「可用性」の要件も、誰がどこまで責任を持って対応すべきか、組織の体制により変わります。全体のガバナンスを管理する中で「可用性」の管理を扱わない場合、これに関わるコントロールは一律無効化するという選択肢もありますし、事業部門のオーナーから要請を受けてその部門の AWS アカウントであれば「可用性」も対応必須の扱いとするなどの柔軟性を提供する方針を取ることもできます。カテゴリーごとの責任範囲も意識すると検討しやすくなります。

Missing alt text value

カテゴリごとの対応方針例

実際に私のカテゴライズの場合の、カテゴリーごとの基本的な対応方針や実際にそれに当たるコントロールの例・例外コントロールの例を提示します。これも 1 つの例として参考にしつつも、自分たちの組織に合うより適切なカテゴリーや対応方針が無いか検討してみてください。

最終的にはコントロールごとに、AWSサービスや機能の性質・組織やワークロードの特性などを考慮しながら調整する必要はありますが、カテゴリごとの基本方針が固まると今後新しく追加されるコントロールに対する方針決めも含めてスムーズに検討できます。

1. 通信の暗号化

基本方針

  • TLS 利用のチェック項目ですべての環境で基本必須
  • Amazon VPC の内部だけの通信でも簡単に TLS 利用できる事がほとんどのため必須とする

対応方針に盛り込むべき事項

  • 暗号化される経路・レイヤー・プロトコル
  • 利用する鍵・証明書の種類と管理方法・コスト

コントロール例

  • [CloudFront.3] CloudFront のディストリビューションでは、トランジット時に暗号化が必要です
  • [S3.5] S3 汎用バケットでは、SSL を使用するリクエストが必要です

例外コントロール例

  • [APIGateway.2] API Gateway REST API ステージでは、バックエンド認証に SSL 証明書を使用するように設定する必要があります

    ー これはクライアント証明書が必要となり設定のためのコストが高いため任意でよい

2. 保管時の暗号化

基本方針

  • 特に保護の必要があるデータを扱う本番環境では必須
  • データの保護は責任共有モデル上すべてユーザーの責任なのですべてを暗号化することが基本
  • AWS 所有キーや AWS 管理キーを利用できない場合、コストに係るためその場合は要検討

対応方針に盛り込むべき事項

  • 暗号化される対象・レイヤー
  • 利用する鍵の種類・コスト

コントロール例

  • [EC2.3] アタッチされた EBS ボリュームは、保管時に暗号化する必要があります
  • [CloudTrail.2] CloudTrail では、保管時の暗号化を有効にする必要があります

例外コントロール例

  • [EKS.3] EKS クラスターは暗号化された Kubernetes シークレットを使用する必要があります

    ー これは Amazon EBS 側で暗号化できている上、追加コストがかかるため任意

3. ログ取得

基本方針

  • 本番環境では必須、開発環境などでも活用したいものも多いが任意とする
  • 他のログで代替できるものは任意とする
  • ガバナンスとして必須のログはすべての環境で必須

対応方針に盛り込むべき事項

  • ログ種別
  • ログの内容
  • ログの出力先の選択肢
  • ログ出力のコスト
  • ログの代替可能性

コントロール例

  • [CloudTrail.1] CloudTrail を有効にして、少なくとも 1 つのマルチリージョンの追跡で、読み取りと書き込みの管理イベントを含めた設定をする必要があります
  • [ELB.5] Application/Classic Load Balancer のロギングを有効にする必要があります

例外コントロール例

  • [CloudTrail.5] CloudTrail のトレイルは、Amazon CloudWatch Logs と統合されるべきです

    ー これはやらなくてよい。Amazon S3 に保存できてさえいればコスパがよく使える

4. 可用性

基本方針

  • 本番環境では必須、それ以外は任意
  • 本番環境でもリソースにより任意とする
  • 可用性を全体のガバナンス対応のスコープから外して考える場合はチェックしなくても OK

対応方針に盛り込むべき事項

  • どのレベルの可用性向上か
  • コスト

コントロール例

  • [AutoScaling.2] EC2 Auto Scaling グループは複数のアベイラビリティーゾーンにまたがって配置される必要があります

例外コントロール例

  • [DynamoDB.1] DynamoDB のテーブルは、需要に応じて自動的に容量をスケールする必要があります

    ー これは任意
    ー アプリケーションの思想にかなり依存するため

5. バックアップ

基本方針

  • 本番環境では必須、それ以外は任意
  • 組織やシステムの BCDR とも足並みを揃える

対応方針に盛り込むべき事項

  • バックアップの種類
  • 保持期間
  • 復旧方法
  • コスト

コントロール例

  • [RDS.11] RDS インスタンスの自動バックアップは有効にする必要があります
  • [DynamoDB.2] DynamoDB テーブルはポイントインタイムリカバリーを有効にしておく必要があります

例外コントロール例

  • [Kinesis.3] Kinesis ストリームは適切なデータ保持期間が必要です

    ー これは必要ない。一時的なデータの保持期間であるため

6. アクセス制御

基本方針

  • すべての環境で必須
  • パブリックインターネットからのアクセスを制限したり認証が必要な操作に関する制限

対応方針に盛り込むべき事項

  • どういう性質のアクセス制御か
  • ベストプラクティスは何か

コントロール例

  • [EC2.19] セキュリティグループは、リスクの高いポートへの無制限のアクセスを許可してはならない
  • [RDS.1] RDS スナップショットはプライベートにする必要があります

例外コントロール例

  • [EC2.21] ネットワーク ACL は 0.0.0.0/0 からポート 22 または 3389 へのインバウンド許可ルールを追加してはいけない

    ー これは Security Group と 2 重管理になりやすく煩雑な運用になるため任意

7. 認証情報管理

基本方針

  • すべての環境で必須
  • 運用コストが上がるものは任意とする

対応方針に盛り込むべき事項

  • 認証情報の種類と保管方法
  • ベストプラクティスは何か

コントロール例

  • [ECS.8] シークレットはコンテナ環境変数へ渡すべきではない

例外コントロール例

  • [SecretsManager.1] Secrets Manager のシークレットでは、自動ローテーションを有効にする必要があります

    ー これは任意
    ー Amazon RDS などネイティブに連携できるものはやってよいが、うまく自動ローテーションできないものも多いため

8. 設定チェック

基本方針

  • 基本全て必須だが、項目ごとの重要度の違いが激しい
  • AWS のサービスや機能固有の、知らないとハマりやすい設定などが対象

対応方針に盛り込むべき事項

  • 個別の設定の詳細説明

コントロール例

  • [AutoScaling.3] Auto Scaling グループは、EC2 インスタンスが Instance Metadata Service Version 2 (IMDSv2) を必要とするように設定すべき
  • [CloudFront.13] CloudFront のディストリビューションは Origin Access Control (OAC) を使用する必要があります

例外コントロール例

  • [EC2.17] EC2 インスタンスは複数の ENI を使用してはならない

    ー これは任意。かなり要件に依存するため

9. 保護

基本方針

  • すべての環境で必須
  • 環境の保護に必要なサービスや機能の有効化が対象

対応方針に盛り込むべき事項

  • 設定の必要性とリスク

コントロール例

  • [GuardDuty.1] GuardDuty を有効にする必要があります
  • [CloudFront.6] CloudFront のディストリビューションは AWS WAF を有効にする必要があります

例外コントロール例

  • [KMS.3] AWS KMS のキーは意図せずに削除してはいけない

    ー これは通知は受け取るべきだが基本対応の必要がない珍しい用途のコントロール

10. 脆弱性管理

基本方針

  • 基本全て必須だが、脆弱性の更新を含む内容は慎重に扱う必要がある

対応方針に盛り込むべき事項

  • 対応する場合の環境影響

コントロール例

  • [RDS.13] RDS のマイナーバージョンの自動アップグレードが有効であること
  • アプリケーションに影響がある動作のため慎重に扱う必要がある

例外コントロール例

  • [Inspector.1] Amazon Inspector EC2 スキャンを有効にする必要があります

    ー サーバー上の OS/ミドルウェアの脆弱性管理のツールは Amazon Inspector 以外の選択肢もあるので、組織の方針に合わせる

11. コスト最適化

基本方針

  • ガバナンスとしては重要ではないが、単にメリットがあるためついでに必須の対応としてもよい
  • 対象のリソースによっては極力実施したほうが良いものもある

対応方針に盛り込むべき事項

  • コスト削減効果
  • 考慮すべき環境影響

コントロール例

  • [EC2.4] 停止した EC2 インスタンスは、指定した期間後に削除する必要があります
  • [ECR.3] ECR リポジトリに少なくとも 1 つのライフサイクルポリシーが設定されている必要があります

例外コントロール例

  • [S3.13] S3 汎用バケットにはライフサイクル設定が必要です

    ー ライフサイクル設定を行う場合、データの要件を整理してから行う

ガイドラインに盛り込む内容

各コントロールごとに詳細な内容を記載していく場合、基本方針をベースに、「対応方針に盛り込むべき事項」にあるような該当 AWS サービスやコントロールに関する機能や設定固有の情報を付加していきます。

あまり深く考えずとも対応が必須である項目は、迷いようが無いためその必要性の強さのみテキストに落とし込めばよいですが、全体で決まった対応が示せない環境ごとに判断が分かれるコントロールはより丁寧な説明が必要です。

「可用性」「ログ取得」「バックアップ」はすべての環境で必須対応では無い分、利用者側での判断が多くなるためこの対象です。例えば「ログ取得」のコントロールでは、そのログでどのような情報が取得でき、どのように役立つかを説明したり、他のログでどこまで代替が効くか、ログの保存先として何が選択できるのか、コスト感や有用性とのバランスがどうなのかなど、最終的に対応するかを決定するための材料が沢山求められます。最初からすべてを盛り込むのは大変ですので、ステークホルダーと対話しながら逐次拡充していきましょう。

暗号化関連では KMS キーを利用する場合など、追加のコストがかかるかどうかは大事な判断基準の 1 つです。また、パフォーマンス影響や設定管理の難易度も合わせて盛り込むと良いです。

方針を決めていく中で絶対に禁止したい操作は AWS Organizations の SCP や Automated Security Response on AWS を利用して、操作のブロックや自動修復ができます。これらは非常に強力な強制力を働かせることができますので、導入や合意形成は大変ですが推進する価値があります。導入する際にはガイドラインに、禁止される理由や代替手法 (ベストプラクティス) を盛り込んでおきましょう。

そして、運用中には必ず例外も発生します。可能な限り例外の判断基準や代替のアプローチなども盛り込んでおきましょう。例えば「[EC2.8] EC2 インスタンスでは、Instance Metadata Service Version 2 (IMDSv2) を使用する必要があります」では IMDSv2 を必須とするコントロールですが、Amazon EC2 上でレガシーアプリケーションを稼働させ続けるために例外として受け入れる場合が考えられます。その際には、該当 EC2 への外部からのネットワーク的なアクセス経路が存在しないことや、アタッチされた IAM Role が最小権限でありかつ重要データにアクセスしない場合に限る、など前後のリスクに対する対策を条件に盛り込みましょう。


 

まとめ

AWS Security Hub CSPM のガイドライン執筆は簡単ではありませんし組織ごとに考え方が変わるため 1 つの決まった形もありません。しかし今回説明したように共通する勘所はあります。

300 種類以上あるコントロールを 1 つずつ検討するのは大変ですが、カテゴライズして基本方針を決めていくところから始めれば、意外と怖くありません。そして詳細な内容を詰めていくときは、1 人で行わずステークホルダーと会話し合意形成をしながらブラッシュアップしていきましょう。 

筆者プロフィール

臼田佳祐
クラスメソッド株式会社
クラウド事業本部サービス開発室 シニアソリューションアーキテクト

クラスメソッド株式会社で AWS とセキュリティに関する様々な活動を行っていて、最近ではセキュリティサービスの開発に注力。社外では Security-JAWS の運営を実施。Amazon GuardDuty を始め、AWS Security Hub や Amazon Detective などの AWS のセキュリティサービスを愛するエンジニア。CISSP。AWS Security Hero (2023~)

Missing alt text value