在 S3 上静态托管一个只能由经过身份验证的 AWS 用户读取的网站

Statically host a website on S3 that can only be read by authenticated AWS users

我想使用 amazon s3 静态托管一个网站,但要配置权限,以便只有经过身份验证的用户才能在其浏览器上访问该网站。

已配置权限

s3Bucket:
  any authenticated AWS user has object read and permission read access.
  no permissions granted to "everyone"
All Objects:
  any authenticated AWS user has object read and permission read access.
  no permissions granted to "everyone"

正在访问站点 returns 403 禁止 状态(代码:AccessDenied,消息:AccessDenied)

我正在使用 aws cli 对我的 IAM 用户进行身份验证。关于为什么我仍然被禁止的任何想法,或者关于我还应该做什么的建议 try/check?

为了让您的浏览器访问您的受保护内容,它需要发送向 S3 证明其已通过身份验证所需的凭据。您的浏览器不会为普通网站执行此操作,因为它不是这样设计的。

使用 CLI 验证您的 IAM 用户只会影响 CLI,不会影响您计算机上的浏览器。

完成您正在寻找的唯一方法是将您的网站托管在服务器上(例如,EC2)。 S3 不会做你想让它做的事。

在这方面与 2013 年相比变化不大:Amazon S3 Securing Static Website