Aws S3 etag не соответствует md5 после шифрования KMS - PullRequest
0 голосов
/ 21 декабря 2018

All- Мы работаем над переносом некоторой конфиденциальной и нормативной информации из локальной файловой системы UNIX на S3.

Файлы копируются с использованием экземпляра AWS EC2 в S3 с использованием "aws s3 cp - sse aws: kms--sse-kms-key-id ....... "команда.

Я заметил, что etag отличается от unix md5sum.Это то же самое, если я не шифрую данные с помощью ключей KMS.

Мне нужно проверить загрузку, чтобы убедиться, что данные не повреждены при загрузке на S3, как я могу проверить, что мой файл не поврежден какetag не будет совпадать из-за шифрования.

Любая помощь действительно приветствуется!

PS: мои файлы не> 5 ГБ, я знаю о проблеме с многокомпонентной загрузкой, и она не применимадля меня ....

1 Ответ

0 голосов
/ 21 декабря 2018

В AWS S3 etag не является контрольной суммой MD5.Если так и случается, что это имело место в прошлом, но AWS предупреждает, что не следует полагаться на этот метод для проверки целостности.

В следующей ссылке приведен текст, на который я ссылаюсь:

The ETag may or may not be an MD5 digest of the object data.

Тег сущности является хешем объекта.ETag отражает изменения только содержимого объекта, а не его метаданных.ETag может быть или не быть дайджестом MD5 данных объекта.Независимо от того, является ли это, зависит от того, как был создан объект и как он зашифрован, как описано ниже:

  • Объекты, созданные с помощью объекта PUT, объекта POST или операции копирования, или с помощьюКонсоль управления AWS, зашифрованная SSE-S3 или открытым текстом, имеет ETag, которые являются дайджестом MD5 своих данных объекта.

  • Объекты, созданные объектом PUT, объектом POST или копиейоперации или через Консоль управления AWS и зашифрованы SSE-C или SSE-KMS, имеют ETag, которые не являются дайджестом MD5 своих данных объекта.

  • Если объектсозданный с помощью операции Multipart Upload или Part Copy, ETag не является дайджестом MD5, независимо от метода шифрования.

Общие заголовки ответа

...