Как импортировать файл .pem в функцию AWS Lambda - PullRequest
2 голосов
/ 13 апреля 2019

Я пытаюсь подключиться к STFP с помощью AWS Lambda, которому нужен файл закрытого ключа.Я могу подключиться из локальной сети, и теперь мне нужно развернуть ее в функции Lambda.Но pysftp.connection требуется filepath, а не keystring для подключения.

Могу ли я упаковать закрытый файл в мой пакет Lambda, используя файл YAML?

import pysftp

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

Могу ли я сохранить pemфайл в AWS SSM и доступ к файлу при подключении к STFP?

Ответы [ 3 ]

0 голосов
/ 13 апреля 2019

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

Вот документ с примером того, как использовать секреты SSM с Lambda, я использовал это раньше успешно.

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

0 голосов
/ 21 апреля 2019

Если вам нужны инструкции по созданию пакета развертывания, вы можете посмотреть видео ниже. Вместо того, чтобы использовать pip для установки пакета, вы можете просто заменить копию своего .pem файла в папке lambda_function. Затем выполните остальные шаги.

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

0 голосов
/ 13 апреля 2019

Да, вы можете упаковать файл .pem как часть развертывания кода функции AWS Lambda.Это сделает его доступным в локальной файловой системе.

См .: Пакет развертывания AWS Lambda на Python - AWS Lambda

В качестве альтернативы вы можете сохранить файл .pem вAmazon S3 и функцию AWS Lambda загрузите его в каталог /tmp перед использованием.

...