📌  相关文章
📜  Amazon Web Services – 仅限制来自 CloudFront 的 S3 访问

📅  最后修改于: 2022-05-13 01:57:46.185000             🧑  作者: Mango

Amazon Web Services – 仅限制来自 CloudFront 的 S3 访问

在本文中,我们将研究如何限制仅从 CloudFront 访问简单存储服务 (S3)。当开发人员使用 S3 REST API 端点作为 CloudFront 的源时,他们只能通过设置源访问身份 (OAI) 来限制从 CloudFront 对 S3 的访问。 是一个特殊的 CloudFront 用户,他们将与分配相关联。

然后,用户可以在 S3 存储桶或 S3 存储桶中的对象上添加权限,以仅允许访问此源访问身份。当用户通过 CloudFront 访问 S3 对象时,源访问身份代表用户获取对象。如果用户尝试直接访问 S3 URL,他们的访问将被拒绝。

这确保客户端可以访问 S3 存储桶中的对象,但只能通过 CloudFront。这是额外的安全层,客户可以通过将 WAF 与 CloudFront 集成来控制流量,以保护他们的网站。

要使用 CloudFront 控制台创建对 Origin 访问身份的关闭,请按照以下步骤操作:

步骤 1:登录 AWS 管理控制台并转到 CloudFront 控制台:

第 2 步:选择要添加源访问身份的分配 ID

.

第 3 步:然后切换到编辑模式并选择“”选项卡,然后选择要编辑的 S3 源。

第 4 步:对于Restrict Bucket Access单击 Yes,如果您已经拥有 OAI,则可以选择现有身份,也可以创建一个新身份。在这里,我们将选择现有身份,然后让 CloudFront 自动更新源访问身份权限以读取源域名中指定的 S3 存储桶中的对象,选择是,更新存储桶策略,然后单击是,编辑。

第 5 步:现在我们可以检查存储桶策略是否在 S3 存储桶中更新。为此,请在新选项卡中打开 S3 控制台,单击S3 存储桶,它是 CloudFront 分配的来源。

第 6 步:选择权限选项卡并选择存储桶策略。存储桶策略设置为允许访问与 CloudFront 分配关联的原始访问身份。

现在,如果我们尝试通过直接访问 S3 URL 来访问 S3 对象,我们可以看到出现拒绝访问错误,因此用户只能通过 CloudFront 访问 S3 对象。