我有一個靜態網站在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端點和託管端點的網站之間的交互,假設這是正在使用的,但它似乎應該起作用。 –