翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS ソースバージョン 1 の Security Lake クエリ (OCSF 1.0.0-rc.2)
次のセクションでは、Security Lake からのデータのクエリに関するガイダンスを提供し、 AWS ソースバージョン 1 のネイティブにサポートされている AWS ソースのクエリ例をいくつか示します。これらのクエリは、特定の のデータを取得するように設計されています AWS リージョン。これらの例では us-east-1 (米国東部 (バージニア北部)) を使用しています。さらに、サンプルクエリでは最大 25件のレコードを返すLIMIT 25パラメータを使用しています。このパラメーターは省略することも、好みに応じて調整することもできます。その他の例については、Amazon Security Lake OCSF Queries GitHub ディレクトリ
次のクエリには、クエリが設定された保持設定内であることを確認するeventDayために を使用する時間ベースのフィルターが含まれています。詳細については、「Querying data with retention settings」を参照してください。
例えば、60 日以上経過したデータの有効期限が切れている場合、クエリには有効期限が切れたデータにアクセスできないように時間制約を含める必要があります。60 日間の保持期間については、クエリに次の句を含めます。
... WHERE eventDay BETWEEN cast(date_format(current_date - INTERVAL '59' day, '%Y%m%d') AS varchar) AND cast(date_format(current_date, '%Y%m%d') AS varchar) ...
この句は、Amazon S3 と Apache Iceberg 間のデータまたは時間の重複を避けるために 59 日 (60 日ではなく) を使用します。
ログソーステーブル
Security Lake データをクエリするときは、データが存在する Lake Formation テーブルの名前を含める必要があります。
SELECT * FROM amazon_security_lake_glue_db_DB_Region.amazon_security_lake_table_DB_Region_SECURITY_LAKE_TABLEWHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT25
ログソーステーブルの一般的な値には次のようなものがあります。
cloud_trail_mgmt_1_0– AWS CloudTrail 管理イベントlambda_execution_1_0— Lambda CloudTrail データイベントs3_data_1_0- S3 CloudTrail データイベントroute53_1_0- Amazon Route 53 Resolver クエリログsh_findings_1_0–検出 AWS Security Hub 結果vpc_flow_1_0- Amazon Virtual Private Cloud (Amazon VPC) フローログ
例:us-east-1 リージョンのテーブルsh_findings_1_0内のすべてのSecurity Hub 結果
SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_sh_findings_1_0WHERE eventDay BETWEEN cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '0' day, '%Y%m%d%H') as varchar) LIMIT25
データベースリージョン
Security Lake データをクエリするときは、データのクエリ元のデータベースリージョンの名前を含める必要があります。Security Lakeが現在利用可能なデータベースリージョンの全リストについては、「Amazon Security Lake エンドポイント」を参照してください。
例: ソース IP からの AWS CloudTrail アクティビティを一覧表示する
次の例では、 us-east-1DB_Regionのテーブル cloud_trail_mgmt_1_0 に、20230301 (2023 年 3 月 1 日) 以降に記録されたソース IP 192.0.2.1 からのすべての CloudTrail アクティビティをリストします。
SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0WHERE eventDay > '20230301' AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc LIMIT25
パーティション日付
データをパーティションすることで、各クエリによってスキャンされるデータの量を制限できるようになるため、パフォーマンスが向上し、コストが削減されます。Security Lake はeventDay、region、accountidパラメータを通じて、パーティショニングを実装します。 eventDayパーティションではYYYYMMDD形式を使用します。
これはeventDayパーティションを使ったクエリの例です。
SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay > '20230301' AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc
eventDayの一般的な値は次の通りです。
- 過去 1 年間に発生したイベント
-
> cast(date_format(current_timestamp - INTERVAL '1' year, '%Y%m%d%H') as varchar) - 過去 1 か月に発生したイベント
-
> cast(date_format(current_timestamp - INTERVAL '1' month, '%Y%m%d%H') as varchar) - 過去 30 日間に発生したイベント
-
> cast(date_format(current_timestamp - INTERVAL '30' day, '%Y%m%d%H') as varchar) - 過去 12 時間に発生したイベント
-
> cast(date_format(current_timestamp - INTERVAL '12' hour, '%Y%m%d%H') as varchar) - 過去 5 分間に発生したイベント
-
> cast(date_format(current_timestamp - INTERVAL '5' minute, '%Y%m%d%H') as varchar) - 7 ~ 14 日前に発生したイベント
-
BETWEEN cast(date_format(current_timestamp - INTERVAL '14' day, '%Y%m%d%H') as varchar) and cast(date_format(current_timestamp - INTERVAL '7' day, '%Y%m%d%H') as varchar) - 特定の日付以降に発生するイベント
-
>= '20230301'
例:2023 年 3 月 1 日以降のソース IP192.0.2.1 からのすべての CloudTrail アクティビティのリスト (表) cloud_trail_mgmt_1_0
SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay >= '20230301' AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc LIMIT 25
例: テーブル cloud_trail_mgmt_1_0 内の過去 30 日間のソース IP 192.0.2.1 からのすべての CloudTrail アクティビティのリスト
SELECT * FROM amazon_security_lake_glue_db_us_east_1.amazon_security_lake_table_us_east_1_cloud_trail_mgmt_1_0 WHERE eventDay > cast(date_format(current_timestamp - INTERVAL '30' day, '%Y%m%d%H') as varchar) AND src_endpoint.ip = '192.0.2.1' ORDER BY time desc LIMIT 25