【问题标题】:Restrict S3 bucket website to certain AWS accounts only将 S3 存储桶网站仅限于某些 AWS 账户
【发布时间】:2019-05-10 03:40:16
【问题描述】:

我希望在 S3 存储桶中托管一个私有网站(html、js、css),并且我希望该网站只能由我指定的 aws 帐户访问。

我在这里阅读了这个问题 - Restrict access to website hosted on S3

接受的答案说我可以限制对特定 aws 帐户的访问。但另一个答案说我不能按帐户限制。

这里的主要目标是提供亚马逊提供的静态网站的 url,以访问某些 aws 帐户。只有经过身份验证的 aws 帐户才能访问该站点。

我在研究中发现,启用网站托管的 S3 不能有这样的限制,需要公开。 只是想知道是否有任何解决方法。

我确实考虑过使用云端签名的 url 提供服务,但我似乎无法仅授权某些 aws 帐户访问。但这可能是因为我还没有完全理解这个概念。或者也许是 aws Cognito。

【问题讨论】:

  • “只能由我指定的 aws 帐户访问”是什么意思?您愿意将身份验证信息作为 URL 的一部分吗?否则,S3 将不知道谁在访问该帐户。通常,如果使用 AWS 凭证,对 S3 中数据的访问将通过 AWS CLI 而不是对网站 URL 的请求。

标签: amazon-web-services amazon-s3 aws-sdk amazon-cloudfront amazon-iam


【解决方案1】:

这里清楚地记录了制作私人网站托管,

https://medium.com/@pvinchon/private-static-website-hosting-on-aws-s3-54664725b9e7

拥有网站后,启用以下策略,

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Sid": "Example permissions",
         "Effect": "Allow",
         "Principal": {
            "AWS": "arn:aws:iam::AccountB-ID:root"
         },
         "Action": [
            "s3:GetBucketLocation",
            "s3:ListBucket"
         ],
         "Resource": [
            "arn:aws:s3:::examplebucket"
         ]
      }
   ]
}

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-28
    • 2017-07-21
    • 2020-03-29
    • 2020-09-02
    • 1970-01-01
    • 2020-01-18
    • 2018-10-12
    • 1970-01-01
    相关资源
    最近更新 更多