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

0

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

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

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

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

profile picture
EXPERTE
gefragt vor 5 Monaten30 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen