将 s3 文件下载限制为 cognito(首选)中经过身份验证的用户或任何人。他们应该只能查看但不能下载

Posted

技术标签:

【中文标题】将 s3 文件下载限制为 cognito(首选)中经过身份验证的用户或任何人。他们应该只能查看但不能下载【英文标题】:Restrict s3 file download to authenticated user in cognito (preferred) or anyone at all. They should only be able to view but not download 【发布时间】:2021-08-30 15:19:00 【问题描述】:

我想知道是否有任何方法可以让 aws cognito 用户或其他任何人只能查看或播放 aws s3 文件,但无论他们如何尝试,他们都不应该下载任何文件我的桶。文档真的让我对 aws cloudformation 堆栈启动(使用 lambda@edge、cloudfront 和 cognito)以及所有内容感到困惑。

简单来说,不管是谁,不管认证与否,都应该只能查看我的s3内容/不能下载的文件。

我确实是 AWS 新手,非常希望得到支持。谢谢!

【问题讨论】:

【参考方案1】:

不,这是不可能的。因为查看/播放文件与下载文件完全相同。为了能够播放文件,您需要先下载它(或其中的一部分)。

请注意,这与 AWS 无关。当您在浏览器中查看图像时,您首先下载它,当您从 Netflix / Disney+ / Prime 流式传输电影时,您会下载它(小批量)。

【讨论】:

以上是关于将 s3 文件下载限制为 cognito(首选)中经过身份验证的用户或任何人。他们应该只能查看但不能下载的主要内容,如果未能解决你的问题,请参考以下文章

基于 Cognito ID 的 S3 文件夹访问的 IAM 策略

Cognito/IAM 策略和 S3 获取对象

Cognito / S3 用户特定策略

如何将 ARN 设置为 s3 策略资源 AWS

Cognito 托管 UI

如何允许 cognito 身份验证的用户获得对 s3 存储桶的公共访问权限