我正在尝试使用需要私钥文件的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时访问文件吗?
答案 0 :(得分:0)
是的,您可以打包.pem
文件作为AWS Lambda功能代码部署的一部分。这将使其在本地文件系统上可用。
请参阅:AWS Lambda Deployment Package in Python - AWS Lambda
或者,您可以将.pem
文件存储在Amazon S3中,并让AWS Lambda函数在使用前将其下载到/tmp
目录中。
答案 1 :(得分:0)
我不会在其他答案中将文件存储在s3中,这不是很好的安全做法。
这是一个文档,其中包含有关如何在Lambda中使用SSM机密的示例,我在成功之前已经使用过它。
答案 2 :(得分:0)
如果您需要有关创建部署程序包的说明,可以查看以下视频。无需使用pip来安装软件包,您只需替换在lambda_function文件夹中复制.pem文件即可。然后按照其余步骤进行操作。
https://geektopia.tech/post.php?blogpost=Create_Lambda_Package_Python