

**推出 的新主控台體驗 AWS WAF**

您現在可以使用更新後的體驗，在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊，請參閱[使用 主控台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 記錄目的地
<a name="waf-policies-logging-destinations"></a>

本節說明您可以選擇傳送 AWS WAF 政策日誌的記錄目的地。每節都會提供為目的地類型設定記錄的指引，以及目的地類型專屬行為的相關資訊。設定記錄目的地之後，您可以將其規格提供給 Firewall Manager AWS WAF 政策，以開始記錄。

建立記錄組態後，防火牆管理員無法查看日誌失敗。您有責任確認日誌交付是否如預期般運作。

Firewall Manager 不會修改組織成員帳戶中任何現有的記錄組態。

**Topics**
+ [Amazon Data Firehose 資料串流](#waf-policies-logging-destinations-kinesis-data-firehose)
+ [Amazon Simple Storage Service 儲存貯體](#waf-policies-logging-destinations-s3)

## Amazon Data Firehose 資料串流
<a name="waf-policies-logging-destinations-kinesis-data-firehose"></a>

本主題提供將 Web ACL 流量日誌傳送至 Amazon Data Firehose 資料串流的資訊。

當您啟用 Amazon Data Firehose 記錄時，防火牆管理員會將日誌從政策的 Web ACLs 傳送至您已設定儲存目的地的 Amazon Data Firehose。啟用記錄後， 會透過 Kinesis Data Firehose 的 HTTPS 端點，將每個已設定 Web ACL 的日誌 AWS WAF 傳遞至設定的儲存目的地。使用之前，請先測試您的交付串流，以確保其具有足夠的輸送量來容納組織的日誌。如需如何建立 Amazon Kinesis Data Firehose 和檢閱存放日誌的詳細資訊，請參閱[什麼是 Amazon Data Firehose？](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)

您必須具有下列許可，才能成功使用 Kinesis 啟用記錄：
+ `iam:CreateServiceLinkedRole`
+ `firehose:ListDeliveryStreams`
+ `wafv2:PutLoggingConfiguration`

當您在 AWS WAF 政策上設定 Amazon Data Firehose 記錄目的地時， Firewall Manager 會在 Firewall Manager 管理員帳戶中為政策建立 Web ACL，如下所示：
+ Firewall Manager 會在 Firewall Manager 管理員帳戶中建立 Web ACL，無論帳戶是否在政策範圍內。
+ Web ACL 已啟用日誌記錄，日誌名稱為 `FMManagedWebACLV2-Logging{{policy name}}-{{timestamp}}`，其中時間戳記是為 Web ACL 啟用日誌的 UTC 時間，以毫秒為單位。例如 `FMManagedWebACLV2-LoggingMyWAFPolicyName-1621880565180`。Web ACL 沒有規則群組，也沒有相關聯的資源。
+ 您需要根據 AWS WAF 定價準則支付 Web ACL 的費用。如需詳細資訊，請參閱[AWS WAF 定價](https://aws.amazon.com/waf/pricing/)。
+ Firewall Manager 會在您刪除政策時刪除 Web ACL。

如需服務連結角色和 `iam:CreateServiceLinkedRole` 許可的相關資訊，請參閱 [使用 的服務連結角色 AWS WAF](using-service-linked-roles.md)。

如需建立交付串流的詳細資訊，請參閱[建立 Amazon Data Firehose 交付串流](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)。

## Amazon Simple Storage Service 儲存貯體
<a name="waf-policies-logging-destinations-s3"></a>

本主題提供將 Web ACL 流量日誌傳送至 Amazon S3 儲存貯體的資訊。

您選擇做為記錄目的地的儲存貯體必須由 Firewall Manager 管理員帳戶擁有。如需建立 Amazon S3 儲存貯體以進行記錄和儲存貯體命名需求的相關資訊，請參閱《 *AWS WAF 開發人員指南*》中的 [Amazon Simple Storage Service](https://docs.aws.amazon.com/waf/latest/developerguide/logging-s3.html)。

**最終一致性**  
當您變更使用 Amazon S3 記錄目的地設定 AWS WAF 的政策時，防火牆管理員會更新儲存貯體政策，以新增記錄所需的許可。執行此操作時， Firewall Manager 會遵循 Amazon Simple Storage Service 遵循的last-writer-wins語意和資料一致性模型。如果您同時在 Firewall Manager 主控台或透過 [PutPolicy](https://docs.aws.amazon.com/fms/2018-01-01/APIReference/API_PutPolicy.html) API 對 Amazon S3 目的地進行多個政策更新，則可能不會儲存某些許可。如需 Amazon S3 資料一致性模型的詳細資訊，請參閱[《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 資料一致性模型](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html#ConsistencyModel)。 **

### 將日誌發佈至 Amazon S3 儲存貯體的許可
<a name="waf-policies-logging-s3-permissions"></a>

在 AWS WAF 政策中設定 Amazon S3 儲存貯體的 Web ACL 流量記錄需要下列許可設定。當您將 Amazon S3 設定為記錄目的地，以授予服務將日誌發佈至儲存貯體的許可時，防火牆管理員會自動將這些許可連接到您的 Amazon S3 儲存貯體。如果您想要管理對日誌記錄和 Firewall Manager 資源的更精細存取，您可以自行設定這些許可。如需有關管理許可的資訊，請參閱《*IAM 使用者指南*》中的[存取資源的 AWS 管理](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html)。如需 AWS WAF 受管政策的相關資訊，請參閱 [AWS 的 受管政策 AWS WAF](security-iam-awsmanpol.md)。

------
#### [ JSON ]

****  

```
{
    "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-destination-bucket}}-suffix"
        },
        {
            "Sid": "AWSLogDeliveryWriteFMS",
            "Effect": "Allow",
            "Principal": {
                "Service": "delivery.logs.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::aws-waf-logs-{{amzn-s3-demo-destination-bucket}}-suffix/{{policy-id}}/AWSLogs/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        }
    ]
}
```

------

若要避免跨服務混淆代理人問題，您可以將 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)和 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)全域條件內容索引鍵新增至儲存貯體的政策。若要新增這些金鑰，您可以修改 Firewall Manager 在您設定記錄目的地時為您建立的政策，或者如果您想要精細控制，您可以建立自己的政策。如果您將這些條件新增至記錄目的地政策，防火牆管理員不會驗證或監控混淆代理人保護。如需混淆代理人問題的一般資訊，請參閱[混淆代理人問題 ](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) *IAM 使用者指南*中的 。

當您新增`sourceAccount``sourceArn`屬性時，它會增加儲存貯體政策大小。如果您要新增較長的`sourceAccount`新增`sourceArn`屬性清單，請小心不要超過 Amazon S3 儲存[貯體政策大小](https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3)配額。

下列範例顯示如何在儲存貯體的政策中使用 `aws:SourceArn`和 `aws:SourceAccount`全域條件內容索引鍵，以防止混淆代理人問題。將 {{member-account-id}} 取代為您組織中成員的帳戶 IDs。

------
#### [ JSON ]

****  

```
{
   "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-destination-bucket}}-suffix",
         "Condition":{
            "StringEquals":{
               "aws:SourceAccount":[
               "{{111122223333}}",
               "{{444455556666}}"
               ]
            },
            "ArnLike":{
               "aws:SourceArn":[
               "arn:aws:logs:*:{{111122223333}}:*",
               "arn:aws:logs:*:{{444455556666}}:*"
               ]
            }
         }
      },
      {
         "Sid":"AWSLogDeliveryWriteFMS",
         "Effect":"Allow",
         "Principal":{
            "Service":"delivery.logs.amazonaws.com"
         },
         "Action":"s3:PutObject",
         "Resource":"arn:aws:s3:::aws-waf-logs-{{amzn-s3-demo-destination-bucket}}-suffix/{{policy-id}}/AWSLogs/*",
         "Condition":{
            "StringEquals":{
               "s3:x-amz-acl":"bucket-owner-full-control",
               "aws:SourceAccount":[
               "{{111122223333}}",
               "{{444455556666}}"
               ]
            },
            "ArnLike":{
               "aws:SourceArn":[
               "arn:aws:logs:*:{{111122223333}}:*",
               "arn:aws:logs:*:{{444455556666}}:*"
               ]
            }
         }
      }
   ]
}
```

------

#### Amazon S3 儲存貯體的伺服器端加密
<a name="waf-policies-logging-s3-kms-permissions"></a>

您可以啟用 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) 使用伺服器端加密](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html)。