2017-06-13 91 views
0

我只是試圖訪問我自己的存儲桶中的文件,出於某種原因,我不能。訪問S3私人資產

CORS

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
<CORSRule> 
    <AllowedOrigin>*</AllowedOrigin> 
    <AllowedMethod>GET</AllowedMethod> 
    <AllowedMethod>POST</AllowedMethod> 
    <AllowedMethod>PUT</AllowedMethod> 
    <AllowedMethod>DELETE</AllowedMethod> 
    <AllowedMethod>HEAD</AllowedMethod> 
    <AllowedHeader>*</AllowedHeader> 
</CORSRule> 
</CORSConfiguration> 

政策

用戶策略

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt14973834050", 
      "Effect": "Allow", 
      "Action": [ 
       "s3:*" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::bucket-name" 
      ] 
     } 
    ] 
} 

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": "*", 
      "Resource": "*" 
     } 
    ] 
} 

我可以上傳文件,但無法獲取任何看似應該更容易的文件。我錯過了明顯的東西嗎?

當我嘗試提取資產時。我得到了一個403 Forbidden的迴應。

+0

你有什麼權限選項卡上(就是你在每個指定讀/寫權限用戶基礎)?另外你如何訪問存儲桶?如果您使用CLI,那麼我認爲CORS不在圖片中。 – jingx

+0

我現在正在嘗試通過預先標記的URL來使其工作,因爲這不起作用。 –

回答

1

一些亞馬遜S3政策在桶水平"arn:aws:s3:::bucket-name")操作,並且一些在對象級別"arn:aws:s3:::bucket-name/*")操作。

桶級操作,包括列出桶和上傳到桶。對象級操作包括下載對象。

爲了讓用戶在一個特定的桶中的所有Amazon S3的權限,使用的策略是這樣的:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "AllowAllOnBucket", 
      "Effect": "Allow", 
      "Action": [ 
       "s3:*" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::bucket", 
       "arn:aws:s3:::bucket/*" 
      ] 
     } 
    ] 
}