Для serverless.com самый простой способ раскрыть секрет функции лямбда-AWS - это сохранить его в serverless.yml
файле (например, зашифрованном с помощью KMS).
Но передача зашифрованных секретов в Git - не лучшая вещь в мире. Требуется изменение кода, когда секрет должен измениться, с одной стороны.
Но с точки зрения безопасности, какие есть лучшие альтернативы? например, секрет может быть сохранен в S3 (в зашифрованном виде) с Lambda, предоставившим доступ к этому местоположению и ключу KMS, но действительно ли это лучше каким-либо значимым способом?
security
aws-lambda
serverless
encryption
Ассаф Лави
источник
источник
Ответы:
Здесь следует рассмотреть несколько элементов:
Ценно иметь возможность поддерживать конфигурацию с отдельным каденсом релиза из настраиваемого кода. Это поощряет автоматическую ротацию учетных данных, регулярно делайте это безболезненно.
С точки зрения «Инфраструктура как код» вполне разумно хранить всю конфигурацию в Git, хотя, вероятно, в другом хранилище, поскольку область конфигурации может охватывать более одной службы.
Предполагая, что оба приведенных выше утверждения имеют отношение к вашей ситуации, я был бы склонен зашифровать данные с помощью KMS и сохранить их в S3 или DynamoDB. Я бы даже сказал, что в очень простых ситуациях было бы целесообразно зашифровать и хранить данные в самой KMS.
Существует несколько библиотек с открытым исходным кодом, которые будут поддерживать эту операцию:
источник
Обычно я рассматриваю секреты как данные конфигурации. Как таковой, он не живет вместе с кодом, так как они обрабатываются различными графиками выпуска и процессами. Отдельное git-репо, KMS, динамо, s3 или внутри вашей системы управления конфигурациями (chef-хранилище / зашифрованная база данных в мире chef) - это хорошие места. По сути, вам не нужно создавать и развертывать новую версию своего программного обеспечения, чтобы получить секретную информацию.
Если вам нужны более сложные секреты управления, то вам подойдет что-то вроде Hasicorp Vault ( https://github.com/hashicorp/vault ).
источник