CloudWatch Unified Data Store を使用したセキュリティ可視性ダッシュボード
Amazon CloudWatch 統合データストア は、個々のロググループ名を知らなくても、AWS サービス全体のログデータを検出、整理、クエリするための一元的な方法を提供します。これを実現するために、CloudWatch 統合データストアはファセット を使用します。ファセットとは、CloudWatch がインタラクティブなフィルタリング、グループ化、分析のために表示するログデータのフィールドです。デフォルトのファセット(例えば @data_source_name, @data_source_type、および @data_format は、設定不要ですべての Standard ログクラスのロググループで自動的に利用可能です。CloudWatch Logs Insights コンソールでは、ファセット値を選択してデータを視覚的に探索したり、クエリ内で参照して検索範囲を一致するロググループとイベントのみに効率的に絞り込んだりすることができます。
これらのファセットを通じて、CloudWatch はログをその発生元のデータソース(AWS CloudTrail や Amazon VPC Flow Logs など)によって自動的に分類するため、ロググループ全体にわたるすべての CloudTrail または VPC Flow Log のログデータをクエリできます。 @data_source_name ファセットは、ロググループの数や名 前に関係なく適用されます。
CloudWatch クロスアカウントクロスリージョンログ集約を使用することで、その基盤の上にセキュリティ分析を構築できます。このガイドでは、AWS CloudFormation を通じてサンプルのビルド済みCloudWatch ダッシュボードをデプロイする手順を説明します。このダッシュボードは CloudWatch データソースを活用して、CloudTrail および VPC Flow Logs のアクティビティをほぼリアルタイムで可視化します。また、各ウィジェットが提供する情報と、セキュリティモニタリング、インシデント調査、コンプライアンスの可視化にダッシュボードを活用する方法についても説明します。
このダッシュボードが重要な理由
セキュリティチームは、AWS アカウント全体の API アクティビティとネットワークトラフィックに対して、一元化されたほぼリアルタイムの可視性を必要としています。一元化されたダッシュボードがなければ、チームは複数のロググループにわたってクエリを手動で実行し、CloudTrail と VPC Flow Logs 間のデータを相関させ、分散したソースからセキュリティコンテキストを組み合わせなければなりません。
こ のダッシュボードは、いくつかの重要な課題に対応しています。
- ロググループ名への依存なし:
SOURCE logGroups() | filterIndex @data_source_nameを使用して、アカウント内のロググループの名前に関係なく、CloudWatch Unified Data Store のデフォルトファセットを通じて CloudTrail と VPC Flow Logs を動的に検出します。 - デュアルフォーマットのサポート: ログフォーマットの設定に基づいて、Standard(ネイティブ AWS フィールド名)または OCSF(Open Cybersecurity Schema Framework)バージョンのダッシュボードをデプロイします。
- クロスサービスの相関: CloudTrail API アクティビティと VPC Flow Log ネットワークデータを並べて表示し、セキュリティイベントを視覚的に関連付けます。
- アカウント間での移植性: 同じ CloudFormation テンプレートが、CloudTrail と VPC Flow Logs を CloudWatch Logs に送信しているすべてのアカウントで動作し、ロググループ名のパラメータ変更は不要です。
前提条件
デプロイする前に、アカウントに必要なデータソースが利用可能であることを確認してください。
aws logs list-aggregate-log-group-summaries --group-by DATA_SOURCE_NAME_AND_TYPE
出力に aws_cloudtrail および amazon_vpc のエントリが表示されるはずです。これらが欠けている場合は、以下を確認してください。
- CloudTrail は、CloudWatch Logs にログを配信するように設定されています。
- VPC Flow Logs は、少なくとも 1 つの VPC に対して CloudWatch Logs に配信するように設定されています。
ダッシュボードのデプロイ
- CloudWatch_Dashboard_CloudTrail_VPC.yaml テンプレートをダウンロードします。
- CloudFormation → スタックの作成 → 新しいリソースを使用 に移動します。
CloudWatch_Dashboard_CloudTrail_VPC.yamlテンプレートをアップロードします。- パラメータを設定します。
- DashboardName: ダッシュボードの名前(デフォルト:
CloudTrail-VPC-Dashboard)。 - LogFormat: ネイティブの AWS CloudTrail/VPC Flow Log フィールド名の場合は
Standardを、Open Cybersecurity Schema Framework の正規化フィールドの場合はOCSFを選択します。
- DashboardName: ダッシュボードの名前(デフォルト:
- スタックを確認して作成します。
CloudFormation パラメータ
| パラメータ | デフォルト | 説明 |
|---|---|---|
DashboardName | CloudTrail-VPC-Dashboard | CloudWatch ダッシュボードの名前 |
LogFormat | Standard | Standard(ネイティブ AWS フィールド)または OCSF(正規化スキーマ) |