Amazon Web Services ブログ

AWS CloudTrail Lake の発表 – 監査とセキュリティのためのマネージドデータレイク

本ブログ記事は Announcing AWS CloudTrail Lake – a managed audit and security Lake(記事公開日:2022 年 1 月 5 日)を翻訳したものです。一部更新・加筆しています。

AWS のクラウドインフラストラクチャを管理する組織は、セキュリティとコンプライアンスを維持するために AWS アカウントの運用を監査する効果的なメカニズムを必要としています。2013 年 11 月、AWS の監査プラットフォームとして AWS CloudTrail が発表されました。それ以来、何百万ものお客様がこのサービスを採用しています。私たちは、CloudTrailがAWSのお客様の成功にとって非常に重要であると考えており、新しく作成されるすべてのAWSアカウントに90日間の無料トライアルが含まれています。また、より長いデータ保持を可能にし、複数のチームが利用できるようにするため、証跡の統合コピーをお客様に提供します。

本日、AWS CloudTrail Lake の一般提供開始を発表できることを嬉しく思います。AWS CloudTrail Lake は、組織が CloudTrail によって記録されたイベントを集約・イミュータブルに保存・クエリすることで、監査、セキュリティ調査、運用上のトラブルシューティングを行うことができるマネージドデータレイクです。この新しいプラットフォームは、分析とクエリの収集、保存、準備、最適化を同じ製品に統合することにより、 CloudTrail 分析ワークフローを簡素化します。これにより、 CloudTrail イベントを分析するために、チームや製品にまたがる個別のデータ処理パイプラインを維持する必要がなくなります。

CloudTrail Lake では、使い慣れた SQL を使用して CloudTrail データのクエリを実行できます。また、このプラットフォームにはサンプルクエリが含まれており、ユーザーがセキュリティ調査を加速させるために、ユーザーが実行したすべてのアクティビティの記録を特定するなど、一般的なシナリオのクエリを書き始めることができるように設計されています。デフォルトの 7 年間の保存期間とストレージのイミュータブルな性質を組み合わせることで、お客様がコンプライアンス要件を満たすことを支援します。CloudTrail Lake は、複数の AWS リージョンと AWS アカウントからのイベントの収集をサポートしています。

このブログ記事では、CloudTrail Lake の有効化といくつかのサンプルクエリの実行を開始する方法の例を紹介します。

CloudTrail Lakeの有効化

CloudTrail Lake を使用するには、AWS CloudTrail で有効にする必要があります。以下の手順を使用して CloudTrail Lake を有効にし、後でクエリするイベントデータストアを作成します。

  1. AWS コンソールを開き、AWS CloudTrail を管理する管理者権限を持つアカウントでログインします。
  2. CloudTrail コンソールに移動します。左側のナビゲーションメニューで、レイク を選択します。
  3. イベントデータストア タブを選択します。
  4. イベントデータストア に移動し、イベントデータストアの作成 を選択します。
  5. データストアの名前を入力します。私の例では、「MyNewDatastore」という名前を使用します
  6. データストアの保持期間を入力します。7 日から 2555 日まで入力できます。
  7. このデータソースに現在のリージョンのみを含めるかどうかを選択します。現在の地域の名前は、参照用に表示されます。
  8. (オプション) 組織のすべてのアカウントを含めるかどうかを選択します (AWS Organizations 環境のみに適用)

イベントデータストアの全般的な詳細を設定する

  1. (オプション) イベントデータソースのタグを入力します。タグは、AWS アカウントのリソースを整理して並べ替えるのに役立ちます。タグの使用方法の詳細については、AWS 全般のリファレンスの「AWS リソースのタグ付け」を参照してください。
  2. 次へ を選択します。
  3. 追跡するイベントタイプを選択します。CloudTrail Lake では、管理イベントデータイベントの両方に関するデータを収集できます。
  4. 管理イベントの追跡を選択した場合は、読み取りイベントと書き込みイベントを追跡するかどうかを選択できます。AWS Key Management Service (KMS) と AWS RDS データ API イベントを追跡から除外するかどうかも選択できます。

イベントデータソースの一部となる CloudTrail イベントをユーザーが指定できる [Choose events] 画面。特定の API アクティビティを除外するオプションを設定することもできます。

  1. 次へ を選択します。
  2. レビューページで、設定したオプションが正しいことを確認します。準備ができたら、イベントデータストアの作成 を選択します。

次に、CloudTrail Lake がイベントデータストアを作成します。新しいイベントデータストアのステータスは、イベントデータストア リストの ステータス ペインに表示されます。数分後、データストアが起動し、クエリが可能になります。

サンプルクエリを実行する

このサービスに含まれているいくつかのサンプルクエリを試すことで、CloudTrail Lake の機能を調べることができます。サンプルクエリを使用するには、次の手順を実行します。

  1. サンプルクエリ に移動します
  2. この例では、Multi-region console logins を選択します。このクエリは、指定された日付範囲内で、指定されたリージョンのセットからコンソールにログインしたすべてのユーザーを表示します。
  3. 次のサンプルクエリは、クエリエディタ に自動的に入力されます ($EDS_ID をイベントデータストアの ID に置き換える必要があります)。
SELECT eventTime, useridentity.arn, awsRegion FROM $EDS_ID WHERE eventTime > '2021-07-20 00:00:00' AND eventTime < '2021-07-23 00:00:00' AND awsRegion in ('us-east-1') AND eventName = 'ConsoleLogin'

サンプルクエリの実行画面

  1. 次に、検索する時間範囲を、使用する時間範囲に置き換える必要があります。eventTime > の後に指定された日付文字列は、含まれる最も古いイベントタイムスタンプです。一方、eventTime < の後に指定された日付文字列は、含まれる最新のイベントタイムスタンプです。(注:>= または <= を使用して、指定された日付/時刻をタイムスタンプに含めることができます。サポートされているすべての演算子の完全なリストについては、こちらを参照してください。)
  2. 最後に、ログインイベントを検索するリージョンを指定します。サンプルにはすでに us-east-1us-east-2 が含まれています。検索からリージョンを追加または削除する場合は、ステートメント内の awsRegion 後の括弧からリージョンを追加または削除できます。

変更を加えると、新しいクエリは次のようになります。

SELECT eventTime, useridentity.arn, awsRegion FROM 2add3562-038a-4075-95af-e219ea33a2df WHERE eventTime > ‘2021-12-05 00:00:00’ AND eventTime < ‘2021-12-16 00:00:00’ AND awsRegion in (‘us-east-1’, ‘us-west-2’) AND eventName = ‘ConsoleLogin’

クエリの準備ができたので、「実行」をクリックします。数秒後、「クエリ結果」の下に結果が表示されます

CloudTrail Lake には、クエリを構築するときに使用できる追加のリソースが含まれていました。たとえば、コンソールの左側のペインには、照会できるイベントプロパティの完全なリストが表示されます。これは、クエリするフィールドや、クエリをさらに絞り込むための条件を追加する場合に役立ちます。

クエリを保存して、コンソールから直接、後で再利用することもできます。保存 ボタンを選択し、クエリのわかりやすい名前を入力するだけです。保存したクエリはすべて 保存済みクエリ タブからアクセスできます。

その他のサンプルクエリ

このプラットフォームの力を理解するために試すことができる他のいくつかのクエリがあります。クエリステートメントのイベントデータソースを、アカウントに適したものに置き換えてください。

特定のIAMキーに関する記録されたすべてのAPIアクティビティを表示する

SELECT eventTime, eventName, userIdentity.principalId FROM 11f564ae-cf2e-40a4-9683-05ffaa976706 WHERE userIdentity.accessKeyId like 'AKIAXZUQIC6XEVCJJFM7'

すべてのセキュリティグループにおける変更を表示する

SELECT eventname, useridentity.username, sourceIPAddress, eventtime, element_at(requestParameters, 'groupId') as SecurityGroup, element_at(requestParameters, 'ipPermissions') as ipPermissions FROM $EDS_ID WHERE (element_at(requestParameters, 'groupId') like '%sg-%') and eventtime > '2017-11-01T00:00:00Z' order by eventtime asc;

本日より一般提供開始

CloudTrail Lake を有効にするには、CloudTrail コンソールで AWS ソフトウェア開発キット (SDK) を使用するか、AWS コマンドラインインターフェイス (CLI) を使用します。CloudTrail Lake は現在、米国東部(バージニア北部)、米国東部(オハイオ)、米国西部(北カリフォルニア)、米国西部(オレゴン)、カナダ(中部)、アフリカ(ケープタウン)、ヨーロッパ(アイルランド)、ヨーロッパ(ロンドン)、ヨーロッパ(パリ)、ヨーロッパ(ミラノ)、ヨーロッパ(フランクフルト)、ヨーロッパ(ストックホルム)、アジアパシフィック(東京)、アジアパシフィック(ソウル)、アジアパシフィック(大阪)、アジアパシフィック(香港)、アジアパシフィック(シンガポール)、アジアパシフィック(シドニー)、アジアパシフィック(ムンバイ)、中東(バーレーン)、および南米(サンパウロ)でご利用できます。開始するには、CloudTrail ユーザーガイドの「AWS CloudTrail Lake の使用」を参照してください。

Cleanup

CloudTrail Lake を今後使用しない場合は、イベントデータストアを必ず削除してください。これを行うには、次の手順に従います。

  1. Lake コンソールの イベントデータストア タブをクリックします。
  2. リストからイベントデータストアを選択します。
  3. アクションメニューから「終了保護の変更」を選択します。
  4. 終了保護の変更ポップアップから 無効 を選択し、保存 をクリックします。
  5. アクション メニューから 削除 を選択し、データストアの名前を入力して削除することを確認します。次に「削除」をクリックします。これにより、イベントデータストアは削除保留状態になります。
  6. これにより、データストアが無効になり、7 日後に完全に削除されます。

まとめ

このブログ記事では新しく発表された CloudTrail Lake サービスについて、これを有効にする方法と、独自のクエリを書き始める方法の例をいくつか示しました。また、開始するためのサンプルクエリもいくつか提供しました。この新サービスをお客様に提供できることを嬉しく思います。このサービスを使ってどんな素晴らしいものを構築するのか楽しみにしています。

Andres Silva

Andres Silva は、AWS のクラウド運用チームのプリンシパルスペシャリストソリューションアーキテクトです。彼は 9 年以上AWSテクノロジーに携わってきました。Andres は AWS サービスチームと緊密に連携して、お客様が複雑なクラウドインフラストラクチャを実装およびサポートするのに役立つ大規模なソリューションを設計しています。クラウドオートメーションを構築していないとき、彼は 2 人の子供とスケートボードを楽しんでいます。

翻訳はソリューションアーキテクトの三厨が担当しました。原文はこちらです。