本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注意
托管应用程序的防火墙支持是预览版,可能会发生变化。有关更多信息,请参阅 防火墙预览限制。
除可选区域外,Amplify Ho sting 的所有 AWS 区域 运营地区均提供防火墙支持(预览版)。这种整合属于 AWS WAF 全球资源,类似于 CloudFront。网页ACLs可以连接到多个 Amplify Hosting 应用程序,但它们必须位于同一区域。
对托管站点的防火墙支持使您能够通过与直接集成来保护您的 Web 应用程序 AWS WAF。 AWS WAF 允许您配置一组名为 Web 访问控制列表 (WebACL) 的规则,这些规则根据您定义的可自定义 Web 安全规则和条件允许、阻止或监控(计数)Web 请求。将 Amplify 应用与集成后 AWS WAF,您可以更好地控制和了解应用接受的HTTP流量。要了解更多信息 AWS WAF,请参阅《AWS WAF 开发者指南》中的AWS WAF 工作原理。
您可以使用 AWS WAF 保护您的 Amplify 应用免受常见网络漏洞(例如SQL注入和跨站脚本)的侵害。这些可能会影响应用程序的可用性和性能,损害安全性或消耗过多的资源。例如,您可以创建规则来允许或阻止来自指定 IP 地址范围的请求、来自CIDR区块的请求、来自特定国家或地区的请求或包含意外SQL代码或脚本的请求。
您还可以创建与HTTP标头、方法、查询字符串和请求正文(限制在前 8 KB 以内)中的指定字符串或正则表达式模式相匹配的规则。URI此外,您可以创建规则来阻止来自特定用户代理、机器人和内容抓取器的事件。例如,您可以使用基于速率的规则来指定每个客户端 IP 在尾随的、不断更新的 5 分钟期间内允许的 Web 请求数。
要详细了解支持的规则类型和其他 AWS WAF 功能,请参阅AWS WAF 开发者指南和AWS WAF API参考资料。
重要
安全是双方共同承担 AWS 的责任。 AWS WAF 并不是所有互联网安全问题的解决方案,您必须对其进行配置以满足您的安全与合规性目标。为了帮助您了解在使用时如何应用分担责任模型 AWS WAF,请参阅AWS WAF 服务使用过程中的安全性。
启 AWS WAF 用 Amplify 应用程序
您可以在创建新应用程序时启用防火墙功能,也可以通过编辑现有 Amplify 应用程序的设置来启用防火墙功能。在这两个工作流程中,您都需要将 AWS WAF 网站关联ACL到您的 Amplify 托管应用程序。
使用以下步骤在 Amplify 控制台中 AWS WAF 为现有应用程序启用。
AWS WAF 为现有 Amplify 应用程序启用
-
登录 AWS Management Console 并打开 Amplify 控制台,网址为。https://console.aws.amazon.com/amplify/
-
在所有应用程序页面上,选择要启用防火墙功能的已部署应用程序的名称。
-
在导航窗格中,选择主机,然后选择防火墙。
以下屏幕截图显示了如何在 Amplify 控制台中导航到 “添加防火墙” 页面。
-
在 “添加防火墙” 页面上,您的操作将取决于您是要创建新 AWS WAF 配置还是使用现有配置。
-
创建新 AWS WAF 配置。
-
选择 新建。
-
(可选)启用以下任一配置:
-
打开 “启用 Amplify 推荐的防火墙保护”。
-
开启 “限制访问 amplifyapp.com”,以防止通过默认 Amplify 域名访问您的应用程序。
-
对于 IP 地址,请打开 “启用 IP 地址保护”。
-
如果要指定有权访问且所有其他地址都将被屏蔽的 IP 地址,请在 “操作” 中选择 “允许”。如果要指定将被屏蔽且所有其他地址都将具有访问权限的 IP 地址,请选择 “阻止”。
-
对于 IP 版本,请选择IPV4或IPV6。
-
在 IP 地址文本框中,按CIDR格式输入允许或阻止的 IP 地址,每行一个。
-
-
对于 “国家”,打开 “启用国家/地区保护”。
-
在 “操作” 中,如果您要指定将有权访问且所有其他国家将被封锁的国家/地区,请选择 “允许”。如果您要指定将被封锁且所有其他国家都将有权访问的国家/地区,请选择 “封锁”。
-
对于国家/地区,请从列表中选择允许或阻止的国家/地区。
-
-
以下屏幕截图演示了如何为应用程序启用新 AWS WAF 配置。
-
-
使用现有 AWS WAF 配置。
-
选择 “使用现有 AWS WAF 配置”。
-
从您的 Web ACLs 列表中选择已保存的配置 AWS 账户。 AWS WAF
-
-
-
选择添加防火墙。
-
在 “防火墙” 页面上,将显示 “关联” 状态,表示 AWS WAF 设置正在传播中。该过程完成后,状态将更改为 “已启用”。
以下屏幕截图显示了 Amplify 控制台中的防火墙进度状态,指示何时 AWS WAF 配置为 “关联并启用”。
取消网页与 Amplify ACL 应用程序的关联
您无法删除与 Amplify 应用关联的网页ACL。您必须先在 Amplify 控制ACL台中取消网络与应用程序的关联。然后你可以在 AWS WAF 控制台中将其删除。
取消网页与 Amplify ACL 应用程序的关联
-
登录 AWS Management Console 并打开 Amplify 控制台,网址为。https://console.aws.amazon.com/amplify/
-
在所有应用程序页面上,选择要取消与网站ACL关联的应用程序的名称。
-
在导航窗格中,选择主机,然后选择防火墙。
-
在防火墙页面上,选择操作,然后选择取消关联防火墙。
-
在确认模式中,输入
disassociate
,然后选择取消关联防火墙。 -
在 “防火墙” 页面上,将显示 “取消关联” 状态,表示 AWS WAF 设置正在传播中。
该过程完成后,您可以在 AWS WAF 控制台ACL中删除 Web。
Amplify 如何与 AWS WAF
以下列表详细介绍了如何与防火墙支持集成,以及在创建网页并将其与 AWS WAF Amplify ACLs 应用程序关联时需要考虑的限制。
-
您可以 AWS WAF 为任何类型的 Amplify 应用程序启用。这包括任何支持的框架、服务器端渲染 (SSR) 应用程序和完全静态的站点。 AWS WAF 支持 Amplify 第 1 代和第 2 代应用程序。
-
您必须创建要与全球 (CloudFront) 区域中的 Amplify 应用程序关联的网站ACLs。您ACLs可能已经存在区域网络 AWS 账户,但它们与 Amplify 不兼容。
-
网络ACL和 Amplify 应用程序必须使用相同的方式创建。 AWS 账户您可以使用 AWS Firewall Manager 在多个之间复制 AWS WAF 规则 AWS 账户,以简化组织规则的集中化和分布在多个组织中的过程 AWS 账户。有关更多信息,请参阅 AWS WAF 开发人员指南中的 AWS Firewall Manager。
-
你可以在同一个 Amplify 应用程序中共享同一个网页ACL。 AWS 账户所有应用程序必须位于同一个区域。
-
当您将网页ACL与 Amplify 应用关联时,默认情况下,网络会ACL连接到应用程序中的每个分支。当你创建新的分支时,就会有网络ACL。
-
当您将网站ACL与 Amplify 应用关联时,它会自动与该应用程序的所有域名关联。但是,您可以使用主机标头匹配规则配置适用于单个域名的规则。
-
您无法删除与 Amplify 应用关联的网页ACL。在 AWS WAF 控制台ACL中删除网页之前,需要将其与应用程序断开关联。
Amplify 网络资源政策 ACL
为了允许 Amplify 访问您的网站ACL,在关联ACL期间会在网络上附加资源政策。Amplify 会自动构造此资源策略,但您可以使用进行查看。 AWS WAFV2 GetPermissionPolicyAPI将网页ACL与 Amplify 应用关联需要以下IAM权限。
-
放大:AssociateWebACL
-
wafv2:AssociateWebACL
-
wafv2:PutPermissionPolicy
-
wafv2:GetPermissionPolicy
防火墙预览限制
防火墙预览版有以下限制。
-
在预览期间,Amplify 支持与的部分集成。 CloudTrailWeb ACL 关联期间的某些管理事件不会出现在 CloudTrail 日志中。
-
在预览期间,当您的网页ACL与 Amplify 资源关联时,此新的 Amplify 资源将不会显示在控制台的关联 AWS 资源中。 AWS WAF 您可以使用 Amplify GetAppAPI来显示与应用程序ACL关联的网页。您可以在 Amplify Hosting 控制台中导航到应用程序的防火墙页面,从而将 Amplify 资源与防火墙关联和取消关联。
-
在预览期间, AWS Config 集成将不可用。
-
防火墙功能在目前存在Amplify的选择加入区域不可用:亚太地区(香港)(ap-east-1)、欧洲(米兰)(eu-south-1)和中东(巴林)(me-south-1)(me-south-1)。
防火墙定价
在预览期间,您只会从服务中产生基于使用量的费用。 AWS WAF AWS WAF 除其他费用外,每个网站每月收取5美元ACL,每条规则收取1美元。假设你有一个ACL包含两个规则的网站,那么你至少需要为此集成支付7美元。有关定价的详细信息,请参阅 AWS WAF 定价
防火墙功能需要在正式发布时订阅新的Amplify Hosting高级级别,并且将在发布时包括其他功能。在预览期间,启用防火墙将自动为您订阅此高级级别,但在防火墙功能正式推出之前,无需支付额外费用。您可以随时移除防火墙,并且在 GA 之后无需支付任何费用。该等级的定价详情将在 GA 上公布。没有承诺或前期投资。