AWS WAF ポリシー - AWS WAF、 AWS Firewall Manager、および AWS Shield Advanced

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

AWS WAF ポリシー

Firewall Manager AWS WAF ポリシーでは、リソース全体で使用する AWS WAF ルールグループを指定します。ポリシーを適用すると、Firewall Manager は、ポリシーACLsでウェブの管理を設定する方法に応じて、ポリシー範囲内のアカウントにウェブACLsを作成します。ポリシーによってACLs作成されたウェブでは、個々のアカウントマネージャーは、Firewall Manager で定義したルールグループに加えて、ルールとルールグループを追加できます。

Firewall Manager がウェブを管理する方法 ACLs

Firewall Manager は、ポリシーで関連付けられていないウェブの管理設定、または SecurityServicePolicyDataのデータ型でoptimizeUnassociatedWebACLの設定方法ACLsに基づいてウェブを作成しますAPI。 ACLs

関連付けられていないウェブ の管理を有効にするとACLs、Firewall Manager は、ウェブACLsが少なくとも 1 つのリソースによって使用される場合にのみACLs、ポリシー範囲内のアカウントにウェブを作成します。アカウントがポリシーの範囲に入ると、少なくとも 1 つのリソースがウェブ を使用する場合、Firewall Manager はアカウントACL内にウェブを自動的に作成しますACL。関連付けられていないウェブ の管理を有効にするとACLs、Firewall Manager はアカウントACLsで関連付けられていないウェブの 1 回限りのクリーンアップを実行します。クリーンアップ中、Firewall Manager は、ルールグループをウェブに追加ACLしたり、設定を変更したりするなど、作成後に変更ACLsしたウェブをスキップします。このクリーンアッププロセスには、数時間かかることがあります。Firewall Manager がウェブ を作成した後にリソースがポリシーの範囲から外れた場合ACL、Firewall Manager はリソースとウェブ の関連付けを解除しますがACL、関連付けられていないウェブ はクリーンアップされませんACL。Firewall Manager は、ポリシーACLsで関連付けられていないウェブの管理を最初に有効にACLsした場合にのみ、関連付けられていないウェブをクリーンアップします。

このオプションを有効にしない場合、Firewall Manager は関連付けられていないウェブ を管理しずACLs、Firewall Manager はポリシー範囲内ACLの各アカウントにウェブを自動的に作成します。

サンプリングと CloudWatch メトリクス

AWS Firewall Manager は、 AWS WAF ポリシー用に作成するウェブおよびルールグループのサンプリングACLsと Amazon CloudWatch メトリクスを有効にします。

ウェブACL命名構造

Firewall Manager は、ポリシーACLのウェブを作成するときに、ウェブACLに という名前を付けますFMManagedWebACLV2-policy name-timestamp。タイムスタンプはUTCミリ秒単位です。例えば、FMManagedWebACLV2-MyWAFPolicyName-1621880374078 と指定します。

注記

高度な自動アプリケーションレイヤーDDoS緩和で設定されたリソースが AWS WAF ポリシーの範囲内にある場合、Firewall Manager は AWS WAF ポリシーによってACL作成されたウェブをリソースに関連付けることができません。

AWS WAF ポリシー内のルールグループ

Firewall Manager AWS WAF ポリシーによって管理ACLsされるウェブには、3 つのルールセットが含まれています。これらのセットは、ウェブ のルールとルールグループの優先順位を高めますACL。

  • Firewall Manager AWS WAF ポリシーで定義した最初のルールグループは、これらのルールグループを最初に AWS WAF 評価します。

  • ウェブ のアカウントマネージャーによって定義されたルールとルールグループACLs。 AWS WAF は次にアカウント管理のルールまたはルールグループを評価します。

  • Firewall Manager AWS WAF ポリシーで定義した最後のルールグループは、これらのルールグループを最後に AWS WAF 評価します。

これらのルールの各セット内で、 は、セット内の優先順位設定に従って、通常どおりルールとルールグループ AWS WAF を評価します。

ポリシーの最初と最後のルールグループセットでは、ルールグループのみを追加できます。マネージドルールグループを使用できます。マネージドルールグループは、 AWS マネージドルールと AWS Marketplace 販売者がユーザーに代わって作成および維持します。独自のルールグループを管理して使用することもできます。これらのすべてのオプションの詳細については、「AWS WAF ルールグループ」を参照してください。

独自のルールグループを使用する場合は、Firewall Manager AWS WAF ポリシーを作成する前にそれらのグループを作成します。ガイダンスについては、「独自のルールグループの管理」を参照してください。個々のカスタムルールを使用するには、独自のルールグループを定義し、その中にルールを定義してから、ポリシーでそのルールグループを使用する必要があります。

Firewall Manager で管理する最初と最後の AWS WAF ルールグループの名前はPOSTFMManaged-、それぞれ PREFMManaged-または で始まり、その後に Firewall Manager ポリシー名とルールグループ作成タイムスタンプがUTCミリ秒単位で続きます。例えば、PREFMManaged-MyWAFPolicyName-1621880555123 と指定します。

がウェブリクエスト AWS WAF を評価する方法については、「」を参照してくださいウェブ ACL ルールおよびルールグループの評価

Firewall Manager AWS WAF ポリシーを作成する手順については、「」を参照してくださいの AWS Firewall Manager ポリシーの作成 AWS WAF

Firewall Manager は、 AWS WAF ポリシーに定義したルールグループのサンプリングと Amazon CloudWatch メトリクスを有効にします。

個々のアカウント所有者は、ポリシーのマネージドウェブ に追加するルールまたはルールグループのメトリクスとサンプリング設定を完全に制御できますACLs。

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、 に対してこのオプションをサポートします。

ログ記録の送信先

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

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

注記

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

Amazon Data Firehose データストリーム

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

Amazon Data Firehose ログ記録を有効にすると、Firewall Manager ACLsは、ポリシーのウェブから、ストレージ送信先を設定した Amazon Data Firehose にログを送信します。ログ記録を有効にすると、 は Kinesis Data Firehose のHTTPSエンドポイントを介してACL、設定された各ウェブ のログを設定されたストレージ宛先に 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 は、アカウントがポリシーの範囲内にあるかどうかにかかわらず、ACLFirewall Manager 管理者アカウントにウェブを作成します。

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

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

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

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

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

Amazon Simple Storage Service バケット

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

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

結果整合性

Amazon S3 のログ記録先で設定された AWS WAF ポリシーを変更すると、Firewall Manager はバケットポリシーを更新して、ログ記録に必要なアクセス許可を追加します。その場合、Firewall Manager は Amazon Simple Storage Service が従う last-writer-wins セマンティクスモデルとデータ整合性モデルに従います。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)」を参照してください。

ログ作成の有効化

次の手順では、Firewall Manager コンソールで AWS WAF ポリシーのログ記録を有効にする方法について説明します。

AWS WAF ポリシーのログ記録を有効にするには
  1. ログ記録を有効にする前に、次のようにログ記録の出力先リソースを設定する必要があります。

    • Amazon Kinesis Data Streams - Firewall Manager 管理者アカウントを使用して Amazon Data Firehose を作成します。プレフィックス aws-waf-logs- で始まる名前を使用します。例えば、aws-waf-logs-firewall-manager-central と指定します。自分が操作しているリージョン内で、PUT ソースを使用して Data Firehose を作成します。Amazon のログをキャプチャする場合は CloudFront、米国東部 (バージニア北部) に Firehose を作成します。それを使用する前に、配信ストリームをテストして、組織のログに対応するのに十分なスループットがあることを確認します。詳細については、「Creating an Amazon Data Firehose Delivery Stream」を参照してください。

    • Amazon Simple Storage Service バケット – 「AWS WAF デベロッパーガイド」の「Amazon Simple Storage Service」トピックにあるガイドラインに従って、Amazon S3 バケットを作成します。また、Amazon S3 に対しログを発行するためのアクセス許可 に一覧されているアクセス許可を使用して、Amazon S3 バケットを設定する必要があります。

  2. Firewall Manager 管理者アカウント AWS Management Console を使用して にサインインし、 で Firewall Manager コンソールを開きますhttps://console.aws.amazon.com/wafv2/fmsv2。Firewall Manager 管理者アカウントの設定については、「AWS Firewall Manager 前提条件」を参照してください。

    注記

    Firewall Manager 管理者アカウントの設定については、「AWS Firewall Manager 前提条件」を参照してください。

  3. ナビゲーションペインで、[Security Policies] (セキュリティポリシー) を選択します。

  4. ログ記録を有効にする AWS WAF ポリシーを選択します。 AWS WAF ログ記録の詳細については、「AWS WAF ウェブ ACL トラフィックのログ記録」を参照してください。

  5. [Policy details] (ポリシーの詳細) タブの [Policy rules] (ポリシールール) セクションで、[Edit] (編集) を選択します。

  6. [ログ記録設定] で、[ログ記録を有効にする] を選択してログ記録をオンにします。ログ記録は、ウェブ によって分析されるトラフィックに関する詳細情報を提供しますACL。[ログの出力先] を選択し、設定したログ記録の送信先を選択します。名前が aws-waf-logs- で始まるログ記録先を選択する必要があります。 AWS WAF ログ記録の送信先の設定については、「」を参照してくださいAWS WAF ポリシーのログ記録の設定

  7. (オプション) 特定のフィールドとその値がログに含まれることを希望しない場合には、このフィールドをマスキングします。マスキングするフィールドを選び、[Add] (追加) を選択します。必要に応じて手順を繰り返し、追加のフィールドをマスキングします。マスキングされたフィールドは、ログに REDACTED と表示されます。例えば、 URIフィールドを編集すると、ログの URIフィールドは になりますREDACTED

  8. (オプション) すべてのリクエストをログに送信しない場合は、フィルタリング条件と動作を追加します。[Filter logs] (ログをフィルタリング) で、適用する各フィルターについて [Add filter] (フィルターを追加) を選択し、次にフィルター基準を選択して、基準に一致するリクエストを保持するかドロップするかを指定します。フィルターの追加が完了したら、必要に応じて、[Default logging behavior] (デフォルトのログ記録動作) を変更します。詳細については、「AWS WAF デベロッパーガイド」の 「ウェブ ACL ログ記録設定」を参照してください。

  9. [Next (次へ)] を選択します。

  10. 設定を確認し、[Save] (保存) を選択してポリシーに対する変更を保存します。

ログ記録の無効化

次の手順では、Firewall Manager コンソールで AWS WAF ポリシーのログ記録を無効にする方法について説明します。

AWS WAF ポリシーのログ記録を無効にするには
  1. Firewall Manager 管理者アカウント AWS Management Console を使用して にサインインし、 で Firewall Manager コンソールを開きますhttps://console.aws.amazon.com/wafv2/fmsv2。Firewall Manager 管理者アカウントの設定については、「AWS Firewall Manager 前提条件」を参照してください。

    注記

    Firewall Manager 管理者アカウントの設定については、「AWS Firewall Manager 前提条件」を参照してください。

  2. ナビゲーションペインで、[Security Policies] (セキュリティポリシー) を選択します。

  3. ログ記録を無効にする AWS WAF ポリシーを選択します。

  4. [Policy details] (ポリシーの詳細) タブの [Policy rules] (ポリシールール) セクションで、[Edit] (編集) を選択します。

  5. [Logging configuration status] (ログ記録設定ステータス) で、[Disabled] (無効) を選択します。

  6. [Next] (次へ) を選択します。

  7. 設定を確認し、[Save] (保存) を選択してポリシーに対する変更を保存します。