1

我使用cloudmailin.com將附件從電子郵件上傳到S3存儲桶。存儲桶本身具有公共設置,但我無法從數據鏈接訪問上傳的數據,因爲S3顯然不會使其他用戶上傳的文件變爲公共。使文件由SMTP上傳到S3 Public

目前,我使用的水桶政策之下,這是應該做桶的內容公開:

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

這隻能如果我手動上傳東西S3。如果我手動上傳東西,我可以查看鏈接,並可以在新窗口中打開。但是,如果它是從cloudmailin上傳的,我無法查看該文件。

有人知道解決方法嗎?我只需要讓第三方(cloudmailin)上傳到存儲桶的文件可見即可。

謝謝。

回答

2

問題是,由於CloudMailin會將附件上傳到AWS S3,因此需要爲它們設置ACL權限。 AWS爲此提供了一些「預設權限」。只有兩個是真的感興趣CloudMailin如下:

  • bucket-owner-full-control - 這是你目前正在設置什麼,它賦予了上傳附件的區擁有完全控制權。
  • public-read - 這會授予您完全控制存儲桶所有者的權限,但也會爲每個人設置只讀權限。

如果您登錄到CloudMailin頭到您的地址列表並點擊您需要編輯的地址上的'管理'。然後前往「編輯附件存儲」並選擇「公開閱讀」,然後CloudMailin將設置此封裝策略爲電子郵件附件上傳到S3。