2015-02-17 88 views
0

我遵循S3文檔,默認情況下還沒有允許公開訪問。默認情況下,Amazon S3公開給用戶「Everyone」

這裏是我申請桶政策代碼:

{ 
"Version": "2008-10-17", 
"Id": "Policy1424204422650", 
"Statement": [ 
    { 
     "Sid": "Stmt1424204398740", 
     "Effect": "Allow", 
     "Principal": { 
      "AWS": "*" 
     }, 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::images/*" 
    } 
] 
} 

我試圖改變原則「所有人」,但AWS返回以下錯誤:

Invalid principal in policy - "AWS" : "Everyone" 

我如何修改JSON以允許默認訪問每個人?

+0

您是否使用了正確的[ARN](http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-s3)資源部分? – 2015-02-18 00:02:06

+0

是我的存儲桶名稱是圖像 – byrdr 2015-02-18 01:29:45

回答

2

S3 example bucket policies有正確的政策 - 我谷歌每隔幾個月。

{ 
    "Version":"2012-10-17", 
    "Statement":[{ 
    "Sid":"AddPerm", 
    "Effect":"Allow", 
    "Principal": "*", 
    "Action":["s3:GetObject"], 
    "Resource":["arn:aws:s3:::examplebucket/*"] 
    }] 
} 

只有一件事你應該改變,那就是examplebucket

請注意,校長是"*",它不是散列/字典。

+0

由於某種原因,仍然沒有提供默認情況下每個人都可讀取... – byrdr 2015-02-18 01:29:17

+0

除非您在8年前創建存儲桶名稱,否則*無法*您的存儲桶名稱是「圖像」。它們必須是全球獨一無二的,我相信這是在發佈後立即採取的。 – tedder42 2015-02-18 01:32:56

+0

其實際上'vinimages',我認爲我有它正確的格式,雖然 – byrdr 2015-02-18 02:00:20