Amazon-S3

CloudFront S3 訪問被拒絕

  • November 13, 2016

我有一個帳戶有權管理 S3 (S3_User),另一個帳戶有權管理 Cloud Front (Cloud_Front_User)。

現在,我已經使用 S3_User 創建了一個儲存桶“bucketname”,並使用 Cloud_Front_User 創建了一個分配,其來源是我的 S3 儲存桶。

當我嘗試通過 Cloudfront 訪問資源時,我得到了這個

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>555667558C0B2698</RequestId>
<HostId>
QP0y2/XTsJqItm815aDsdoLTF853zMeEPUAykvxjzdFfU1WwfXHioa6CeLWmc96RDVJopBu+eLE=
</HostId>
</Error>

我已經設置了這個:http ://cl.ly/image/1s0I1H3A3p1N

但是當我點擊“保存”時,一段時間後我收到一條錯誤消息,指出它無法在 S3 儲存桶上設置身份。我認為這是因為我使用“Cloud_Front_User”管理 CLoudFront,使用“S3_User”管理 S3。那麼,如何在儲存桶上手動設置 S3 策略以允許 CloudFront 訪問 s3?

S3 儲存桶策略

{
   "Version": "2012-10-17",
   "Id": "PolicyForCloudFrontPrivateContent",
   "Statement": [
       {
           "Sid": " Grant a CloudFront Origin Identity access to support private content",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity E780000000000"
           },
           "Action": "s3:GetObject",
           "Resource": "arn:aws:s3:::socialacademy/*"
       }
   ]
}

在此處輸入圖像描述

解決了更改我的網址

http://ID.cloudfront.net/bucket/uploads/academy/logo/1/logo.jpg

http://ID.cloudfront.net/uploads/academy/logo/1/logo.jpg

看到這個解決方案..

https://havecamerawilltravel.com/photographer/how-allow-public-access-amazon-bucket

如何允許公開訪問 Amazon S3 儲存桶 如果您嘗試允許任何人下載或打開 Amazon S3 儲存桶中的文件,請按照以下步驟操作。

亞馬遜網路服務

  1. 將此程式碼複製並粘貼到 Bucket Policy Editor 彈出視窗中。您需要將“YOUR-BUCKET-NAME”替換為您的完整儲存桶名稱。

範例政策:

{
 "Version": "2008-10-17",
 "Statement": [
   {
     "Sid": "AllowPublicRead",
     "Effect": "Allow",
     "Principal": {
       "AWS": "*"
     },
     "Action": "s3:GetObject",
     "Resource": "arn:aws:s3:::YOUR-BUCKET-NAME/*"
   }
 ]
}

引用自:https://serverfault.com/questions/675475