Я сохраняю некоторые изображения/объекты в aws s3 bucket из своего приложения. Сначала я получаю подписанный url из servicejs service api и загружаю изображения или файлы в пенный url с помощью jquery ajax. Я могу открыть изображение или объект, используя ссылку, указанную в свойствах (https://s3.amazonaws.com/bucketname/objectname).Зашифровать объект в aws s3 bucket
Я хочу обеспечить безопасность для каждого загруженного объекта. Даже случайно, если какой-либо анонимный пользователь получит ссылку (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, то как я могу открыть его, используя ссылку, показанную в свойствах.
Я сделал объект частного отключив открытой/загрузку и просмотр разрешений свойства объекта, но до сих пор я могу открыть/объект вида со ссылкой (https://s3.amazonaws.com/bucketname/имя_объект). Думаю, мне нужно зашифровать файл на стороне клиента и сохранить его на s3. Поэтому любой пользователь или даже владелец s3 не мог просматривать/открывать объекты, несмотря на наличие ссылки на объект. Они должны извлекать объект из s3 и расшифровывать его с помощью закрытого ключа. – Praveen
Возможность доступа к объекту в Amazon S3 полностью не зависит от шифрования. Давайте сосредоточимся на доступе. Возможно, ваш объект был кэширован вашим браузером, поэтому попробуйте открыть его в другом браузере или на другом компьютере. Он должен вернуть «Access Denied». Если он по-прежнему доступен, тогда у вас может быть политика Bucket, которая предоставляет доступ. Первый шаг - снова открыть ваши объекты, а затем сыграть с методами предоставления доступа. Также убедитесь, что вы открываете объект, щелкнув ссылку в ** Свойства **, а не используя команду ** Открыть **. –