Как безопасно добавить сертификат .pfx в aws лямбда - PullRequest
0 голосов
/ 23 апреля 2020

Я разрабатываю лямбда-функцию для потребления soap API. API soap требует аутентификации с помощью SSL-сертификата. Мне удалось заставить его работать локально, импортировав файл pfx с помощью бинарного загрузчика (webpack), а затем записав его обратно в путь '/ tmp /' в контейнере lambda следующим образом:

const cert = require('/etc/ssl/certs/cert.pfx')
const certPath = '/tmp/cert.pfx'
fs.writeFileSync(certPath, Buffer.from(cert, 'binary'))
client.setSecurity('/tmp/cert.pfx', 'secretPassphrase', {...options});

This на самом деле не является жизнеспособной стратегией, так как требует либо добавления файла pfx для контроля версий, либо иным образом сложных мер.

Мне бы хотелось иметь возможность просто запрашивать двоичный файл pfx из AWS (secrettsmanager / paramstore / someotherservice). Но я не могу найти способ заставить это работать с двоичным форматом pfx.

Какой умный способ решить эту проблему?

Спасибо миллион!

1 Ответ

0 голосов
/ 23 апреля 2020

Моей первой мыслью было бы сохранить файл pfx в корзине S3 в вашей учетной записи, указав шифрование KMS при сохранении файла. Затем дайте разрешение роли IAM функции Lambda для чтения файла из S3.

В некоторых кодах инициализации вне обработчика вашей лямбда-функции вы просто вызываете функцию копирования S3, используя AWS SDK, чтобы скопировать pfx-файл в * 1005 функции лямбда-функции * папка.

...