如何限制对S3文件中文件的读取访问权限

问题描述 投票:0回答:1

我是 AWS S3 的新手。我的项目需要将图像上传到“私有”S3存储桶(禁用S3中的所有公共访问设置),并仅允许某些具有有效JWT令牌的用户访问这些图像(主要存储在浏览器中,可能是localStorage / cookie)

那么我如何设置 S3 服务并在 C# 中实现来实现此目标:使用有效令牌打开 URL,然后用户可以查看图像,如果用户没有有效令牌,则显示未经授权的访问页面。示例内容可能如下

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>ResourceNotFound</Code>
<Message>The specified resource does not exist. RequestId:4087a246-001e-0002-3481-37acce000000 Time:2024-11-15T17:13:52.7976811Z</Message>
</Error>

我发现了类似cloudfront的东西,但我不知道我需要从哪里开始,或者这是我期望的东西

谢谢

c# amazon-web-services amazon-s3 amazon-cloudfront acl
1个回答
0
投票

Amazon S3 存储桶默认是私有的。因此,您的第一个要求已经满足。

要向特定人员提供访问权限,您有多种选择:

选项 1:AWS 凭证

您可以创建 IAM 用户并请求安全凭证。这通常用于编程访问。访问 S3 中的文件时,您可以提供凭据并获得对私有文件的访问权限。

选项 2:预签名 URL

或者,您的 C# 程序可以使用 IAM 凭证来生成 Amazon S3 预签名 URL,该 URL 提供对 Amazon S3 中私有对象的限时访问。用户只需在浏览器中使用此 URL 即可正常访问该文件。

您的 C# 程序有责任对用户进行身份验证并验证他们是否有权访问该文件。如果允许,程序可以用几行代码生成预签名 URL。

© www.soinside.com 2019 - 2024. All rights reserved.