生成された GuardDuty の検出結果を Amazon S3 バケットにエクスポートする - Amazon GuardDuty

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

生成された GuardDuty の検出結果を Amazon S3 バケットにエクスポートする

GuardDuty は生成された検出結果を 90 日間保持します。GuardDuty はアクティブな検出結果を Amazon EventBridge (EventBridge) にエクスポートします。生成された検出結果は、必要に応じて Amazon Simple Storage Service (Amazon S3) バケットにエクスポートできます。これにより、アカウント内の疑わしいアクティビティの履歴データを追跡し、推奨される修復手順が成功したかどうかを評価することができます。

GuardDuty によって生成された新しいアクティブな検出結果はすべて、検出結果の生成後約 5 分以内に自動的にエクスポートされます。アクティブな検出結果の更新を EventBridge にエクスポートする頻度は設定できます。選択した頻度は、更新された既存の検出結果を EventBridge、S3 バケット (設定されている場合)、Detective (統合されている場合) にエクスポートするときに適用されます。GuardDuty が既存の検出結果の複数の出現を集計する方法については、「GuardDuty の検出結果の集約」を参照してください。

検出結果を Amazon S3 バケットにエクスポートするように設定する場合、GuardDuty は AWS Key Management Service (AWS KMS) を使用して S3 バケットの検出結果データを暗号化します。そのためには、GuardDuty がアクセス許可を使用してアカウント内の検出結果をエクスポートできるように、S3 バケットと AWS KMS キーにアクセス許可を追加する必要があります。

考慮事項

検出結果をエクスポートするための前提条件とステップに進む前に、次の主要な概念を検討します。

  • エクスポート設定はリージョンレベルで行います – GuardDuty を使用するリージョンごとにエクスポートオプションを設定する必要があります。

  • さまざまな  AWS リージョン (クロスリージョン) の Amazon S3 バケットへの検出結果のエクスポート – GuardDuty は次のエクスポート設定をサポートしています。

    • Amazon S3 バケットまたはオブジェクト、および AWS KMS キーは、同じ に属している必要があります AWS リージョン。

    • 商用リージョンで生成された検出結果の場合、任意の商用リージョンの S3 バケットにこれらの検出結果をエクスポートすることを選択できます。ただし、これらの検出結果をオプトインリージョンの S3 バケットにエクスポートすることはできません。

    • オプトインリージョンで生成された検出結果の場合、生成されたのと同じオプトインリージョン、または任意の商用リージョンにこれらの検出結果をエクスポートすることを選択できます。ただし、あるオプトインリージョンから別のオプトインリージョンに検出結果をエクスポートすることはできません。

  • 検出結果をエクスポートする許可 – アクティブな検出結果をエクスポートする設定を行うには、GuardDuty がオブジェクトをアップロードできる許可が S3 バケットに必要です。また、GuardDuty が検出結果の暗号化に使用できる AWS KMS キーも必要です。

  • アーカイブされた検出結果はエクスポートされません – デフォルトの動作では、アーカイブされた検出結果 (抑制された検出結果の新しいインスタンスを含む) はエクスポートされません。

    GuardDuty の検出結果がアーカイブ済みとして生成される場合は、元に戻す必要があります。これにより、[検出結果ステータスをフィルタリング][アクティブ] に変更されます。GuardDuty は、「ステップ 5 – 検出結果をエクスポートする頻度」の設定方法に基づいて、アーカイブされていない既存の検出結果に更新をエクスポートします。

  • GuardDuty 管理者アカウントは、関連付けられたメンバーアカウントで生成された検出結果をエクスポートできます – 管理者アカウントで検出結果のエクスポートを設定すると、同じリージョンで生成された、関連付けられたメンバーアカウントからのすべての検出結果も、管理者アカウント用に設定したのと同じ場所にエクスポートされます。詳細については、「GuardDuty 管理者アカウントとメンバーアカウントの関係について理解する」を参照してください。

ステップ 1 – 検出結果のエクスポートに必要な許可

検出結果をエクスポートするための設定を構成するときは、検出結果を保存できる Amazon S3 バケットと、データ暗号化に使用する AWS KMS キーを選択します。GuardDuty アクションに対する許可に加えて、検出結果をエクスポートする設定を正常に構成するには、次のアクションに対する許可も必要です。

  • s3:GetBucketLocation

  • s3:PutObject

検出結果を Amazon S3 バケット内の特定のプレフィックスにエクスポートする必要がある場合は、IAM ロールに次のアクセス許可も追加する必要があります。

  • s3:GetObject

  • s3:ListBucket

ステップ 2 – KMS キーにポリシーをアタッチする

GuardDuty は、 を使用してバケット内の検出結果データを暗号化します AWS Key Management Service。設定を正常に構成するには、まず、KMS キーを使用する許可を GuardDuty に付与する必要があります。KMS キーにポリシーを添付することで、許可を付与することができます。

別のアカウントの KMS キーを使用する場合は、キーを所有 AWS アカウント する にログインしてキーポリシーを適用する必要があります。検出結果をエクスポートする設定を行う場合、キーを所有するアカウントのキー ARN も必要になります。

GuardDuty が検出結果を暗号化するために KMS キーポリシーを変更するには
  1. https://console.aws.amazon.com/kms で AWS KMS コンソールを開きます。

  2. を変更するには AWS リージョン、ページの右上隅にあるリージョンセレクタを使用します。

  3. エクスポートされた検出結果を暗号化するために使用するキーについて、既存の KMS キーを選択するか、「AWS Key Management Service 開発者ガイド」の「Create a new key」の手順を実行します。

    注記

    KMS キーと Amazon S3 バケット AWS リージョン の は同じである必要があります。 Amazon S3

    同じ S3 バケットと KMS キーのペアを使用して、該当する任意のリージョンから検出結果をエクスポートできます。詳細については、リージョン間の検出結果のエクスポートに関する「考慮事項」を参照してください。

  4. [Key policy] (キーポリシー) セクションで、[Edit] (編集) を選択します。

    [ポリシービューへの切り替え] が表示された場合はそれを選択して [キーポリシー] を表示してから、[編集] を選択します。

  5. 次のポリシーブロックを KMS キーポリシーにコピーして、キーを使用する許可を GuardDuty に付与します。

    { "Sid": "AllowGuardDutyKey", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "KMS key ARN", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:Region2:123456789012:detector/SourceDetectorID" } } }
  6. ポリシーの例ででフォーマットされている次の値を置き換えることにより、ポリシーを編集します。

    1. KMS key ARN は、KMS キーの Amazon リソースネーム (ARN) に置き換えます。キー ARN を検索するには、「AWS Key Management Service 開発者ガイド」の「Finding the key ID and ARN」を参照してください。

    2. 123456789012 は、検出結果をエクスポートする GuardDuty アカウントを所有する AWS アカウント ID に置き換えます。

    3. Region2 を、GuardDuty の検出結果が生成され AWS リージョン る に置き換えます。

    4. SourceDetectorID は、検出結果が生成された特定のリージョンの GuardDuty アカウントの detectorID に置き換えます。

      アカウントと現在のリージョンの detectorId を検索するには、https://console.aws.amazon.com/guardduty/ コンソールの [設定] ページを参照するか、ListDetectors API を実行します。

    注記

    オプトインリージョンで GuardDuty を使用している場合は、「Service」の値をそのリージョンのリージョンエンドポイントに置き換えます。例えば、中東 (バーレーン) (me-south-1) リージョンで GuardDuty を使用している場合は、"Service": "guardduty.amazonaws.com""Service": "guardduty.me-south-1.amazonaws.com" に置き換えます。オプトインリージョンごとのエンドポイントの詳細については、「GuardDuty エンドポイントとクォータ」を参照してください。

  7. 最後のステートメントの前にポリシーステートメントを追加した場合は、このステートメントを追加する前にカンマを追加します。KMS キーポリシーの JSON 構文が有効であることを確認します。

    [Save] を選択します。

  8. (オプション) 後のステップで使用するために、キー ARN をメモ帳にコピーします。

ステップ 3: Amazon S3 バケットにポリシーをアタッチする

検出結果のエクスポート先の Amazon S3 バケットに許可を追加して、GuardDuty がこの S3 バケットにオブジェクトをアップロードできるようにします。アカウントに属する Amazon S3 バケットや別のバケットを使用するのとは関係なく AWS アカウント、これらのアクセス許可を追加する必要があります。

いずれかの時点で別の S3 バケットに検出結果をエクスポートすることを決定した場合、検出結果のエクスポートを継続するには、その S3 バケットに許可を追加し、検出結果のエクスポート設定を再度構成する必要があります。

これらの検出結果をエクスポートする Amazon S3 バケットがまだない場合は、「Amazon S3 ユーザーガイド」の「バケットの作成」を参照してください。

S3 バケットポリシーに許可をアタッチするには

  1. [バケットポリシーを編集] ページが表示されるまで、「Amazon S3 ユーザーガイド」の「バケットポリシーを作成または編集するには」の手順を実行します。

  2. 次のポリシー例は、Amazon S3 バケットに検出結果をエクスポートする許可を GuardDuty に付与する方法を示しています。検出結果のエクスポートを設定した後にパスを変更する場合は、新しい場所に対する許可を付与するように、ポリシーを変更する必要があります。

    次のポリシー例をコピーし、[バケットポリシーエディタ] に貼り付けます。

    最後のステートメントの前にポリシーステートメントを追加した場合は、このステートメントを追加する前にカンマを追加します。KMS キーポリシーの JSON 構文が有効であることを確認します。

    S3 バケットポリシーの例

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Allow GetBucketLocation", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:GetBucketLocation", "Resource": "Amazon S3 bucket ARN", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:Region2:123456789012:detector/SourceDetectorID" } } }, { "Sid": "Allow PutObject", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "Amazon S3 bucket ARN/[optional prefix]/*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "aws:SourceArn": "arn:aws:guardduty:Region2:123456789012:detector/SourceDetectorID" } } }, { "Sid": "Deny unencrypted object uploads", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "Amazon S3 bucket ARN/[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "Deny incorrect encryption header", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "Amazon S3 bucket ARN/[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption-aws-kms-key-id": "KMS key ARN" } } }, { "Sid": "Deny non-HTTPS access", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "Amazon S3 bucket ARN/[optional prefix]/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }
  3. ポリシーの例ででフォーマットされている次の値を置き換えることにより、ポリシーを編集します。

    1. Amazon S3 bucket ARN は、Amazon S3 バケットの Amazon リソースネーム (ARN) に置き換えます。[バケット ARN] は、https://console.aws.amazon.com/s3/ コンソールの [バケットポリシーを編集] ページで確認できます。

    2. 123456789012 は、検出結果をエクスポートする GuardDuty アカウントを所有する AWS アカウント ID に置き換えます。

    3. Region2 は、GuardDuty の検出結果が生成される AWS リージョン に置き換えます。

    4. SourceDetectorID は、検出結果が生成された特定のリージョンの GuardDuty アカウントの detectorID に置き換えます。

      アカウントと現在のリージョンの detectorId を検索するには、https://console.aws.amazon.com/guardduty/ コンソールの [設定] ページを参照するか、ListDetectors API を実行します。

    5. S3 bucket ARN/[optional prefix] プレースホルダー値の [optional prefix] 部分は、検出結果をエクスポートするオプションのフォルダの場所に置き換えます。プレフィックスの使用の詳細については、「Amazon S3 ユーザーガイド」の「プレフィックスを使用してオブジェクトを整理する」を参照してください。

      まだ存在していないオプションのフォルダの場所を指定した場合、GuardDuty は、S3 バケットに関連付けられたアカウントが検出結果をエクスポートしているアカウントと同じ場合にのみ、その場所を作成します。別のアカウントに属する S3 バケットに検出結果をエクスポートする場合は、このフォルダの場所が既に存在している必要があります。

    6. KMS key ARN は、S3 バケットにエクスポートされた検出結果の暗号化に関連付けられた KMS キーの Amazon リソースネーム (ARN) に置き換えます。キー ARN を検索するには、「AWS Key Management Service 開発者ガイド」の「Finding the key ID and ARN」を参照してください。

    注記

    オプトインリージョンで GuardDuty を使用している場合は、「Service」の値をそのリージョンのリージョンエンドポイントに置き換えます。例えば、中東 (バーレーン) (me-south-1) リージョンで GuardDuty を使用している場合は、"Service": "guardduty.amazonaws.com""Service": "guardduty.me-south-1.amazonaws.com" に置き換えます。オプトインリージョンごとのエンドポイントの詳細については、「GuardDuty エンドポイントとクォータ」を参照してください。

  4. [Save] を選択します。

ステップ 4 - S3 バケットに検出結果をエクスポートする (コンソール)

GuardDuty では、別の AWS アカウントの既存のバケットに検出結果をエクスポートできます。

新しい S3 バケットを作成するか、アカウントの既存のバケットを選択するときに、オプションのプレフィックスを追加できます。検出結果のエクスポートを設定すると、GuardDuty は検出結果の S3 バケットに新しいフォルダを作成します。プレフィックスは、GuardDuty が作成したデフォルトのフォルダ構造に追加されます。例えば、オプションのプレフィックスの形式は /AWSLogs/123456789012/GuardDuty/Region です。

S3 オブジェクトのパス全体は amzn-s3-demo-bucket/prefix-name/UUID.jsonl.gz になります。UUID はランダムに生成され、ディテクター ID または検出結果 ID を表すものではありません。

重要

KMS キーおよび S3 バケットは同じリージョンにある必要があります。

これらのステップを完了する前に、KMS キーと既存の S3 バケットにそれぞれのポリシーをアタッチしていることを確認します。

検出結果のエクスポートを設定するには
  1. https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

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

  3. [設定] ページの [検出結果のエクスポートオプション] で、[S3 バケット][今すぐ設定] (または必要に応じて [編集]) を選択します。

  4. [S3 バケット ARN] で、bucket ARN を入力します。バケット ARN を検索するには、「Amazon S3 ユーザーガイド」の「S3 バケットのプロパティを表示するには」を参照してください。

  5. [KMS キー ARN] で、key ARN を入力します。キー ARN を検索するには、「AWS Key Management Service 開発者ガイド」の「Finding the key ID and ARN」を参照してください。

  6. ポリシーをアタッチします。
  7. [Save] を選択します。

ステップ 5 – 更新されたアクティブな検出結果をエクスポートする頻度を設定する

環境に応じて、更新されたアクティブな検出結果をエクスポートする頻度を設定します。デフォルトでは、更新された検出結果は 6 時間ごとにエクスポートされます。つまり、最新のエクスポート後に更新された検出結果が、次のエクスポートに含まれます。更新された検出結果が 6 時間ごとにエクスポートされ、エクスポートが 12:00 に発生した場合、12:00 以降に更新した検出結果が 18:00 にエクスポートされます。

頻度を設定するには
  1. https://console.aws.amazon.com/guardduty/ で GuardDuty コンソールを開きます。

  2. [Settings] (設定) を選択します。

  3. [Findings export options] (結果のエクスポートオプション) セクションで、[Frequency for updated findings] (更新された結果の頻度) を選択します。これにより、更新されたアクティブな検出結果を EventBridge と Amazon S3 の両方にエクスポートする頻度が設定されます。次から選択できます。

    • [EventBridge と S3 を 15 分ごとに更新]

    • [EventBridge と S3 を 1 時間ごとに更新]

    • EventBridge と S3 を 6 時間ごとに更新する (デフォルト)

  4. [Save changes] (変更の保存) をクリックします。