当我从python/flask应用程序中删除S3桶中的图像时,然后我尝试通过图像url访问它,浏览器显示此XML错误:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>71CFC68194E525D9</RequestId>
<HostId>
wl5InZL0Be8WTMn34ldT1csFJ2VUu5otY+FC61DQk94bgSeLMWBYhN+2Ll7iK6iBhc2DkpBWHwo=
</HostId>
</Error>
如预期的那样,我的图像不再存在于我的桶中,但我不知道为什么我有这个AcessDenied
错误。我需要展示一些更中性的东西,比如404 not found
。
有什么建议吗?
S3 API GetObject
该操作需要具有
s3:GetObject
权限。如果您请求的对象不存在,Amazon S3返回的错误取决于您是否也具有s3:ListBucket
权限。
-
如果您对桶具有
s3:ListBucket
权限,Amazon S3将返回HTTP状态码404 ("no such key")错误。 -
如果您没有
s3:ListBucket
权限,Amazon S3将返回HTTP状态码403 ("access denied")错误。