如何从AWS KMS导入密钥到AWS Lambda?

时间:2018-10-02 09:04:21

标签: python amazon-web-services boto3

我正在尝试找出问题。.如何在AWS Lambda上运行的Python代码中从AWS KMS获取密钥。我在AWS KMS中具有用于远程服务器FTP / SFTP的密钥,现在我的AWS Lambda函数必须将文件从远程服务器镜像到S3存储桶,但是某些服务器使用ssh-key进行授权。问题是如何在python代码中导入密钥(解密,以明文形式保存-因此我必须在每次运行函数时都使用boto3在python代码内部解密密钥)?

关于, Null007

1 个答案:

答案 0 :(得分:0)

answers to this similar StackOverflow question中,您只需将具有KMS密钥检索权限的角色附加到Lambda函数即可。

之后,您应该可以使用boto3客户端访问KMS密钥:

with open('encrypted_pem.txt', 'r') as encrypted_pem:
    pem_file = encrypted_pem.read()

kms = boto3.client('kms', region_name=REGION)
return kms.decrypt(CiphertextBlob=b64decode(pem_file))['Plaintext']

[代码还提供链接的StackOverflow问题的答案]