gpt4 book ai didi

amazon-web-services - 源访问身份 (OAI) 和 CloudFront 签名 URL 之间的关系

转载 作者:行者123 更新时间:2023-12-04 08:04:04 33 4
gpt4 key购买 nike

所以我一直在关注 CloudFront 和 S3 的指南,我觉得我仍然缺少原始访问身份 (OAI) 和 CloudFront 签名 URL 之间关系的核心信息。

我想要的 :用于托管音频片段(几秒钟长)和低分辨率图像的私有(private) CDN。我只希望在从特定域(即 Web 应用程序所在的域)和测试服务器请求时可以访问这些文件,以便我的 Web 应用程序可以获取这些文件,但其他任何人都无法访问它们通过网络应用程序。

我对 感到困惑:我对 CloudFront 源访问身份 (OAI) 和签名 CloudFront URL 之间的关系(如果有的话)很模糊。

我目前已经为我的 CloudFront 分配创建了一个私有(private) S3 存储桶、一个 OAI,并通过 CloudFront 生成了一个图像的签名 URL。但我看不出这些东西是如何相关的,以及它们如何阻止其他人访问 CDN 文件(例如,如果他们能够检查一个元素并获得签名的 URL)。

确保签名 URL 快速过期的重点是什么?如果是这样,OAI 如何在其中发挥作用?这是在 CORS 中设置的吗?

最佳答案

源访问身份是 CloudFront 内的一个实体,它
可以通过存储桶策略授权访问存储桶中的对象。当 CloudFront 使用源访问身份访问存储桶中的内容时,CloudFront 使用 OAI 的凭证生成签名请求,将其发送到存储桶以获取内容。查看者无法访问此签名。

此处使用的“来源”一词的含义不应与其他上下文中使用的“来源”一词混淆,例如 CORS,其中“来源”是指允许访问内容的站点。

原始访问身份与仅限于包含特定 Origin 的请求的访问无关。或 Referer标题。

一旦 CloudFront 验证签名 URL 与与您的 AWS 账户(或您指定为受信任的签名者的另一个账户)关联的 CloudFront 签名 key 匹配,就会使用源访问身份在桶。

Is the whole point to make sure the signed url's expire quickly?



本质上,是的。

通过尝试根据发现链接的站点限制访问来验证和授权请求不是可行的安全措施。它可以防止来自其他站点的热链接,但不能防止任何可以伪造请求 header 的人。击败这样的措施是微不足道的。

相比之下,签名 URL 在计算不可行的情况下具有极强的防篡改能力。

签名的 URL 不仅在过期之前有效,而且如果您使用 custom policy,还可以选择限制具有策略文档中包含的相同 IP 地址的人的访问权限。 .签名后,对 URL 的任何更改(包括策略声明)都会使整个 URL 无法使用。

OAI 仅与 CloudFront 签名 URL 间接连接——它们可以单独使用,也可以一起使用——但没有 OAI,CloudFront 无法证明它有权从您的存储桶请求对象,因此存储桶需要公开,这将破坏 CloudFront 上签名 URL 的大部分目的。

关于amazon-web-services - 源访问身份 (OAI) 和 CloudFront 签名 URL 之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41929534/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com