からのデータ収集 AWS のサービス - Amazon Security Lake

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

からのデータ収集 AWS のサービス

Amazon Security Lake では、 AWS のサービスネイティブにサポートされているからログとイベントを収集できます。

  • AWS CloudTrail 管理イベントとデータイベント (S3、Lambda)

  • Amazon Elastic Kubernetes Service (Amazon EKS) 監査ログ

  • Amazon Route 53 Resolver クエリログ

  • AWS Security Hub 検出結果

  • Amazon Virtual Private Cloud (Amazon VPC) Flow Logs

  • AWS WAF v2 ログ

Security Lake は、このデータを オープンサイバーセキュリティスキーマフレームワーク (OCSF) および Apache Parquet 形式に自動的に変換します。

ヒント

上記の 1 つ以上のサービスを Security Lake のログソースとして追加するには、 CloudTrail 管理イベントを除き、これらのサービスのログ記録を個別に設定する必要はありません。これらのサービスでロギングを設定している場合は、ログ設定を変更して Security Lake のログソースとして追加する必要はありません。Security Lake は、独立イベントストリームと重複イベントストリームでデータを直接取得します。

前提:アクセス許可

を Security Lake のソース AWS のサービス として追加するには、必要なアクセス許可が必要です。ソースの追加に使用するロールにアタッチされた AWS Identity and Access Management (IAM) ポリシーに、次のアクションを実行するアクセス許可があることを確認します。

  • glue:CreateDatabase

  • glue:CreateTable

  • glue:GetDatabase

  • glue:GetTable

  • glue:UpdateTable

  • iam:CreateServiceLinkedRole

  • s3:GetObject

  • s3:PutObject

ロールには、 および アクセスs3:PutObject許可の以下の条件S3:getObjectとリソース範囲を設定することをお勧めします。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUpdatingSecurityLakeS3Buckets", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::aws-security-data-lake*", "Condition": { "StringEquals": { "aws:ResourceAccount": "${aws:PrincipalAccount}" } } } ] }

これらのアクションにより、 からログとイベントを収集 AWS のサービス し、正しい AWS Glue データベースとテーブルに送信できます。

データレイクのサーバー側の暗号化に AWS KMS キーを使用する場合は、 のアクセス許可も必要ですkms:DescribeKey

CloudTrail イベントログ

AWS CloudTrail は、、 SDK、コマンドラインツール AWS Management Console、特定の AWS サービスを使用して行われた AWS API コールなど、アカウントの API コールの履歴を提供します。 CloudTrail また、 では、 をサポートするサービスの AWS APIs を呼び出したユーザーとアカウント CloudTrail、呼び出し元のソース IP アドレス、および呼び出しが発生した日時を特定することもできます。 AWS SDKs 詳細については、「AWS CloudTrail ユーザーガイド」を参照してください。

Security Lake は、S3 および Lambda. CloudTrail management イベント、S3 CloudTrail データイベント、および Lambda データイベント CloudTrail の管理イベントおよびデータイベントに関連するログを収集できます。これらのログは、Security Lake の S3 つの異なるソースです。その結果、これらのいずれかを取り込みログ ソースとして追加すると、sourceName の値が異なります。管理イベントは、コントロールプレーンイベントとも呼ばれ、 内のリソースで実行される管理オペレーションに関するインサイトを提供します AWS アカウント。 CloudTrail データイベントは、データプレーンオペレーションとも呼ばれ、 内のリソースで実行されたリソースオペレーションを表示します AWS アカウント。これらの操作は、多くの場合、高ボリュームのアクティビティです。

Security Lake で CloudTrail 管理イベントを収集するには、読み取りおよび書き込み CloudTrail 管理イベントを収集するマルチリージョン組織の証跡が少なくとも 1 CloudTrail つ必要です。トレイルのロギングが有効になっている必要があります。他のサービスでロギングを設定している場合は、ロギング設定を変更して Security Lake のログソースとして追加する必要はありません。Security Lake は、独立イベントストリームと重複イベントストリームでデータを直接取得します。

マルチリージョント証跡は、複数のリージョンから単一の Amazon Simple Storage Service (Amazon S3) バケットにログファイルを 1 AWS アカウントつのリージョンで配信します。 CloudTrail コンソールまたは で管理されているマルチリージョンの証跡がすでにある場合は AWS Control Tower、それ以上のアクションは必要ありません。

CloudTrail イベントをソースとして追加すると、Security Lake はすぐに CloudTrail イベントログの収集を開始します。 CloudTrail 管理イベントとデータイベントは、イベントの独立した重複ストリーム CloudTrail を介して から直接消費されます。

Security Lake は CloudTrail イベントを管理したり、既存の CloudTrail 設定に影響を与えたりしません。 CloudTrail イベントへのアクセスと保持を直接管理するには、 CloudTrail サービスコンソールまたは API を使用する必要があります。詳細については、「 AWS CloudTrail ユーザーガイド」の「イベント履歴を含む CloudTrail イベントの表示」を参照してください。

次のリストは、Security Lake が CloudTrail イベントを OCSF に正規化する方法に関するマッピングリファレンスへの GitHub リポジトリリンクを示しています。

GitHub CloudTrail イベントの OCSF リポジトリ

Amazon EKS 監査ログ

Amazon EKS 監査ログをソースとして追加すると、Security Lake は、Elastic Kubernetes Service (EKS) クラスターで実行されている Kubernetes リソースで実行されているアクティビティに関する詳細な情報の収集を開始します。EKS 監査ログは、Amazon Elastic Kubernetes Service 内の EKS クラスター内の潜在的に疑わしいアクティビティを検出するのに役立ちます。

Security Lake は、監査ログの独立した重複ストリームを介して、Amazon EKS コントロールプレーンのログ記録機能から直接 EKS 監査ログイベントを使用します。このプロセスは、追加のセットアップを必要とせず、既存の Amazon EKS コントロールプレーンのログ記録設定に影響を与えるように設計されています。詳細については、Amazon EKS ユーザーガイドの Amazon EKS クラスターコントロールプレーンのログを参照してください。

Amazon EKS 監査ログは OCSF v1.1.0 でのみサポートされています。Security Lake が EKS 監査ログイベントを OCSF に正規化する方法については、GitHub Amazon EKS 監査ログイベント (v1.1.0) の OCSF リポジトリのマッピングリファレンスを参照してください。

Route 53 Resolver クエリログ

Route 53 リゾルバークエリログは、Amazon Virtual Private Cloud (Amazon VPC) 内のリソースによって実行された DNS クエリを追跡します。これにより、アプリケーションの動作状況を把握し、セキュリティ上の脅威を見抜くことができます。

Route 53 リゾルバークエリログを Security Lake のソースとして追加すると、Security Lake はすぐに、独立した重複したイベントストリームを通じて Route 53 から直接リゾルバークエリログを収集し始めます。

Security Lake は Route 53 ログを管理したり、既存のリゾルバークエリロギング設定に影響を与えたりすることはありません。リゾルバークエリログを管理するには、Route 53 サービスコンソールを使用する必要があります。詳細については、Amazon Route 53 デベロッパーガイド「リゾルバークエリログ設定の管理」を参照してください。

次のリストは、Security Lake が Route 53 ログを OCSF に正規化する方法に関するマッピングリファレンスへの GitHub リポジトリリンクを示しています。

GitHub Route 53 ログの OCSF リポジトリ

Security Hub の検出結果

Security Hub の検出結果は、 のセキュリティ体制を理解し AWS 、セキュリティ業界標準とベストプラクティスに照らして環境をチェックするのに役立ちます。Security Hub は、他の との統合、サードパーティー製品の統合 AWS のサービス、Security Hub コントロールに対するチェックなど、さまざまなソースから結果を収集します。Security Hub は、 AWS Security Finding Format (ASFF) と呼ばれる標準形式で結果を処理します。

Security Hub の結果を Security Lake のソースとして追加すると、Security Lake はすぐに、独立した重複したイベントストリームを通じて Security Hub から直接調査結果を収集し始めます。また、Security Lakeは調査結果を ASFF から オープンサイバーセキュリティスキーマフレームワーク (OCSF) (OCSF) に変換します。

Security Lake はSecurity Hub 結果を管理したり、Security Hub の設定に影響を与えたりしません。Security Hub の検出結果を管理するには、Security Hub サービスコンソール、API、または を使用する必要があります AWS CLI。詳細については、AWS Security Hub ユーザー ガイドの「AWS Security Hubの調査結果」を参照してください。

次のリストは、Security Lake が Security Hub の検出結果を OCSF に正規化する方法に関するマッピングリファレンスへの GitHub リポジトリリンクを示しています。

GitHub Security Hub の検出結果の OCSF リポジトリ

VPC Flow Logs

Amazon VPC の VPC Flow Logs機能は、環境内のネットワークインターフェイスとの間で送受信される IP トラフィックに関する情報をキャプチャします。

Security Lake のソースとして VPC Flow Logsを追加すると、Security Lakeはすぐに VPC Flow Logsの収集を開始します。フローログの独立した重複ストリームを介して、Amazon VPC から直接 VPC フローログを消費します。

Security Lakeは VPC Flow Logsを管理したり、Amazon VPC の設定に影響を与えたりしません。Flow Logsを管理するには、Amazon VPC サービスコンソールを使用する必要があります。詳細については、Amazon VPC デベロッパーガイド の「Flow Logsの操作」を参照してください。

次のリストは、Security Lake が VPC フローログを OCSF に正規化する方法のマッピングリファレンスへの GitHub リポジトリリンクを示しています。

GitHub VPC フローログの OCSF リポジトリ

AWS WAF ログ

Security Lake のログソース AWS WAF として を追加すると、Security Lake はすぐにログの収集を開始します。 は、エンドユーザーがアプリケーションに送信するウェブリクエストをモニタリングし、コンテンツへのアクセスを制御するために使用できるウェブアプリケーションファイアウォール AWS WAF です。ログに記録された情報には、 がリソースから AWS ウェブリクエストを AWS WAF 受信した時間、リクエストに関する詳細情報、およびリクエストが一致したルールに関する詳細が含まれます。

Security Lake は、独立した重複した AWS WAF ログストリーム AWS WAF を介して から直接ログを消費します。このプロセスは、追加のセットアップを必要とせず、既存の AWS WAF 設定に影響を与えないように設計されています。 AWS WAF を使用してアプリケーションリソースを保護する方法の詳細については、「 AWS WAF デベロッパーガイド」の「 AWS WAF の仕組み」を参照してください。

重要

のリソースタイプとして Amazon CloudFront ディストリビューションを使用している場合は AWS WAF、米国東部 (バージニア北部) を選択して、Security Lake にグローバルログを取り込む必要があります。

AWS WAF ログは OCSF v1.1.0 でのみサポートされています。Security Lake が AWS WAF ログイベントを OCSF に正規化する方法については、GitHub OCSF リポジトリの AWS WAF ログのマッピングリファレンス (v1.1.0) を参照してください。

をソース AWS のサービス として追加する

をソース AWS のサービス として追加すると、Security Lake はセキュリティログとイベントからの収集を自動的に開始します。これらの手順では、ネイティブにサポートされている を Security Lake のソース AWS のサービス として追加する方法について説明します。カスタムソースを追加する手順については、カスタムソースからのデータ収集を参照してください。

Console
AWS ログソースを追加するには (コンソール)
  1. Security Lake コンソール https://console.aws.amazon.com/securitylake/を開きます。

  2. ナビゲーションペインで [ソース] を選択します。

  3. データを収集 AWS のサービス する を選択し、 の設定 を選択します。

  4. ソース設定 セクションで、ソースを有効にし、データの取り込みに使用するデータソースのバージョンを選択します。デフォルトでは、最新バージョンのデータソースは Security Lake によって取り込まれます。

    重要

    指定したリージョンで新しいバージョンの AWS ログソースを有効にするために必要なロールアクセス許可がない場合は、Security Lake 管理者にお問い合わせください。詳細については、「ロールのアクセス許可の更新」を参照してください。

    サブスクライバーが選択したバージョンのデータソースを取り込むには、サブスクライバー設定も更新する必要があります。サブスクライバーを編集する方法の詳細については、「Amazon Security Lake でのサブスクライバー管理」を参照してください。

    オプションで、最新バージョンのみを取り込み、データインジェストに使用した以前のソースバージョンをすべて無効にすることもできます。

  5. リージョン セクションで、ソースのデータを収集するリージョンを選択します。Security Lake は、選択したリージョンのすべてのアカウントからソースからデータを収集します。

  6. [Enable(有効化)] を選択します。

API

AWS ログソースを追加するには (API)

をソース AWS のサービス としてプログラムで追加するには、Security Lake API の CreateAwsLogSourceオペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、create-aws-log-source コマンドを実行します。sourceName および regions パラメータが必要です。オプションで、ソースの範囲を特定の accountsまたは特定の に制限できますsourceVersion

重要

コマンドでパラメータを指定しない場合、Security Lake は欠落しているパラメータがセット全体を参照していると見なします。例えば、 accountsパラメータを指定しない場合、 コマンドは組織内のアカウントのセット全体に適用されます。

次の例では、指定されたアカウントとリージョンのソースとして VPC フローログを追加します。この例は Linux、macOS、または Unix 用にフォーマットされており、読みやすさを向上させるためにバックスラッシュ (\) の行継続文字を使用しています。

注記

Security Lake を有効にしていないリージョンにこのリクエストを適用すると、エラーが発生します。このエラーは、そのリージョンで Security Lake を有効にするか、 regionsパラメータを使用して Security Lake を有効にしたリージョンのみを指定することで解決できます。

$ aws securitylake create-aws-log-source \ --sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions=["us-east-2"],sourceVersion="2.0"

ロールのアクセス許可の更新

データソースの新しいバージョンからデータを取り込むために必要なロールのアクセス許可やリソース、つまり新しい AWS Lambda 関数と Amazon Simple Queue Service (Amazon SQS) キューがない場合は、AmazonSecurityLakeMetaStoreManagerV2ロールのアクセス許可を更新し、新しいリソースセットを作成してソースからのデータを処理する必要があります。

任意の方法を選択し、指示に従ってロールのアクセス許可を更新し、新しいリソースを作成して、指定したリージョンの AWS ログソースの新しいバージョンからのデータを処理します。これは、アクセス許可とリソースが将来のデータソースリリースに自動的に適用されるため、1 回限りのアクションです。

Console
ロールのアクセス許可を更新するには (コンソール)
  1. Security Lake コンソール https://console.aws.amazon.com/securitylake/ を開きます。

    委任された Security Lake 管理者の認証情報を使用してサインインします。

  2. ナビゲーションペインで [Settings] の [General] を選択します。

  3. ロールのアクセス許可の更新 を選択します。

  4. サービスアクセスセクションで、次のいずれかを実行します。

    • 新しいサービスロールを作成して使用する — Security Lake によって作成された AmazonSecurityLakeMetaStoreManagerV2 ロールを使用できます。

    • 既存のサービスロールを使用する — サービスロール名リストから既存のサービスロールを選択できます。

  5. [適用] を選択します。

API

ロールのアクセス許可を更新するには (API)

アクセス許可をプログラムで更新するには、Security Lake API の UpdateDataLakeオペレーションを使用します。を使用してアクセス許可を更新するには AWS CLI、 update-data-lake コマンドを実行します。

ロールのアクセス許可を更新するには、AmazonSecurityLakeMetastoreManagerポリシーをロールにアタッチする必要があります。

AmazonSecurityLakeMetaStoreManager ロールの削除

重要

ロールのアクセス許可を に更新したらAmazonSecurityLakeMetaStoreManagerV2、古いAmazonSecurityLakeMetaStoreManagerロールを削除する前にデータレイクが正しく動作することを確認します。ロールを削除する前に、少なくとも 4 時間待つことをお勧めします。

ロールを削除する場合は、まず からAmazonSecurityLakeMetaStoreManagerロールを削除する必要があります AWS Lake Formation。

Lake Formation コンソールからAmazonSecurityLakeMetaStoreManagerロールを削除するには、次の手順に従います。

  1. にサインインし AWS Management Console、https://console.aws.amazon.com/lakeformation/ で Lake Formation コンソールを開きます。

  2. Lake Formation コンソールのナビゲーションペインで、管理ロールとタスク を選択します。

  3. 各リージョンAmazonSecurityLakeMetaStoreManagerから を削除します。

ソース AWS のサービス としての の削除

アクセス方法を選択し、以下の手順に従って、Security Lake ソース AWS のサービス としてネイティブにサポートされている を削除します。1 つ以上のリージョンのソースを削除できます。ソースを削除すると、Security Lake は指定されたリージョンとアカウントでそのソースからデータを収集しなくなり、利用者はソースから新しいデータを使用できなくなります。ただし、利用者は Security Lake が削除前にソースから収集したデータを引き続き利用できます。これらの手順は、ソース AWS のサービス としてネイティブにサポートされている の削除にのみ使用できます。カスタムソースの削除については、カスタムソースからのデータ収集を参照してください。

Console
  1. Security Lake コンソール https://console.aws.amazon.com/securitylake/を開きます。

  2. ナビゲーションペインで [ソース] を選択します。

  3. ソースを選択し、[無効化] を選択します。

  4. このソースからのデータ収集を停止したい地域を 1 つまたは複数選択します。Security Lake は、選択したリージョンのすべてのアカウントからのソースからのデータ収集を停止します。

API

をソース AWS のサービス としてプログラムで削除するには、Security Lake API の DeleteAwsLogSourceオペレーションを使用します。 AWS Command Line Interface (AWS CLI) を使用している場合は、delete-aws-log-source コマンドを実行します。sourceName および regions パラメータが必要です。必要に応じて、削除の範囲を特定の accountsまたは特定の に制限できますsourceVersion

重要

コマンドでパラメータを指定しない場合、Security Lake は欠落しているパラメータがセット全体を参照していると見なします。例えば、 accountsパラメータを指定しない場合、 コマンドは組織内のアカウントのセット全体に適用されます。

次の例では、指定されたアカウントとリージョンのソースとして VPC フローログを削除します。

$ aws securitylake delete-aws-log-source \ --sources sourceName=VPC_FLOW,accounts='["123456789012", "111122223333"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"

次の例では、指定されたアカウントとリージョンのソースとして Route 53 を削除します。

$ aws securitylake delete-aws-log-source \ --sources sourceName=ROUTE53,accounts='["123456789012"]',regions='["us-east-1", "us-east-2"]',sourceVersion="2.0"

前述の例は Linux、macOS、または Unix 用にフォーマットされており、読みやすくするためにバックスラッシュ (\) の行連続文字を使用しています。

ソースコレクションのステータスの取得

アクセス方法を選択し、手順に従って、現在のリージョンでログ収集が有効になっているアカウントとソースのスナップショットを取得します。

Console
現在のリージョンのログ収集のステータスを取得するには
  1. Security Lake コンソール https://console.aws.amazon.com/securitylake/ を開きます。

  2. ナビゲーションペインで、アカウント を選択します。

  3. ソース列の番号にカーソルを合わせると、選択したアカウントでどのログが有効になっているかが表示されます。

API

現在のリージョンのログ収集のステータスを取得するには、Security Lake API の GetDataLakeSourcesオペレーションを使用します。を使用している場合は AWS CLI、get-data-lake-sources コマンドを実行します。accounts パラメータでは、1 つ以上の AWS アカウント IDsをリストとして指定できます。リクエストが成功すると、Security Lake は、Security Lake がデータを収集している AWS ソースや各ソースのステータスなど、現在のリージョン内のアカウントのスナップショットを返します。accounts パラメータを含めない場合、レスポンスには、Security Lake が現在のリージョンで設定されているすべてのアカウントのログ収集のステータスが含まれます。

例えば、次の AWS CLI コマンドは、現在のリージョンで指定されたアカウントのログ収集ステータスを取得します。この例は Linux、macOS、または Unix 用にフォーマットされており、読みやすさを向上させるためにバックスラッシュ (\) の行継続文字を使用しています。

$ aws securitylake get-data-lake-sources \ --accounts "123456789012" "111122223333"