Amazon-S3

更改 s3 策略:此錯誤是由格式錯誤的策略錯誤還是由於我的權限不足引起的?

  • April 7, 2019

我正在嘗試創建一個 s3 儲存桶來將一些文件作為網站託管。

為此,我認為我需要公開每個對象。所以我創建了這個策略:

   {
 "Id": "Policy1554620498897",
 "Version": "2012-10-17",
 "Statement": [
   {
     "Sid": "Stmt1554620491195",
     "Action": [
       "s3:GetObject"
     ],
     "Effect": "Allow",
     "Resource": "arn:aws:s3:::my-dummy-bucket",
     "Principal": "*"
   }
 ]
}

它導致了這個錯誤:

在此處輸入圖像描述

所以我將資源更改為"Resource": "arn:aws:s3:::my-dummy-bucket/*",

現在我得到了這個:

在此處輸入圖像描述

這個“拒絕訪問”指的是什麼?我沒有更改儲存桶策略或資源的權限?

桶是新創建的,裡面還沒有對象。

雖然訪問被拒絕錯誤可能是由於缺少權限引起的,但最可能的解釋是您的儲存桶或您的整個賬戶被設置為不允許對儲存桶進行公共訪問。

請參閱S3 開發人員指南中的使用 Amazon S3 阻止公共訪問

“不小心”將儲存桶公開並不容易,但人們仍然設法做到這一點……因此 AWS最近添加了這些設置,以確保您在一定程度上難以將您的內容公開給全世界。所有新賬戶的預設設置是禁止公共儲存桶。

前面的錯誤是因為"Resource": "arn:aws:s3:::example-bucket"指的是桶本身,而不是其中的對象,並且s3:GetObject只適用於對象,不適用於桶。添加/*更改 ARN 以引用儲存桶中的所有對象,而不是儲存桶本身。

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