[英]encrypt object in aws s3 bucket
我正在從應用程序將一些圖像/對象保存在aws s3存儲桶中。 首先,我從nodejs服務api獲取簽名的url,並使用jquery ajax將圖像或文件上傳到單個url。 我可以使用屬性( https://s3.amazonaws.com/bucketname/objectname )中提供的鏈接打開圖像或對象。
我想為每個上傳的對象提供安全性。 即使偶然地有任何匿名用戶在某處獲得了鏈接( https://s3.amazonaws.com/bucketname/objectname ),他也無法打開它。 應該訪問它們(對象),並且僅打開諸如請求具有某些標頭密鑰值等的情況。我嘗試通過在請求中指定標頭密鑰值來嘗試服務器端加密,如下所示。
var file = document.getElementById('fileupload').files[0];
$.ajax({
url: signedurl,
type: "PUT",
data: file,
header:{'x-amz-server-side-encryption':'AES256'},
contentType: file.type,
processData: false,
success: function (result) {
var res = result;
},
error: function (error) {
alert(error);
}
服務器端加密不會將加密對象保留在s3存儲桶中嗎? 它是否僅在傳輸時加密並在保存到s3存儲之前解密?
如果將加密對象存儲在s3存儲上,那么如何使用屬性中顯示的鏈接將其打開。
Amazon S3中的服務器端加密(SSE)對靜止的對象(存儲在磁盤上)進行加密,但是在檢索到對象時對它們進行解密。 因此,它是一種透明的加密形式。
如果您希望將對象保留在Amazon S3中私有,但讓特定的授權用戶可以使用,則建議使用Pre-Signed URL 。
通過讓您的應用程序生成URL來提供此時間,該URL提供了對Amazon S3中特定對象的限時訪問的功能。 否則,這些對象將保持私有狀態,因此無法訪問它們。
請參閱文檔: 與他人共享對象
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.