将S3静态网站托管内容设为私有

时间:2018-08-20 15:49:47

标签: amazon-web-services amazon-s3

我希望能够将测试报告发布到S3,并使其可以访问在Drone构建结束时发送的URL。

是否有可能无法让任何人查看S3静态站点?因此,只有已使用VPN访问VPC中资源的人才能访问它。

我了解到内容必须具有公共读取权限,因此请检查是否可以避免。

2 个答案:

答案 0 :(得分:4)

是:

  • 正常设置静态网站
  • 为S3添加VPC端点,
  • 使用存储桶策略拒绝来自VPC的所有流量。

这是一篇很好的文章,更详细地描述了它:https://blog.monsterxx03.com/2017/08/19/build-private-staticwebsite-on-s3/

答案 1 :(得分:0)

另一种选择是编写如下的S3存储桶策略,其中x.x.x.x / x是VPC的CIDR:

{
  "Id": "Policy1564215115240",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1564215036691",
      "Action": "s3:*",
      "Effect": "Deny",
      "Resource": "arn:aws:s3:::myinternalwebsamiul",
      "Condition": {
        "NotIpAddress": {
          "aws:SourceIp": "10.1.141.65"
        }
      },
      "Principal": "*"
    }
  ]
}