我是AWS的新手,所以我確信我只是在某個地方缺少設置。目前我已經直接上傳到我的Rails App上設置的S3,當我將圖像上傳到我的應用程序時,JS觸發器,我已經克服了CORS問題,圖像出現在我的S3控制檯中。好極了。Amazon S3圖片未顯示 - 此對象的所有訪問權限已被禁用
問題是當我嘗試查看圖像。當我轉到生成的圖像url(由S3返回並由控制檯中的樹形結構確認)時,我得到一個403 HTTP響應和有趣的XML錯誤(我擡起頭,發現只與InvalidPayer
有關,我可以「找不到任何地方的任何引用除外here):
<Error>
<Code>AllAccessDisabled</Code>
<Message>All access to this object has been disabled</Message>
<RequestId>DF2E5FCE3EF9A8A9</RequestId>
<HostId>
BRqoJ5qxtYfe4ykFCxJftgghNbHvmp/hZQggrLszOwxz2oCje8gCLmZFex0Zebu8k/O+1cSJyic=
</HostId>
</Error>
其樂無窮!我一直在環顧四周,發現我可能需要爲我的IAM用戶設置權限,並設置存儲桶權限,以便其他人可以訪問圖像。所以我去了我的用戶的IAM權限,並添加了AmazonS3FullAccess
,這似乎是最明顯和最全面的選擇。此外,我去我的桶設置其他人的權限和規定以下內容:
{
"Id": "PolicyIdHere",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "StmtIdHere",
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket-name/*",
"Principal": "*"
}
]
}
PS,通過AWS使用他們policy generator產生的桶設置,所以我懷疑它是沒有錯的,否則我錯過了一個微妙之處。
我想,如果我想想,好像我已經設置了我可能需要得到視圖圖像的所有權限自己,但也許有一些需要配置其他設置,允許與任何人正確的S3網址來查看圖像?
在此先感謝您的任何建議。