本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amplify 如何与 AWS WAF 集成
以下列表详细介绍了如何将防火墙支持与 AWS WAF 集成,以及在创建 Web ACL 并将其与 Amplify 应用程序关联时需要考虑的限制。
-
您可以为任何类型的 Amplify 应用程序启用 AWS WAF。这包括所有支持的框架、服务器端渲染(SSR)应用程序和完全静态的网站。AWS WAF 支持 Amplify 第 1 代和第 2 代应用程序。
-
必须在全局(CloudFront)区域中创建要与 Amplify 应用程序关联的 Web ACL。您的 AWS 账户中可能已经存在区域性的 Web ACL,但它们与 Amplify 不兼容。
-
Web ACL 和 Amplify 应用程序必须在同一 AWS 账户中创建。您可以使用 AWS Firewall Manager 跨 AWS WAF复制 AWS 账户 规则,从而简化跨多个 AWS 账户集中管理和分布组织规则的过程。有关更多信息,请参阅《AWS WAF 开发人员指南》中的 AWS Firewall Manager。
-
您可以在同一 AWS 账户中的多个 Amplify 应用程序之间共享同一 Web ACL。所有应用程序都必须位于同一区域。
-
将 Web ACL 关联到 Amplify 应用程序时,默认情况下该 Web ACL 会附加到该应用程序中的每个分支。当您创建新分支时,这些分支将会关联该 Web ACL。
-
将 Web ACL 关联到 Amplify 应用程序时,将会自动关联到该应用程序的所有域。不过您可以使用主机标头匹配规则,来配置适用于单独域名的规则。
-
您无法删除已关联到 Amplify 应用程序的 Web ACL。您需要首先将 Web ACL 与应用程序取消关联,然后才能在 AWS WAF 控制台中将其删除。
Amplify Web ACL 资源策略
为允许 Amplify 访问您的 Web ACL,系统会在关联过程中间将一个资源策略附加到该 Web ACL。Amplify 会自动构建该资源策略,不过您可以使用 AWS WAFV2 GetPermissionPolicy API 来查看该策略。需要具备以下 IAM 权限才能将 Web ACL 关联到 Amplify 应用程序。
-
amplify:AssociateWebACL
-
wafv2:AssociateWebACL
-
wafv2:PutPermissionPolicy
-
wafv2:GetPermissionPolicy