Amazon Security Lakeは、データをOCSFスキーマのParquetファイルとしてS3に保存しますので、直接ダウンロードすることはありません。それをクエリします。Amazon Athenaを使用してUNLOADステートメントとformat = ‘JSON’を使用します: Athenaは結果をJSON行としてあなたが選ぶS3プレフィックスに書き込み、あなたはそれをダウンロードします。Security Lakeのテーブルは、region名が付いたamazon_security_lake_glue_db_<region>という名のGlueデータベースにあり、ソースごとに1つのテーブルがあります。
Security Lakeは、CloudTrail、VPCフローログ、Route 53、Security Hubの発見、EKS監査ログ、そして他社のソースを一つの正規化フォーマットで中央管理します。Prime Coreは676のMITRE ATT&CK技術に対応する24,000以上のユニークな検出規則を持っています。以下では、データを取得し、サニタイズし、LogTotalで無料で調査する方法を説明します。
開始する前に
クエリアクセス。 Security Lakeの委任管理者アカウント、またはクエリアクセスを持つサブスクライバーを使用してください。アクセスはLake Formationによって管理されているため、テーブルに対するSELECTが必要で、さらにAthenaの権限とエクスポートするS3バケットへの書き込みアクセスが必要です。
テーブルを見つける。 Athenaで、あなたの地域のデータベースを開きます。テーブル名はamazon_security_lake_table_<region>_<source>_<version>というパターンに従います。例えば、amazon_security_lake_table_eu_west_1_cloud_trail_mgmt_2_0です。地域にはアンダースコアが使用されます。
パーティションはコストを抑えます。 テーブルは地域、accountid、eventday (YYYYMMDD)でパーティション化されています。Athenaの料金はスキャンしたデータ量に基づくため、常にeventdayでフィルタリングしてください。
Athena UNLOADでエクスポート
Athenaコンソールで、またはaws athena start-query-executionを使用して:
UNLOAD (
SELECT *
FROM amazon_security_lake_glue_db_eu_west_1.amazon_security_lake_table_eu_west_1_cloud_trail_mgmt_2_0
WHERE eventday = '20261019'
AND accountid = '123456789012'
)
TO 's3://my-athena-exports/security-lake/ct-20261019/'
WITH (format = 'JSON', compression = 'NONE')
ターゲットプレフィックスは空である必要があります。クエリが成功したら、ファイルをダウンロードして結合します:
aws s3 cp s3://my-athena-exports/security-lake/ct-20261019/ ./ct-20261019/ --recursive
cat ./ct-20261019/* > securitylake_ct_20261019.jsonl
各行は1つのOCSFイベントです。さらに絞り込むには、api.operation、actor.user.uid、src_endpoint.ipなどのOCSFフィールドでフィルタリングします。
LogTotalにアップロードして、サニタイズし、レビューする
- アップロード。 開く logtotal.com と.jsonlファイルをドロップします。
- サニタイズ。
- レビュー。
問題が発生した場合
| 症状 | 考えられる原因 | Fix |
|---|---|---|
| Lake Formationの権限が不十分 | テーブルに対するSELECTの許可がない | Lake Formationの許可をSecurity Lake管理者に依頼してください |
| テーブルが見つかりません | データベースまたはテーブル名が間違った地域である | アンダースコアを使用します: eu_west_1 |
| HIVE_PATH_ALREADY_EXISTSまたは類似のエラー | ターゲットプレフィックスが空ではない | 新しい空のプレフィックスを使用する |
| 膨大なスキャンコスト | eventdayフィルタがない | 常にパーティションでフィルタリングする |
| ファイルがgzip圧縮されている | 圧縮がデフォルトのままである | compression = ‘NONE’を設定するか、zcatを使用する |
FAQ
Parquetファイルを直接読むことはできますか?
Parquetを読むツールを使って読むことはできますが、Athenaはスキーマとパーティションを処理します。LogTotal用には、UNLOADからのJSON行が最もシンプルな方法です。
OCSFは生のCloudTrailと同じですか?
いいえ。Security LakeはイベントをOCSFに正規化しているため、フィールド名は元のソースとは異なります。