我在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存储桶中对其解密,并使下一个进程能够对该解密文件进行处理。
任何指针将不胜感激!
答案 0 :(得分:1)
否,这不可能直接实现。但是,您可以创建一个AWS Lambda,以便在文件上传时可以运行Lambda进行解密。有关更多详细信息,请参见Using AWS Lambda with 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.