

**引入全新的主机体验 AWS WAF**

现在，您可以使用更新的体验访问控制台中任意位置的 AWS WAF 功能。有关更多详细信息，请参阅[使用控制台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在中创建保护包 (Web ACL) AWS WAF
<a name="web-acl-creating"></a>

------
#### [ Using the new console ]

本节提供通过新 AWS 控制台创建保护包 (Web ACLs) 的过程。

要创建新的保护包（web ACL），请按照本页上的步骤使用保护包（web ACL）创建向导。

**生产流量风险**  
在保护包（web ACL）中为生产流量部署更改之前，请在暂存或测试环境中对其进行测试和调整，直到您对流量可能产生的影响感到满意。然后，在启用之前，在计数模式下使用生产流量对更新后的规则进行测试和调整。有关指南，请参阅[测试和调整您的 AWS WAF 保护措施](web-acl-testing.md)。

**注意**  
在保护包 (Web ACL) WCUs 中使用超过 1,500 的保护包会产生超出基本保护包 (Web ACL) 价格的成本。有关更多信息，请参阅 [Web ACL 容量单位 (WCUs) AWS WAF](aws-waf-capacity-units.md) 和 [AWS WAF 定价](https://aws.amazon.com/waf/pricing/)。

1. 登录新版 AWS 管理控制台 并通过 [https://console.aws.amazon.com/waf](https://console.aws.amazon.com/wafv2-pro) v2-pro 打开 AWS WAF 控制台。

1. 在导航窗格中，选择**资源和保护包 (Web ACLs)**。

1. 在**资源和保护包 (Web ACLs)** 页面上，选择**添加保护包 (Web ACL)**。

1. 在**向我们介绍您的应用程序**下，对于**应用程序类别**，选择一个或多个应用程序类别。

1. 对于**流量源**，选择应用程序使用的流量类型：**API**、**Web** 或 **API 和 Web 兼具**。

1. 在**要保护的资源**下，选择**添加资源**。

1. 选择您要与该保护包关联的 AWS 资源类别（Web ACL），可以是 Amazon CloudFront 发行版或区域资源。有关更多信息，请参阅 [将保护与资源关联或取消关联 AWS](web-acl-associating-aws-resource.md)。

1. 在**选择初始保护**下，选择您的首选保护级别：**推荐**、**基本**或**自行构建**。

1. （可选）如果选择**自行构建**，请构建您的规则。

   1. （可选）如果要添加您自己的规则，请在**添加规则**页面上，选择**自定义规则**，然后选择**下一步**。

      1. 选择规则类型。

      1. 对于**操作**，选择您希望规则在与 web 请求匹配时执行的操作。有关您的选择的信息，请参阅 [在中使用规则操作 AWS WAF](waf-rule-action.md)和 [使用包含规则和规则组的保护包 (Web ACLs) AWS WAF](web-acl-processing.md)。

         如果您使用的是 **CAPTCHA** 或 **Challenge** 操作，请根据规则需要调整**免疫时间**配置。如果您未指定设置，则规则将从此保护包（web ACL）继承设置。要修改保护包（web ACL）免疫时间设置，请在创建保护包（web ACL）后对其进行编辑。有关免疫时间的更多信息，请参阅 [将时间戳到期时间和令牌免疫时间设置为 AWS WAF](waf-tokens-immunity-times.md)。
**注意**  
当您在其中一个规则中使用 CAPTCHA 或 Challenge 规则操作或在规则组中将其作为规则操作覆盖时，您需要支付额外费用。有关更多信息，请参阅[AWS WAF 定价](https://aws.amazon.com/waf/pricing/)。

         如果您想自定义请求或响应，请选择相应选项并填写自定义的详细信息。有关更多信息，请参阅 [自定义的 Web 请求和响应 AWS WAF](waf-custom-request-response.md)。

         如果您想让您的规则为匹配的 web 请求添加标签，请选择相应选项并填写标签详细信息。有关更多信息，请参阅 [在 Web 请求中添加标签 AWS WAF](waf-labels.md)。

      1. 对于 **名称**，输入要用于标识此规则的名称。不要使用以 `AWS`、`Shield`、`PreFM` 或 `PostFM` 开头的名称。这些字符串要么是保留字符串，要么可能与其他服务所管理的规则组混淆。

      1. 根据您的需求输入您的规则定义。您可以在逻辑 `AND` 和 `OR` 规则语句中组合规则。该向导将根据上下文指导您学习每个规则的选项。有关规则选项的信息，请参阅 [AWS WAF 规则](waf-rules.md)。

      1. 选择 **Create rule**（创建规则）。
**注意**  
如果您向保护包 (Web ACL) 中添加多个规则，则 AWS WAF 会按照这些规则在保护包 (Web ACL) 中列出的顺序对这些规则进行评估。有关更多信息，请参阅 [使用包含规则和规则组的保护包 (Web ACLs) AWS WAF](web-acl-processing.md)。

   1. （可选）如果要添加托管规则组，请在**添加规则**页面上，选择 **AWS托管规则组**或 **AWS Marketplace 规则组**，然后选择**下一步**。对要添加的每个托管规则组执行以下操作：

      1. 在**添加规则**页面上，展开 AWS 托管规则组或 AWS Marketplace 卖家的列表。

      1. 选择规则组的版本。

      1. 要自定义保护包（web ACL）使用规则组的方式，请选择**编辑**。以下是常见的自定义设置：
         + 通过在**检查**部分添加范围缩小语句，缩小规则组检查的 web 请求范围。有关此选项的更多信息，请参阅 [在中使用范围缩小语句 AWS WAF](waf-rule-scope-down-statements.md)。
         + 在**规则覆盖**中，覆盖部分或全部规则的规则操作。如果您没有为规则定义覆盖操作，则评估将使用规则组中定义的规则操作。有关此选项的更多信息，请参阅 [覆盖中的规则组操作 AWS WAF](web-acl-rule-group-override-options.md)。
         + 某些托管规则组要求您提供其他配置。请参阅您的托管规则组提供程序所提供的文档。有关 AWS 托管规则组的特定信息，请参阅[AWS 的托管规则 AWS WAF](aws-managed-rule-groups.md)。

      1. 选择**下一步**。

   1. （可选）如果要添加您自己的规则组，请在**添加规则**页面上，选择**自定义规则组**，然后选择**下一步**。对要添加的每个规则组执行以下操作：

      1. 在**名称**中，输入要用于此保护包（web ACL）中规则组规则的名称。不要使用以 `AWS`、`Shield`、`PreFM` 或 `PostFM` 开头的名称。这些字符串要么是保留字符串，要么可能与其他服务所管理的规则组混淆。请参阅[识别其他服务提供的规则组](waf-service-owned-rule-groups.md)。

      1. 从列表中选择您的规则组。

      1. （可选）在**规则配置**下，选择**规则覆盖**。您可以将规则操作改写为任何有效的操作设置，这与托管规则组的操作相同。

      1. （可选）在**添加标签**下，选择**添加标签**，然后输入要添加到匹配规则的请求的任何标签。稍后在同一保护包（web ACL）中评估的规则可以引用此规则添加的标签。

      1. 选择 **Create rule**（创建规则）。

1. 在**名称和描述**下，为您的保护包（web ACL）输入名称。（可选）输入描述。
**注意**  
保护包（web ACL）在创建之后无法更改名称。

1. （可选）在**自定义保护包（web ACL）**下，配置默认规则操作、配置和日志记录目标：

   1. （可选）在**默认规则操作**下，选择保护包（web ACL）的默认操作。这是当保护包 (Web ACL) 中的规则未明确采取操作时对请求采取的操作。 AWS WAF 有关更多信息，请参阅 [自定义的 Web 请求和响应 AWS WAF](waf-custom-request-response.md)。

   1. （可选）在“规则配置”下，自定义保护包（web ACL）中规则的设置：
      + **默认速率限制**：设置速率限制，以阻止可能影响可用性、危及安全性或消耗过多资源的阻断服务（DoS）攻击。此规则速率会阻止超过应用程序允许速率的每个 IP 地址的请求。有关更多信息，请参阅 [在中使用基于费率的规则语句 AWS WAF](waf-rule-statement-type-rate-based.md)。
      + **IP 地址**：输入要阻止或允许的 IP 地址。此设置会覆盖其他规则。
      + **国家/地区特定来源**：阻止特定国家/地区的请求或计数所有流量。

   1. 在**日志记录目标**中，配置日志记录目标类型和存储日志的位置。有关更多信息，请参阅 [AWS WAF 登录目的地](logging-destinations.md)。

1. 查看您的设置，并选择**添加保护包（web AC）**。

------
#### [ Using the standard console ]

本节提供 ACLs 通过 AWS 控制台创建 Web 的过程。

要创建新的 web ACL，请按照本页上的步骤使用 web ACL 创建向导。

**生产流量风险**  
在 web ACL 中为生产流量部署更改之前，请在暂存或测试环境中对其进行测试和调整，直到您对流量可能产生的影响感到满意。然后，在启用之前，在计数模式下使用生产流量对更新后的规则进行测试和调整。有关指南，请参阅[测试和调整您的 AWS WAF 保护措施](web-acl-testing.md)。

**注意**  
在保护包 (Web ACL) WCUs 中使用超过 1,500 的保护包会产生超出基本保护包 (Web ACL) 价格的成本。有关更多信息，请参阅 [Web ACL 容量单位 (WCUs) AWS WAF](aws-waf-capacity-units.md) 和 [AWS WAF 定价](https://aws.amazon.com/waf/pricing/)。

**创建 web ACL**

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/wafv2/homev](https://console.aws.amazon.com/wafv2/homev2) 2 上打开主 AWS WAF 机。

1. 在导航窗格 ACLs中选择 **Web**，然后选择**创建 Web ACL**。

1. 对于 **名称**，输入要用于标识此 web ACL 的名称。
**注意**  
web ACL 在创建之后无法更改名称。

1. （可选）对于 **描述 - 可选**，如果需要，请输入 web ACL 的较长描述。

1. 对于 **CloudWatch metric name (CloudWatch 指标名称)**，更改默认名称（如果适用）。按照控制台上的指导进行有效字符操作。名称不能包含为其保留的特殊字符、空格或指标名称 AWS WAF，包括 “全部” 和 “Default\$1Action”。
**注意**  
创建 Web ACL 后，您无法更改 CloudWatch 指标名称。

1. 在 “**资源类型**” 下，选择要与此 Web ACL 关联的 AWS 资源类别，即 Amazon CloudFront 分配或区域资源。有关更多信息，请参阅 [将保护与资源关联或取消关联 AWS](web-acl-associating-aws-resource.md)。

1. 对于**区域**，如果您选择了区域资源类型，请选择 AWS WAF 要存储 Web ACL 的区域。

   您只需要为区域资源类型选择此选项。对于 CloudFront 分发，对于全球 () 应用程序，区域被硬编码为美国东部（弗吉尼亚北部CloudFront）区域。`us-east-1`

1. （CloudFront、API Gateway、Amazon Cognito、App Runner 和已验证访问权限）对于 **Web 请求检查大小限制-可选**，如果您想指定不同的身体检查大小限制，请选择该限制。如果检查正文大小是否超过默认值 16 KB，可能会产生额外费用。有关此选项的更多信息，请参阅 [管理人体检查的注意事项 AWS WAF](web-acl-setting-body-inspection-limit.md)。

1. （可选）对于**关联 AWS 资源-可选**，如果您想立即指定资源，请选择**添加 AWS 资源**。在对话框中，选择要关联的资源，然后选择**添加**。 AWS WAF 返回到**描述 Web ACL 和关联 AWS 资源**页面。
**注意**  
当您选择将 Application Load Balancer 与 Web ACL 关联时，将**启用资源级 DDo S 保护**。有关更多信息，请参阅 [AWS WAF 分布式拒绝服务防护 DDo](waf-anti-ddos.md)。

1. 选择**下一步**。

1. （可选）如果要添加托管规则组，请在 **添加规则和规则组** 页面上，选择 **添加规则**，然后选择 **添加托管规则组**。对要添加的每个托管规则组执行以下操作：

   1. 在**添加托管规则组**页面上，展开 AWS 托管规则组或您选择的 AWS Marketplace 卖家的列表。

   1. 对于要添加的规则组，在**操作**列中，打开**添加到 web ACL**切换选项。

      要自定义 web ACL 使用规则组的方式，请选择**编辑**。以下是常见的自定义设置：
      + 覆盖部分或全部规则的规则操作。如果您没有为规则定义覆盖操作，则评估将使用规则组中定义的规则操作。有关此选项的更多信息，请参阅 [覆盖中的规则组操作 AWS WAF](web-acl-rule-group-override-options.md)。
      + 通过添加范围缩小语句，缩小规则组检查的 web 请求的范围。有关此选项的更多信息，请参阅 [在中使用范围缩小语句 AWS WAF](waf-rule-scope-down-statements.md)。
      + 某些托管规则组要求您提供其他配置。请参阅您的托管规则组提供程序所提供的文档。有关 AWS 托管规则组的特定信息，请参阅[AWS 的托管规则 AWS WAF](aws-managed-rule-groups.md)。

      完成设置后，选择**保存规则**。

   选择 **添加规则** 以完成托管规则的添加，然后返回 **添加规则和规则组** 页面。
**注意**  
如果您向 Web ACL 添加多个规则，则 AWS WAF 会按照 Web ACL 中列出的顺序对这些规则进行评估。有关更多信息，请参阅 [使用包含规则和规则组的保护包 (Web ACLs) AWS WAF](web-acl-processing.md)。

1. （可选）如果要添加您自己的托管规则组，请在 **添加规则和规则组** 页面上，选择 **添加规则**，然后选择 **添加我自己的规则和规则组**。对要添加的每个规则组执行以下操作：

   1. 在 **添加我自己的规则和规则组** 页面上，选择 **规则组**。

   1. 在**名称**中，输入要用于此 web ACL 中的规则组规则的名称。不要使用以 `AWS`、`Shield`、`PreFM` 或 `PostFM` 开头的名称。这些字符串要么是保留字符串，要么可能与其他服务所管理的规则组混淆。请参阅[识别其他服务提供的规则组](waf-service-owned-rule-groups.md)。

   1. 从列表中选择您的规则组。
**注意**  
如果您要覆盖自己的规则组的规则操作，请先将其保存到 web ACL 中，然后在 web ACL 的规则列表中编辑 web ACL 和规则组参考语句。您可以将规则操作改写为任何有效的操作设置，这与托管规则组的操作相同。

   1. 选择**添加规则**。

1. （可选）如果要添加您自己的规则，请在 **添加规则和规则组** 页面上，依次选择 **添加规则**、**添加我自己的规则和规则组**、**规则生成器**，然后选择 **规则可视化编辑器**。
**注意**  
控制台 **规则可视化编辑器** 支持一个嵌套级别。例如，您可以使用单个逻辑 `AND` 或 `OR` 语句，并在其中嵌套一个级别的其他语句，但不能在逻辑语句中嵌套逻辑语句。要管理更复杂的规则语句，请使用 **规则 JSON 编辑器**。有关规则的所有选项的信息，请参阅 [AWS WAF 规则](waf-rules.md)。  
此过程涵盖 **规则可视化编辑器**。

   1. 对于 **名称**，输入要用于标识此规则的名称。不要使用以 `AWS`、`Shield`、`PreFM` 或 `PostFM` 开头的名称。这些字符串要么是保留字符串，要么可能与其他服务所管理的规则组混淆。

   1. 根据您的需求输入您的规则定义。您可以在逻辑 `AND` 和 `OR` 规则语句中组合规则。该向导将根据上下文指导您学习每个规则的选项。有关规则选项的信息，请参阅 [AWS WAF 规则](waf-rules.md)。

   1. 对于**操作**，选择您希望规则在与 web 请求匹配时执行的操作。有关您的选择的信息，请参阅 [在中使用规则操作 AWS WAF](waf-rule-action.md)和 [使用包含规则和规则组的保护包 (Web ACLs) AWS WAF](web-acl-processing.md)。

      如果您使用的是 **CAPTCHA** 或 **Challenge** 操作，请根据规则需要调整**免疫时间**配置。如果您未指定设置，则规则将从 web ACL 继承设置。要修改 web ACL 免疫时间设置，请在创建 web ACL 后对其进行编辑。有关免疫时间的更多信息，请参阅 [将时间戳到期时间和令牌免疫时间设置为 AWS WAF](waf-tokens-immunity-times.md)。
**注意**  
当您在其中一个规则中使用 CAPTCHA 或 Challenge 规则操作或在规则组中将其作为规则操作覆盖时，您需要支付额外费用。有关更多信息，请参阅[AWS WAF 定价](https://aws.amazon.com/waf/pricing/)。

      如果您想自定义请求或响应，请选择相应选项并填写自定义的详细信息。有关更多信息，请参阅 [自定义的 Web 请求和响应 AWS WAF](waf-custom-request-response.md)。

      如果您想让您的规则为匹配的 web 请求添加标签，请选择相应选项并填写标签详细信息。有关更多信息，请参阅 [在 Web 请求中添加标签 AWS WAF](waf-labels.md)。

   1. 选择**添加规则**。

1. 选择 web ACL 的默认操作（Block 或 Allow）。当 Web ACL 中的规则未明确允许或阻止请求时，这是对请求采取的操作。 AWS WAF 有关更多信息，请参阅 [在中设置保护包 (Web ACL) 的默认操作 AWS WAF](web-acl-default-action.md)。

   如果您想自定义默认操作，请选择相应选项并填写自定义的详细信息。有关更多信息，请参阅 [自定义的 Web 请求和响应 AWS WAF](waf-custom-request-response.md)。

1. 您可以定义**令牌域列表**，以便在受保护的应用程序之间实现令牌共享。当您使用 AWS 托管规则组进行 AWS WAF 欺诈控制账户创建欺诈 (ACFP)、欺诈控制账户接管预防 (ATP) 和 AWS WAF 机器人控制时， AWS WAF 令牌由和Challenge操作以及应用程序集成 SDKs 使用。CAPTCHA

   不允许使用公共后缀。例如，您不能使用 `gov.au` 或 `co.uk` 作为令牌域。

   默认情况下，仅 AWS WAF 接受受保护资源域的令牌。如果您在此列表中添加令牌域，则 AWS WAF 接受列表中所有域和关联资源域的令牌。有关更多信息，请参阅 [AWS WAF 保护包 (Web ACL) 令牌域列表配置](waf-tokens-domains.md#waf-tokens-domain-lists)。

1. 选择**下一步**。

1. 在 “**设置规则优先级**” 页面中，选择您的规则和规则组，然后按照您想要的顺序 AWS WAF 进行处理。 AWS WAF 从列表顶部开始处理规则。保存 web ACL 时， AWS WAF 会按照规则的列出顺序为规则分配数字优先级设置。有关更多信息，请参阅 [设置规则优先级](web-acl-processing-order.md)。

1. 选择**下一步**。

1. 在**配置指标**页面中，查看选项并应用所需的任何更新。您可以通过为多个来源提供相同的**CloudWatch 指标名称**来合并这些指标。

1. 选择**下一步**。

1. 在 **审核和创建 web ACL** 页面中，检查您的定义。如果要更改任何区域，请为该区域选择 **Edit (编辑)**。这将使您返回到 web ACL 向导中的页面。进行任何更改，然后在后续页面中选择 **下一步**，直到您返回 **审核和创建 web ACL** 页面。

1. 选择 **创建 web ACL**。您的新 Web ACL 已在** ACLs网页**中列出。

------