AWS S3 存储桶策略编辑器访问被拒绝

Posted

技术标签:

【中文标题】AWS S3 存储桶策略编辑器访问被拒绝【英文标题】:AWS S3 Bucket policy editor access denied 【发布时间】:2019-04-28 23:39:43 【问题描述】:

我使用 root 帐户登录,试图根据设置静态 s3 网站的说明授予对存储桶的公共访问权限。 但是,我在运行存储桶策略时收到拒绝访问消息。

没有关于消息的更多细节。

【问题讨论】:

从您的 root 帐户创建一个用户帐户,分配所需的角色和权限并从那里开始。 解决方法让存储桶向公众开放,然后我可以保存存储桶策略,然后再次将存储桶设为私有。 【参考方案1】:

即使相关 cmets 出于安全原因认为这不是一个好主意,接受的答案仍然有效。事实上,这里的静态网站托管符合 AWS 说明

https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html

回答了 OP 的问题。

总结在 Amazon S3 上配置静态网站的步骤(在链接页面中给出):

    创建存储桶 启用静态网站托管 取消阻止所有公共访问 添加使您的内容公开可用的存储桶策略(您在帖子中的 yaml 配置) 配置您的索引文档(通常是 index.html) 配置任何错误/重定向/无身份验证文档(对于 React,这通常也是 index.html)

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review 谢谢@Dom。我已经相应地编辑了我的答案。链接页面更详细,但希望这里有足够的内容来确认 AWS 正式推荐确实允许公共访问【参考方案2】:

将权限更改为以下对我有用:

【讨论】:

【参考方案3】:

这可能是由于S3 最近发生了变化。要解决此问题,您需要为存储桶分配公共访问权限,请按照以下步骤操作:

    Permissions 标签中点击Block Public Access 设置。

    单击这些设置右侧的Edit

    确保取消选择 Block public access to buckets and objects granted through new public bucket or access point policies 选项。

    点击Save

    返回Bucket Policy再试一次。

【讨论】:

这不是正确的方法,这只是一个临时解决方案。 什么意思? 公开访问存储桶不是正确的方法,您将如何在 PRD 中执行此操作,您可以在几分钟内丢失敏感内容。您必须为您的用户添加一个角色,这将允许您在不授予公共访问权限的情况下添加/修改存储桶策略。只有 ARN 才能访问存储桶。全部在文档中给出 即使您拥有管理员角色也无法修改存储桶策略,您必须显式添加角色以授予修改存储桶策略的权限。 :aws.amazon.com/premiumsupport/knowledge-center/…. 在问题中,他说的是“试图让公共访问存储桶”。【参考方案4】:

“管理此存储桶的公共存储桶策略”部分需要取消选中以引入 “允许” 策略。

但要小心,取消选中这些可能会让您引入 政策,但该政策是使您的存储桶公开的公共政策。

选中这些 - 您将无法为此存储桶引入“允许”政策。

不过,您可以引入“拒绝”政策,同时选中这些选项。

【讨论】:

以上是关于AWS S3 存储桶策略编辑器访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

AWS S3 拒绝除 1 个用户之外的所有访问 - 存储桶策略

如何解决拒绝访问 aws s3 文件?

nodeJS的AWS S3 403访问被拒绝问题

Cloudfront 提供通过 AWS CDK Python 为 S3 存储桶来源创建的访问被拒绝响应,无需公共访问

错误:应用 VPC 策略后 S3 存储桶中的访问被拒绝

为啥我的 lambda 函数在尝试访问 S3 存储桶时会被拒绝访问?