[アップデート]AWS CloudTrail LakeのイベントデータストアをAthenaで検索できるようになりました! #AWSreInvent

[アップデート]AWS CloudTrail LakeのイベントデータストアをAthenaで検索できるようになりました! #AWSreInvent

イベントデータストアへの検索用のテーブルにLakeFormationからアクセス制御をした上で検索できるようになりました。
Clock Icon2023.11.27

データアナリティクス事業本部 機械学習チームの鈴木です。

AWS CloudTrail LakeデータのAmazon Athenaによるzero-ETL分析というアップデートが発表されました!

アナウンスされた機能について

イベントデータストア作成時に自動で検索用のテーブルを作成し、GlueデータカタログおよびLakeFormationのテーブルをAthenaから検索できるという機能になります。

CloudTrail LakeはOrganization内の複数アカウントのイベントデータを集約してクエリ実行できるのが強みの一つで、もともとコンソールからクエリを実行する機能もついていました。

今回のアップデートにより、イベントデータストア用のテーブルの検索に対して、LakeFormationによるアクセス制御を行うことができるようになりました。LakeFormationの枠組みの中で、監査用のユーザーや集計用のジョブにきめ細かなアクセス制御を行い、データを参照してもらうことができる点が嬉しい点として挙げられると思います。

やってみた

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

まずCloudTrailの画面から、CloudTrail Lakeにアクセスしました。

イベントデータストアの作成から新しくイベントデータストアを作成しました。

CloudTrail Lakeにアクセス

ステップ1を進めていきます。

ステップ1

ページの半ばにLake query federationの欄があるのでチェックを入れて有効化しました。

Lake query federation

IAMロールを選ぶ画面が出てくるので、新しいものを作成しました。Athenaがこのロールを使ってイベントデータストアにアクセスします

IAMロール

後は管理イベントの書き込みAPIアクティビティだけを記録する設定でイベントデータストアを作成しました。

作成したイベントデータストアの画面を見ると、Lake query federationの欄で有効になっていることと、IAMロールやGlueテーブルの情報が見られました。

アタッチされたIAMロールの信頼ポリシーは以下のようになっていました。LakeFormationに対して許可を与える形となっているようでした。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "LakeFederationTrustEntity",
            "Effect": "Allow",
            "Principal": {
                "Service": "lakeformation.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "自分のアカウントID"
                }
            }
        }
    ]
}

なお、イベントデータストアを削除するときはLake query federationを無効化してからする必要がありました。

Athenaからのクエリ

Athenaを開くと、早速aws:cloudtrailというGlueデータベースが作成されていたので、その下にあるイベントデータストアのIDのテーブルに対して検索を実行しました。

今回は件数を確認し、9件あることを確認しました。

Athenaからのクエリ例

スキーマが分かりやすいようにGlueテーブルの画面から確認したスキーマは以下のようになっていました。

スキーマ

これはCloud Trailのデータのスキーマですね。

件数があっているか、イベントデータストア側でも検索してみて、9件であることを確認しました。

イベントデータストア側の件数

LakeFormationからみたテーブル

LakeFormationからもテーブルができていることを確認しました。LF-Tagなどを使ってアクセス制御ができますね。

LakeFormationテーブル

最後に

AWS CloudTrail LakeのイベントデータストアをAthenaで検索できるようになったので、設定方法と簡単な使い心地を紹介しました。

参考になりましたら幸いです。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.