我有一个静态网站在S3上托管,我已经将所有文件设置为公开。 另外,我有一个nginx的EC2实例,充当反向代理并可以访问静态网站,因此S3扮演着原点的角色。只允许EC2实例访问S3上的静态网站
现在我想要做的就是将S3上的所有文件设置为私有,以便网站只能通过来自nginx(EC2)的流量访问。
到目前为止,我尝试了以下内容。我创建并连接一个新的政策作用到EC2实例与
策略授予权限:AmazonS3ReadOnlyAccess
而且已经重新启动EC2实例。
然后我在我的S3存储桶控制台>权限>桶政策
{
"Version": "xxxxx",
"Id": "xxxxxxx",
"Statement": [
{
"Sid": "xxxxxxx",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::XXXXXXXXXX:role/MyROLE"
},
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::XXX-bucket/*"
}
]
}
为主要我已当我创建的EC2实例中的作用,我得到了ARN创建的策略。
"Principal": {
"AWS": "arn:aws:iam::XXXXXXXXXX:role/MyROLE"
},
但是,这不起作用,任何帮助表示赞赏。
看起来合法。我没有测试过VPC端点和托管端点的网站之间的交互,假设这是正在使用的,但它似乎应该起作用。 –