2017-02-10 49 views
0

我想從我的流星應用程序上傳到S3,以便數據在靜態時加密。我使用的是this package,但我對其進行了修改,因爲它尚不支持指定SSE(我爲此創建了這個issue)。當指定服務器端加密(SSE)時,上傳到S3會產生403禁止

在我分叉的代碼版本,我添加了這些線附近的this file底部uploadFile功能:

if ops.server_side_encryption 
    form_data.append "x-amz-server-side-encryption", "AES256" 

和辦法設置ops.server_side_encryption爲true。

這一切都非常簡單,我成功地將x-amz-server-side-encryption": "AES256"添加到獲取發佈的form_data。問題是添加此參數會導致來自s3的403 Forbidden響應。

AWS docs don't say表示該桶需要什麼特殊的允許這個新的參數,因此SSE。他們談論強制執行客戶端請求指定加密,我也嘗試添加該策略無濟於事(雖然我不希望工作,因爲文檔沒有說你需要一個特殊的策略來允許這個參數) 。

是否存在缺少信息,關於某些配置需要在位以允許客戶端上傳請求中的SSE參數?

+0

是否有任何機會在S3存儲桶上制定防止使用AES256加密的自定義策略? –

+0

我會說不,因爲這個政策是空白的,而且我使用_adding_策略玩弄了一個策略,該策略成功禁止DID不指定SSE但不能成功允許指定SSE的請求的請求。 – tscizzle

+0

如果你註釋掉上面的代碼,那麼你可以上傳沒有任何問題(文件是未加密的除外)? –

回答

0

答案(這是我發現的感謝Mark B的評論)是這樣的:

我用文件上載到S3的表單POST方法。我忘記了帖子中的政策文件可能包含某些限制。正在發送的政策文件需要加密({"x-amz-server-side-encryption": "AES256"}作爲我的一個條件)。

相關問題