Расшифруйте объект в AWS S3, не загружая его в локальную систему - PullRequest
1 голос
/ 27 апреля 2019

У меня есть зашифрованный файл в ведре s3.Я хочу расшифровать его программно, не загружая его на мою локальную машину.Можно ли расшифровать зашифрованный файл, не загружая его на мой локальный компьютер?

Вещи, которые я использую для шифрования файла: библиотека boto3, ключи KMS для шифрования aws sdk, скрипт python

Я определенно могу загрузить этот файл, а затем расшифровать его на моем локальном компьютере следующим образом:

with aws_encryption_sdk.stream(
    mode='d',
    source=src_file,
    key_provider=kms_key
    ) as decryptor:
        for block in decryptor:
            tgt_file.write(block)

Но это возможно, если я загружу файл в локальную систему.Я не хочу скачивать файл.Я хочу расшифровать его внутри корзины s3 и разрешить следующему процессу работать с этим расшифрованным файлом.

Любые указатели будут высоко оценены!

1 Ответ

1 голос
/ 27 апреля 2019

Нет, это невозможно напрямую.Однако вы можете создать AWS Lambda, чтобы при загрузке файла вы могли запустить Lambda для расшифровки.Подробнее см. Использование AWS Lambda с Amazon S3 .

В псевдокоде вы должны сделать что-то вроде:

def lambda_handler(event, context): 
    read file from key in the event from S3
    decrypt file as your code shows
    save decrypted file back to S3 likely in a different bucket or directory path
    notify next process that the decrypted file is available.
...