【发布时间】:2015-11-10 15:32:06
【问题描述】:
我正在从我的应用程序中将一些图像/对象保存在 aws s3 存储桶中。首先,我从 nodejs 服务 api 获取签名 url,并使用 jquery ajax 将图像或文件上传到 singed 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 存储上存储加密对象,那么我如何使用属性中显示的链接打开它。
【问题讨论】:
标签: node.js encryption amazon-s3