S3资源所有者和默认桶/对象权限

0

【以下的问题经过翻译处理】 AWS文档中提到:“默认情况下,所有Amazon S3的资源 - 存储桶、对象和相关子资源(例如生命周期配置和网站配置)都是私有的:只有资源所有者,即创建它的AWS 账户可以访问资源。”

我使用根用户登录到我的AWS帐户并创建了一个S3存储桶和一个对象。虽然我可以浏览和查看对象,但当我尝试从AWS控制台点击HTTP链接访问文件时,我会收到“拒绝访问”的错误。作为AWS账户根用户/资源所有者,我不应该像文档建议的那样成功读取而不是“拒绝访问”吗?

我将存储桶转换为“对象可以是公共的”存储桶。但我仍然收到“拒绝访问”的错误。我将此对象设置为公共。现在,当我尝试从AWS控制台点击HTTP链接访问文件时,我可以看到对象。

那么,当文档说“只有资源所有者,即创建它的AWS账户可以访问资源”时,特别指的是什么? 默认情况下,即使是资源所有者也被拒绝访问,需要进行大量授权才能使AWS根帐户等资源所有者获得访问权限。

profile picture
전문가
질문됨 6달 전34회 조회
1개 답변
0

【以下的回答经过翻译处理】 你好,

我了解你的困惑,因为我也遇到过同样的问题。

你上传的对象是你自己的(你是所有者并具有完全的权利),你可以轻松下载和删除它,对吧?问题在于,当你点击直接的对象URL时,请求失败了,因为该链接没有携带任何关于你的信息,服务器无法对你进行身份验证,所以会显示访问被拒绝。

如果你在浏览器中比较一下,当你点击下载按钮时会发生什么,你会发现浏览器发送了包含访问控制信息的头文件给"GeneratePresignedUrl",然后浏览器就会收到以下内容:

presignedUrl: "https://s3.ap-northeast-1.amazonaws.com/your-bucket/object.ext?response-content-disposition=attachment&X-Amz-Security-Token=tokenvalue&X-Amz-Algorithm=value&X-Amz-Date=datetime&X-Amz-SignedHeaders=XXXX&X-Amz-Expires=SECONDS&X-Amz-Credential=CREDENTIALCODE%code2%REGION%s3%aws_request&X-Amz-Signature=signaturecode"。

这样浏览器就可以访问该对象进行下载了。

希望这能帮到你。

RT

profile picture
전문가
답변함 6달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인