[アップデート]Amazon Security Lakeが大阪リージョンで利用できるようになりました

Amazon Security Lakeが大阪リージョンで利用開始されたので、大阪リージョンでサービスを有効化し出力されたログを確認してみました。
2023.10.31

みなさん、こんにちは。

明るい笑顔がトレードマーク、ルイボスティーが大好きな芦沢(@ashi_ssan)です。

以下のアップデートによって、Amazon Security Lakeが大阪リージョンで利用可能になりました。

せっかくなので、大阪リージョンにやってきたSecurity Lakeを触ってみました。

やってみた

AWSマネジメントコンソールのSecurity Lake > リージョンよりリージョンを追加をクリック。この検証環境では既に東京リージョンとバージニア北部リージョンでサービスが有効化されていいます。

ログとイベントソースで指定する収集対象のログは、CloudTrail - 管理イベントを選択します。

リージョンを選択欄にアジアパシフィック (大阪) ap-northeast-3が追加されていますね。チェックボックスを埋めて、次の画面に進めていきます。

ロールアップリージョンにアジアパシフィック 東京を指定し、提供元リージョンにアジアパシフィック (大阪)を指定します。

これにより大阪リージョンのログが複製され、東京リージョンのS3バケットにも保存されます。

またこの環境は検証用途なので、長期のログの保存期間は不要なので10日間でログを失効させるライフサイクルのオプションを指定します。本番環境ではログの保存要件に沿った設定をしてください。

そのまま画面に沿って進めていくと、大阪リージョンが追加されました。

設定完了後、10分ほど待つと大阪リージョンのS3バケット(aws-security-data-lake-ap-northeast-3-xxxxxxxxxxxxxxxxxxx)にログが反映されます。

ご覧の通り、aws-security-data-lake-ap-northeast-3-xxxxxxxxxxxxxxxxxxx / aws / CLOUD_TRAIL_MGMT / 1.0 の配下にap-northeast-3(大阪)リージョンのみが出力されています。

より深いパス(〜/accountid=123456789012/eventDay=YYYYMMDD/)までチェックすると、しっかりとparquet形式のログが出力されていました。

続いて、東京リージョンのS3(aws-security-data-lake-ap-northeast-1-xxxxxxxxxxxxxxxxxxx)を確認してみます。

この環境では東京リージョンにバージニア北部および大阪リージョンのログをロールアップしているので、東京リージョンのS3にはその2つのリージョンのログが集約されます。3つのリージョンのディレクトリが作成されていることが確認できました。

最後に、ログをAthenaでクエリしてみます。

Security Lakeのログを調査できるサンプルクエリは、Security Lake queries - Amazon Security Lakeで確認できます。

サンプルクエリを参考に、「東京リージョンのS3バケットに保存されたCloudTrailログから、指定したソースIPアドレス(例では192.0.2.122)から直近7日以内に実行されたCloudTrailアクティビティのリスト」を表示させるクエリを作成しました。

SELECT
  actor.user.uuid,
  time, 
  api.service.name, 
  api.operation, 
  cloud.region, 
  src_endpoint.ip, 
  http_request.user_agent
FROM "amazon_security_lake_glue_db_ap_northeast_1"."amazon_security_lake_table_ap_northeast_1_cloud_trail_mgmt_1_0"
WHERE 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)
AND src_endpoint.ip = '192.0.2.122'
ORDER BY time desc
LIMIT 25

こちらをAthenaコンソールから実行します。(クエリ内の192.0.2.122は自宅のIPに変更しています)

結果は以下の通り、緑枠のregionに表示されているように東京リージョンのS3にロールアップしたus-east-1(バージニア北部)のログも表示されていることがわかります。

大阪リージョンが出てこないのは寂しいので、WHERE句にAND cloud.region = 'ap-northeast-3'を追加してみました。

SELECT
  actor.user.uuid,
  time, 
  api.service.name, 
  api.operation, 
  cloud.region, 
  src_endpoint.ip, 
  http_request.user_agent
FROM "amazon_security_lake_glue_db_ap_northeast_1"."amazon_security_lake_table_ap_northeast_1_cloud_trail_mgmt_1_0"
WHERE 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)
AND src_endpoint.ip = '192.0.2.122'
AND cloud.region = 'ap-northeast-3'
ORDER BY time desc
LIMIT 25

結果は以下で、無事大阪リージョンのログも表示できました。

最後に

Amazon Secuirty Lakeが大阪リージョンで利用できるようになったので、実際に大阪リージョンでサービスを有効化させてみました。

今回のアップデートによって、大阪リージョンで取得したセキュリティログを東京リージョン同様にSecurity Lakeで一元的に管理できるようになります。大阪リージョンのセキュリティログの集約に活用ください。

また、Security Lakeのロールアップリージョンを指定すると、大阪リージョンを含めた複数リージョンのログを指定したリージョンのS3(データレイク)にまとめて管理・分析できます。ログ分析の効率化に役立つはずです。

以上、芦沢(@ashi_ssan)でした。