ログ記録の送信先 - AWS WAF、 AWS Firewall Manager、および AWS Shield Advanced

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

ログ記録の送信先

このセクションでは、 AWS WAF ポリシーログの送信先として選択できるログ記録先について説明します。各セクションでは、送信先の種類のログを設定するためのガイダンスと、送信先の種類に固有の動作に関する情報を提供します。ログ記録先を設定したら、Firewall Manager AWS WAF ポリシーにその仕様を指定して、ログ記録を開始できます。

AWS WAF ポリシーの集中ログ記録を有効にして、組織ACL内のウェブによって分析されるトラフィックに関する詳細情報を取得できます。ログの情報には、 AWS リソースからリクエスト AWS WAF を受け取った時間、リクエストに関する詳細情報、各リクエストがすべての範囲内アカウントから一致したルールのアクションが含まれます。ログは、Amazon Data Firehose データストリームまたは Amazon Simple Storage Service (S3) バケットに送信できます。 AWS WAF でのログ記録の詳細については、「AWS WAF デベロッパーガイド」の「ログ記録 AWS WAF ウェブACLトラフィック」を参照してください。

注記

AWS Firewall Manager はこのオプションを AWS WAF Classic ではなく AWS WAFV2でサポートします。

Firewall Manager では、ログ記録設定を作成した後でログの失敗を可視化することはできません。ログ配信が意図したとおりに機能していることを確認するのはユーザーの責任になります。

注記

Firewall Manager は、組織のメンバーアカウントの既存のログ記録設定を変更しません。

Amazon Data Firehose データストリーム

このトピックでは、Amazon Data Firehose データストリームにウェブACLトラフィックログを送信するための情報を提供します。

Amazon Data Firehose ログ記録を有効にすると、Firewall Manager はポリシーのウェブから、ストレージ送信先を設定した Amazon Data Firehose ACLsにログを送信します。ログ記録を有効にするとACL、 は、Kinesis Data Firehose のHTTPSエンドポイントを介して、設定された各ウェブ のログを、設定されたストレージ宛先に AWS WAF 配信します。それを使用する前に、配信ストリームをテストして、組織のログに対応するのに十分なスループットがあることを確認します。Amazon Kinesis Data Firehose を作成し、保存されたログを確認する方法の詳細については、「Amazon Data Firehose とは」を参照してください。

Kinesis によるログ記録を正常に有効化するには、以下の許可が付与されている必要があります。

  • iam:CreateServiceLinkedRole

  • firehose:ListDeliveryStreams

  • wafv2:PutLoggingConfiguration

AWS WAF ポリシーで Amazon Data Firehose ログ記録の送信先を設定すると、Firewall Manager は Firewall Manager 管理者アカウントにポリシーACLのウェブを次のように作成します。

  • Firewall Manager は、アカウントがポリシーの対象であるかどうかに関係なくACL、Firewall Manager 管理者アカウントにウェブを作成します。

  • ウェブACLではログが有効になっており、ログ名は です。FMManagedWebACLV2-Loggingpolicy name-timestampタイムスタンプは、ウェブ でログが有効になったUTC時刻をミリ秒ACL単位で表したものです。例えば、FMManagedWebACLV2-LoggingMyWAFPolicyName-1621880565180 と指定します。ウェブACLにはルールグループがなく、関連するリソースもありません。

  • AWS WAF 料金ガイドラインACLに従ってウェブ料金が請求されます。詳細については、「AWS WAF 料金」を参照してください。

  • Firewall Manager は、ポリシーを削除するACLとウェブを削除します。

サービスにリンクされたロールおよび iam:CreateServiceLinkedRole 許可の詳細については、「のサービスにリンクされたロールの使用 AWS WAF」を参照してください。

配信ストリームの作成の詳細については、「Amazon Data Firehose 配信ストリームの作成」を参照してください。

Amazon Simple Storage Service バケット

このトピックでは、Amazon S3 バケットにウェブACLトラフィックログを送信するための情報を提供します。

ログ記録の出力先として選択するバケットは、Firewall Manager の管理者アカウントが所有している必要があります。ログ記録用に Amazon S3 バケットを作成する際の要件、およびバケット命名における要件の情報については、「AWS WAF デベロッパーガイド」の「Amazon Simple Storage Service」を参照してください。

結果整合性

Amazon S3 ログ記録先で設定された AWS WAF ポリシーを変更すると、Firewall Manager はバケットポリシーを更新して、ログ記録に必要なアクセス許可を追加します。その場合、Firewall Manager は last-writer-wins Amazon Simple Storage Service が従うセマンティクスとデータ整合性モデルに従います。Firewall Manager コンソールまたは を介して Amazon S3 送信先に対して複数のポリシーを同時に更新するとPutPolicyAPI、一部のアクセス許可が保存されない場合があります。Amazon S3 におけるデータ整合性モデルの詳細については、「Amazon Simple Storage Service ユーザーガイド」の「 Amazon S3 のデータ整合性モデル」を参照してください。

Amazon S3 に対しログを発行するためのアクセス許可

AWS WAF ポリシーで Amazon S3 バケットのウェブACLトラフィックログ記録を設定するには、次のアクセス許可設定が必要です。Amazon S3 をログ記録の出力先として設定すると、Firewall Manager は、サービスがバケットに対しログを公開することを許可するために、これらのアクセス許可を Amazon S3 バケットに自動的にアタッチします。ログ記録と Firewall Manager リソースへのよりきめ細かいアクセスを管理したい場合は、自分でこれらの許可を設定できます。アクセス許可の管理の詳細については、「 ユーザーガイド」の「リソースの AWS アクセス管理」を参照してください。 IAM AWS WAF 管理ポリシーの詳細については、「」を参照してくださいAWS の マネージドポリシー AWS WAF

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryForFirewallManager", "Statement": [ { "Sid": "AWSLogDeliveryAclCheckFMS", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-amzn-s3-demo-bucket" }, { "Sid": "AWSLogDeliveryWriteFMS", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/policy-id/AWSLogs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

サービス間での混乱した代理問題を防ぐためには、aws:SourceArn および aws:SourceAccount グローバル条件コンテキストキーを、バケットのポリシーに追加できます。これらのキーを追加する場合は、ログの出力先を設定する際に Firewall Manager により作成されたポリシーを変更します。あるいは、よりきめ細かな制御が必要な場合には、独自のポリシーを作成することができます。これらの条件をログ記録出力先のポリシーに追加した場合、Firewall Manager は、混乱した代理に関する保護の検証またはモニタリングを行いません。混乱した代理問題に関する一般的な情報については、「混乱した代理問題」を参照してください。
 IAMユーザーガイド の「」を参照してください。

sourceAccount および sourceArn のプロパティを追加すると、バケットポリシーのサイズが増加します。sourceAccount および sourceArn プロパティから成る長いリストを追加する場合は、Amazon S3 のバケットポリシーのサイズが上限を超えないように注意してください。

次の例で、 ロールポリシーで aws:SourceArn および aws:SourceAccount のグローバル条件コンテキストを使用して、混乱した代理問題を防止する方法を示します。置換 member-account-id 組織内のメンバーIDsの アカウント。

{ "Version":"2012-10-17", "Id":"AWSLogDeliveryForFirewallManager", "Statement":[ { "Sid":"AWSLogDeliveryAclCheckFMS", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:GetBucketAcl", "Resource":"arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket", "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "member-account-id", "member-account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:*:member-account-id:*", "arn:aws:logs:*:member-account-id:*" ] } } }, { "Sid":"AWSLogDeliveryWriteFMS", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/policy-id/AWSLogs/*", "Condition":{ "StringEquals":{ "s3:x-amz-acl":"bucket-owner-full-control", "aws:SourceAccount":[ "member-account-id", "member-account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:*:member-account-id-1:*", "arn:aws:logs:*:member-account-id-2:*" ] } } } ] }

Amazon S3 バケットのサーバー側の暗号化

Amazon S3 サーバー側の暗号化を有効にするか、S3 バケットで AWS Key Management Service カスタマーマネージドキーを使用できます。 AWS WAF ログに Amazon S3 バケットでデフォルトの Amazon S3 暗号化を使用する場合、特別なアクションを実行する必要はありません。ただし、お客様が提供する暗号化キーを使用して保管中の Amazon S3 データを暗号化する場合は、 AWS Key Management Service キーポリシーに次のアクセス許可ステートメントを追加する必要があります。

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

Amazon S3 での顧客提供の暗号化キーの使用については、Amazon Simple Storage Service ユーザーガイド「顧客提供のキーによるサーバー側の暗号化の使用 (SSE-C)」を参照してください。