結果のエクスポート - Amazon GuardDuty

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

結果のエクスポート

GuardDuty では、アクティブな結果を CloudWatch イベントにエクスポートできます。オプションで Amazon S3 バケットにもエクスポートできます。GuardDuty によって生成された新しいアクティブな結果は、結果の生成後約 5 分以内に自動的にエクスポートされます。アクティブな結果に対する更新を CloudWatch イベントにエクスポートする頻度を設定できます。選択した頻度は、既存の結果が CloudWatch イベント、S3 バケット(設定されている場合)、および Detective(統合されている場合)へのエクスポートに適用されます。既存の結果の更新の詳細については、」GuardDuty 結果の集約

結果のエクスポート設定について、以下の点に注意してください。

  • エクスポート設定はリージョンです。つまり、GuardDuty を使用しているリージョンごとにエクスポートオプションを設定する必要があります。ただし、で GuardDuty を使用する各リージョンのエクスポート先として、1 つのリージョンで同じバケットを使用できます。

  • アーカイブされた結果 (抑制された結果の新しいインスタンスも含む) はエクスポートされません。結果のアーカイブを解除すると、そのステータスがアクティブに設定され、次の間隔でエクスポートされます。

  • GuardDuty 管理者アカウントで結果のエクスポートを有効にすると、現在のリージョンで生成された関連付けられたメンバーアカウントからのすべての結果も、管理者アカウント用に構成されている同じ場所にエクスポートされます。

Active 調査結果を Amazon S3 バケットにエクスポートするための設定を構成するには、GuardDuty が調査結果を暗号化するために使用できる KMS キーと、GuardDuty がオブジェクトをアップロードできるアクセス許可を持つ S3 バケットが必要です。調査結果のエクスポートと頻度の構成方法については、このトピックを参照してください。

調査結果のエクスポートを構成するために必要な権限

結果のエクスポートオプションを設定するときは、結果を保存するバケットと、データ暗号化に使用する KMS キーを選択します。GuardDuty アクションに対するアクセス許可に加えて、結果のエクスポートのオプションを設定するには、以下のアクションに対するアクセス許可も必要です。

  • kms:ListAliases

  • s3:CreateBucket

  • s3:GetBucketLocation

  • s3:ListAllMyBuckets

  • s3:PutBucketAcl

  • s3:PutBucketPublicAccessBlock

  • s3:PutBucketPolicy

  • s3:PutObject

重要

ポリシーが明示的に拒否した場合putObjectAcl結果の公開はできません。

KMS キーへの GuardDuty アクセス許可の付与

GuardDuty では、バケット内の結果データをAWS KMSキー。結果のエクスポートを正常に設定するには、まず、KMS キーを使用するアクセス権限を GuardDuty に付与する必要があります。アクセス権限は、使用するキーのキーポリシーを変更することで付与します。

GuardDuty の結果に新しいキーを使用する予定の場合は、キーを作成する先に進む前に。別のアカウントでキーを使用している場合は、キーを所有するアカウントにログインして、キーポリシーを適用する必要があります。エクスポート設定を定義するときは、別のアカウントのキーのキー ARN も必要です。

キーポリシーを変更して、GuardDuty でキーを使用できるようにするには

  1. AWS KMS コンソール (https://console.aws.amazon.com/kms) を開きます。

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

  3. エクスポートされた結果の暗号化に使用する新しいキーを作成するか、既存のキーを選択します。キーはバケットと同じリージョンにある必要がありますが、調査結果をエクスポートするリージョンごとに、この同じバケットとkey pair を使用できます。

  4. キーを選択し、キーの ARN を全般的な構成パネル。

  5. []キーポリシー] で、編集

    ヒント

    [Switch to policy view (ポリシービューに切り替える)] が表示された場合はそれを選択してキーポリシーを表示してから、[Edit (編集)] を選択します。

  6. キーへの GuardDuty アクセスを許可する次のステートメントをポリシーに追加します。このステートメントでは、GuardDuty では、ポリシーを変更するためのキーのみの使用をに許可できます。キーポリシーを編集するときは、JSON 構文が有効であることを確認してください。最後のステートメントの前にステートメントを追加する場合は、閉じ括弧の後にカンマを追加する必要があります。

    { "Sid": "Allow GuardDuty to use the key", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "kms:GenerateDataKey", "Resource": "arn:aws:kms:region:111122223333:key/KMSKeyId" }
    注記

    手動で有効にしたリージョンで GuardDuty を使用している場合は、「service」の値をリージョンのリージョンエンドポイントに置き換えます。たとえば、中東 (バーレーン) リージョンで GuardDuty を使用している場合は、"Service": "guardduty.amazonaws.com""Service": "guardduty.me-south-1.amazonaws.com"

  7. [Save] (保存) をクリックします。

  8. (オプション)既存のバケットを使用する場合は、キー ARN をメモ帳にコピーして、後の手順で使用します。キー ARN を検索するには、キー ID と ARN を検索する

バケットへの GuardDuty アクセス許可の付与

アカウントで既存のバケットを使用する場合、または別のAWSアカウントを使用する場合は、そのバケットにオブジェクトをアップロードするための GuardDuty アクセス権限を付与する必要があります。これらのアクセス権限をに付与するにはS3 バケットのポリシーの追加。既存のバケットを使用している場合は、次のセクションを展開して、バケットポリシーを追加する手順を順を追って説明します。

  1. https://console.aws.amazon.com/s3/ で Amazon S3 コンソールを開きます。

  2. エクスポートされた結果に使用するバケットを選択します。

  3. [Permissions (アクセス許可)] を選択し、[Bucket Policy (バケットポリシー)] を選択します。

  4. のコピーポリシーの例を選択し、それをバケットポリシーエディタ

  5. ポリシー例のプレースホルダの値を、環境に適した値に置き換えます。

    myBucketName は、バケットポリシーを追加するバケットの名前に置き換えます。置換[省略可能なプレフィックス]をエクスポートした結果用のフォルダの場所に置き換えます (GuardDuty は、セットアップ中にこの場所を作成します)。region は、KMS キーがあるリージョンに置き換えます。置換111122223333とAWSバケットを所有するアカウントのアカウント番号で、KMSKeyIdは、暗号化に使用するキーのキー ID に置き換えます。

ポリシーの例

以下のポリシー例では、Amazon S3 バケットに結果を送信するための GuardDuty アクセス権限をに付与する方法を示しています。結果のエクスポートを設定した後にパスを変更する場合は、新しい場所に対するアクセス許可を付与するように、ポリシーを変更する必要があります。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow GuardDuty to use the getBucketLocation operation", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::myBucketName" }, { "Sid": "Allow GuardDuty to upload objects to the bucket", "Effect": "Allow", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/*" }, { "Sid": "Deny unencrypted object uploads. This is optional", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption": "aws:kms" } } }, { "Sid": "Deny incorrect encryption header. This is optional", "Effect": "Deny", "Principal": { "Service": "guardduty.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/*", "Condition": { "StringNotEquals": { "s3:x-amz-server-side-encryption-aws-kms-key-id": "arn:aws:kms:region:111122223333:key/KMSKeyId" } } }, { "Sid": "Deny non-HTTPS access", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::myBucketName/[optional prefix]/*", "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }
注記

手動で有効にしたリージョンで GuardDuty を使用している場合は、サービスの値をリージョンのリージョンエンドポイントに置き換えます。たとえば、中東 (バーレーン) リージョンで GuardDuty を使用している場合は、"Service": "guardduty.amazonaws.com""guardduty.me-south-1.amazonaws.com"

コンソールを使用したバケットへの結果のエクスポート

結果のエクスポートを設定するときは、既存の S3 バケットを選択するか、エクスポートされた結果を保存する新しいバケットを GuardDuty で作成することができます。新しいバケットの使用を選択した場合、GuardDuty は作成したバケットに必要なすべてのアクセス権限を適用します。既存のバケットを使用する場合は、まずバケットポリシーを更新して、GuardDuty でバケットに結果を配置できるようにする必要があります。

調査結果を別のアカウントの既存のバケットにエクスポートすることもできます。

アカウントで新規または既存のバケットを選択するときに、プレフィックスを追加できます。調査結果を設定する場合、GuardDuty は調査結果の S3 バケットに新しいフォルダを作成します。接頭辞は、GuardDuty によって作成されたデフォルトのフォルダ構造の前に付加されます。/AWSLogs/111122223333/GuardDuty/Region

重要

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

これらの手順を完了する前に、KMS キーを設定していることを確認し、既存のバケットを使用している場合は、GuardDuty でオブジェクトを作成できるようにバケットポリシーを追加します。

New bucket in your account

新しいバケットを使用して結果のエクスポートを設定するには

  1. GuardDuty が調査結果を暗号化するために使用する KMS キーにポリシーを追加します。ポリシーの例については、「」を参照してください。KMS キーへの GuardDuty アクセス許可の付与

  2. GuardDuty コンソール () を開きます。https://console.aws.amazon.com/guardduty/

  3. [設定] を選択します。

    1. [New bucket (新規バケット)] を選択して、エクスポートされた結果を保存する新しいバケットを作成します。

      [Name the bucket (バケットに名前を付ける)] フィールドに、バケットの名前を入力します。名前はすべての S3 バケットで一意である必要があります。バケット名の先頭は小文字の英数字にする必要があります。

    2. あなたが使用した場合[optional prefix]にプレフィックスを入力するには、ログファイルのプレフィックス、それ以外の場合はオプションです。値を入力すると、フィールドの下にあるパスの例が更新され、エクスポートされた結果を保存するバケットの場所へのパスが反映されます。

    3. [KMS encryption (KMS 暗号化)] で、次のいずれかを行います。

      • [Choose key from your account (このアカウントからキーを選択)] を選択します。

        次に、[Key alias (キーエイリアス)] リストから、ポリシーを変更したキーのキーエイリアスを選択します。

      • [Choose key from another account (別のアカウントからキーを選択)] を選択します。

        次に、ポリシーを変更したキーの完全な ARN を入力します。

        選択するキーは、バケットと同じリージョンにある必要があります。キー ARN の検索方法については、「」を参照してください。キー ID と ARN を検索する

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

Existing bucket in your account

既存のバケットを使用して結果のエクスポートを設定するには

  1. GuardDuty が調査結果を暗号化するために使用する KMS キーにポリシーを追加します。ポリシーの例については、「」を参照してください。KMS キーへの GuardDuty アクセス許可の付与

  2. S3 バケットにオブジェクトをアップロードする GuardDuty アクセス権限を付与するポリシーをアタッチします。ポリシーの例については、「」を参照してください。バケットへの GuardDuty アクセス許可の付与

  3. GuardDuty コンソール () を開きます。https://console.aws.amazon.com/guardduty/

  4. [設定] を選択します。

    1. 選択アカウントの既存のバケット

      バケットにという名前を付けます。フィールドに、バケットの名前を入力します。

    2. オプション。[]ログファイルのプレフィックスに、使用するパスのプレフィックスを入力します。GuardDuty は、指定されたプレフィックス名を持つ新しいフォルダをバケット内に作成します。値を入力すると、フィールドの下にあるパスの例が更新され、バケットにあるエクスポートされた結果へのパスが反映されます。

    3. [KMS encryption (KMS 暗号化)] で、次のいずれかを行います。

      • [Choose key from your account (このアカウントからキーを選択)] を選択します。

        次に、[Key alias (キーエイリアス)] リストから、ポリシーを変更したキーのキーエイリアスを選択します。

      • [Choose key from another account (別のアカウントからキーを選択)] を選択します。

        次に、ポリシーを変更したキーの完全な ARN を入力します。

        選択するキーは、バケットと同じリージョンにある必要があります。キー ARN の検索方法については、「」を参照してください。キー ID と ARN を検索する

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

Existing bucket in another account

別のアカウントの既存のバケットを使用して結果のエクスポートを設定するには

  1. GuardDuty が調査結果を暗号化するために使用する KMS キーにポリシーを追加します。ポリシーの例については、「」を参照してください。KMS キーへの GuardDuty アクセス許可の付与

  2. 別のアカウントの S3 バケットにオブジェクトをアップロードする GuardDuty アクセス権限を付与するポリシーをアタッチします。ポリシーの例については、「」を参照してください。バケットへの GuardDuty アクセス許可の付与

    注記

    ポリシーでバケットを所有するアカウントのアカウント ID を使用します。

  3. GuardDuty コンソール () を開きます。https://console.aws.amazon.com/guardduty/

  4. [設定] を選択します。

    1. [Existing bucket in another account (別のアカウントの既存のバケット)] を選択します。

    2. [Bucket ARN field (バケット ARN フィールド)] に、使用する別のアカウントのバケットの ARN を入力します。

    3. []KMS 暗号化ポリシーを変更したキーの完全な ARN を入力します。

      選択するキーは、バケットと同じリージョンにある必要があります。キー ARN の検索方法については、「」を参照してください。キー ID と ARN を検索する

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

エクスポートアクセスエラー

結果のエクスポートオプションを構成した後、GuardDuty が結果をエクスポートできない場合、エラーメッセージが表示されます。設定ページで. これは、S3 バケットが削除された場合や、バケットへのアクセス権限が変更された場合など、GuardDuty がターゲットリソースにアクセスできなくなった場合に発生します。また、バケット内のデータの暗号化に使用される KMS キーにアクセスできなくなった場合にも発生します。

エクスポートに失敗すると、GuardDuty はアカウントに関連付けられた電子メールに通知を送信し、問題について通知します。問題が解決しない場合は、GuardDuty によってアカウントの結果のエクスポート無効になります。設定を更新して、結果のエクスポートをいつでも再開できます。

このエラーを受け取った場合は、結果のエクスポートを有効にして設定する方法に関するこのトピックの情報を確認してください。たとえば、キーポリシーを確認し、暗号化用に選択した KMS キーに正しいポリシーが適用されていることを確認します。

更新されたアクティブな調査結果をエクスポートする頻度の設定

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

頻度を設定するには

  1. にサインインします。AWS Management Consoleにアクセスして、GuardDuty コンソールを開きます。https://console.aws.amazon.com/guardduty/

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

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

    • Update CWE and S3 every 15 minutes (CWE と S3 を 15 分ごとに更新)

    • Update CWE and S3 every 1 hour (CWE と S3 を 1 時間ごとに更新)

    • Update CWE and S3 every 6 hours (default) (CWE と S3 を 6 時間ごとに更新 (デフォルト))

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