如何将.pem文件导入AWS Lambda函数

时间:2019-04-12 21:09:18

标签: amazon-web-services aws-lambda amazon-cloudformation pysftp

我正在尝试使用需要私钥文件的AWS Lambda连接到STFP。我能够从本地连接,现在我需要将其部署到Lambda函数中。但是pysftp.connection需要filepath而不是keystring来连接。

我可以使用YAML文件将私有文件打包到我的Lambda软件包中吗?

import pysftp

ftp = pysftp.Connection(host = hostname , username=user, port=22, private_key='...pem')

我可以将pem文件存储在AWS SSM中并在连接到STFP时访问文件吗?

3 个答案:

答案 0 :(得分:0)

是的,您可以打包.pem文件作为AWS Lambda功能代码部署的一部分。这将使其在本地文件系统上可用。

请参阅:AWS Lambda Deployment Package in Python - AWS Lambda

或者,您可以将.pem文件存储在Amazon S3中,并让AWS Lambda函数在使用前将其下载到/tmp目录中。

答案 1 :(得分:0)

我不会在其他答案中将文件存储在s3中,这不是很好的安全做法。

这是一个文档,其中包含有关如何在Lambda中使用SSM机密的示例,我在成功之前已经使用过它。

https://aws.amazon.com/blogs/compute/sharing-secrets-with-aws-lambda-using-aws-systems-manager-parameter-store/

答案 2 :(得分:0)

如果您需要有关创建部署程序包的说明,可以查看以下视频。无需使用pip来安装软件包,您只需替换在lambda_function文件夹中复制.pem文件即可。然后按照其余步骤进行操作。

https://geektopia.tech/post.php?blogpost=Create_Lambda_Package_Python