Q41 — AWS SAA-C03 第17章

第 41/89 题 | ← 返回第17章

Q1341. 一家公司在 Amazon S3 存储桶中存储了一个文件。该文件包含 IP 地址允许列表和 IP 地址拒绝列表。该公司需要能够通过 HTTP 端点访问该文件。该公司的防火墙(未部署在 AWS 上)也需要能够读取该文件。该公司希望将该文件的访问权限限制为仅限防火墙 IP 地址。该公司已为此 AWS 账户配置了 Amazon S3 阻止公共访问功能。哪种解决方案符合这些要求?

正确答案: B. 创建一个存储桶策略,明确只允许来自防火墙 IP 地址的访问。将文件的 URL 添加到防火墙设置中。

解析

B 或 D。让我们分析每个选项,以确定哪个选项符合要求:需求概述Amazon S3 存储桶中的文件(包含 IP 地址允许/拒绝列表)需要可通过 HTTP 端点访问。公司非 AWS 防火墙需要能够读取该文件。该文件的访问权限应仅限于防火墙的 IP 地址。AWS 账户已启用 Amazon S3 阻止公共访问功能。选项 AS3 静态网站:将 S3 存储桶配置为静态网站时,默认情况下存储桶中的对象可公开访问(除非明确限制)。但是,由于启用了 Amazon S3 阻止公共访问功能,此功能会阻止将存储桶配置为公共静态网站。即使我们尝试创建存储桶策略以限制对防火墙 IP 的访问,S3 阻止公共访问设置也可能会覆盖部分权限,并仍然存在安全风险。因此,此选项不可行。选项 BIP限制存储桶策略:您可以创建一个S3存储桶策略,使用aws:SourceIp条件键显式地仅允许指定的防火墙IP地址访问该文件。通过文件URL访问:存储桶策略生效后,防火墙可以使用其直接的S3对象URL访问该文件。这种方法简单直接,并利用了S3的原生访问控制机制。它既满足了限制特定IP地址访问的要求,又允许防火墙通过类似HTTP的URL(S3对象URL)读取文件。选项CCloudFront 源访问控制 (OAC):CloudFront 中的源访问控制主要用于控制 CloudFront 与源服务器(在本例中为 S3 存储桶)之间的访问。其设计目的是阻止从互联网直接访问 S3 存储桶,并强制所有请求都通过 CloudFront。但此处的需求是基于防火墙的源 IP 地址来限制访问。虽然 CloudFront 可以在分发级别配置基于 IP 的访问限制,但在此上下文中使用 OAC 并不能直接满足仅允许防火墙 IP 地址访问 S3 文件的需求。此外,对于这种简单的基于 IP 的访问控制需求而言,其配置也过于复杂。选项 D用于 IP 验证的 Lambda 函数:创建 AWS Lambda 函数来验证传入请求的 IP 地址并返回文件内容会增加不必要的复杂性,需要额外的开发和维护工作。此外,它还会引入额外的处理层和潜在的延迟。原生 S3 存储桶策略可以以更高效、更直接的方式实现相同的基于 IP 的访问控制。因此,符合要求的方案是方案 B。所以答案是 B。