yuj1osm's tech blog

クラウドやセキュリティなど

AWS CloudTrail LakeにAWS Configの情報を取り込めるようになりました

AWS CloudTrail LakeにAWS Configの情報を取り込めるようになったので、検証してみました。

aws.amazon.com

アップデート概要

AWS CloudTrail Lake は、CloudTrailログを取り込むことでSQLベースの分析を可能にします。
今回のアップデートで、Configの設定項目情報も取り込めるようになりました。
CloudTrailはユーザベースの調査を可能にする一方、Configはリソースベースの調査を可能にするため、これらを統合して分析することが可能です。

検証

イベントデータストアの作成

CloudTrail Lakeの画面から、「イベントストアの作成」を押下します。

イベントデータストアに適当な名前を付けます。

イベントタイプは「設定項目」を選択します。

内容を確認し作成します。

イベントデータストアが作成されました。

Config設定項目情報の検索

セキュリティグループ「test-sg」を作成します。

CloudTrail Lakeで以下のクエリを使って検索すると、作成したセキュリティグループに関する情報を得ることができました。

クエリ

SELECT
    eventTime, eventData.configuration, eventData.resourceId, eventData.resourceName, eventData.resourceType
FROM
    <config-event-data-store-id>
WHERE
    eventTime > '2022-12-02 16:00:00' AND eventTime < '2022-12-02 17:00:00' AND eventData.resourceName = 'test-sg'
ORDER
    BY eventTime DESC;

2つのイベントデータストアを統合して検索

事前にCloudTrail用のイベントデータストアを作成しておきます。

今度はセキュリティグループ「test2-sg」を作成します。
以下のクエリにより、CloudTrail用のイベントデータストアをとConfig設定項目情報用のイベントデータストアを統合して検索できます。
結果を見ると、CloudTrailとConfigの両方の情報が得られていることが分かります。

クエリ

SELECT
    config.eventTime, config.eventData.configuration, config.eventData.resourceId, config.eventData.resourceName, config.eventData.resourceType, userIdentity.username, trail.eventName, trail.eventSource
FROM
    <config-event-data-store-id> AS config JOIN <trail-event-data-store-id> AS trail ON config.eventData.resourceName = element_at(trail.requestParameters, 'groupName') 
WHERE
    config.eventTime > '2022-12-02 17:00:00' AND config.eventTime < '2022-12-02 18:00:00'
ORDER
    BY config.eventTime DESC;

まとめ

AWS CloudTrail LakeにAWS Configの設定項目情報を簡単に取り込み、検索することができました。
さらに、CloudTrailとConfigを統合して検索することができ、分析がしやすくなったのではないかと思います。