Amazon S3 SSE-C шифрование файла уже на S3 - PullRequest
0 голосов
/ 31 августа 2018

У меня много раз запущено приложение, которое загружает файлы (изображения) в хранилище S3.

Теперь меня попросили обновить это приложение и загрузить файл с использованием шифрования SSE-C (шифрование на стороне сервера с предоставленным клиентом ключом). Так я и сделал.

Я также могу загружать зашифрованные файлы SSE-C, используя aws cli.

Что мне нужно сейчас, и вот мой вопрос, так это найти способ применить шифрование SSE-C к более ранним файлам, уже находящимся на S3, без шифрования SSE-C.

Может ли кто-нибудь объяснить мне, если и как это можно сделать, или указать мне какую-нибудь страницу документации или поддержки, чтобы найти решение?

Один (возможно, неэффективный) способ, который я нашел, заключается в следующем для каждого файла:

  1. скопировать имя файла в filename.encrypted с применением шифрования SSE-C
  2. переместить имя файла. Зашифровано в имя файла

Это единственный способ сделать это или есть лучший?

ПРИМЕЧАНИЯ:

  • Поскольку у меня много файлов, я, очевидно, исключил возможность загрузки файла и последующей загрузки с шифрованием SSE-C, поскольку это будет слишком медленно и слишком дорого.
  • Я ищу решение, позволяющее применять SSE-C без передачи данных с S3 и обратно на S3.

Большое спасибо за любые отзывы по этому поводу.

1 Ответ

0 голосов
/ 01 сентября 2018

Вы можете применить шифрование к уже существующим объектам, просто скопировав объект поверх себя:

aws s3 cp s3://bucket/foo.txt s3://bucket/foo.txt --sse-c --sse-c-key fileb://key.bin

Это работает, пока что-то (например, шифрование) меняется.

Я получил синтаксис --sse-c от: Как указать ключ в командной строке, не закодированный в Base 64

...