Безопасность — Как Хранить Зашифрованные Секреты В Коде Проекта Serverless.com?

  • Автор темы Cbxvt1
  • Обновлено
  • 21, Oct 2024
  • #1

С помощью serverless.com самый простой способ раскрыть секрет функции AWS Lambda — сохранить его в serverless.yml file (encrypted with KMS, for example).

Но передавать зашифрованные секреты в Git — не самое лучшее на свете. Во-первых, требуется изменение кода, когда необходимо изменить секрет.

Но какова лучшая альтернатива с точки зрения безопасности? например секрет может храниться в S3 (зашифрованном), с предоставлением Lambda доступа к этому местоположению и ключу KMS, но действительно ли это лучше в каком-либо значимом смысле?

#безопасность #aws-lambda #бессерверное #шифрование

Cbxvt1


Рег
08 Nov, 2017

Тем
75

Постов
208

Баллов
603
  • 25, Oct 2024
  • #2

Здесь следует учитывать несколько элементов:

  1. Очень важно иметь возможность поддерживать конфигурацию с отдельной периодичностью выпуска из настраиваемого кода. Это способствует автоматической ротации учетных данных. Делайте это регулярно, чтобы сделать это безболезненным.

  2. С точки зрения «Инфраструктура как код» вполне разумно хранить всю конфигурацию в Git, хотя, возможно, и в другом репозитории, поскольку область конфигурации, скорее всего, будет охватывать более одного сервиса.

  3. Предполагая, что оба приведенных выше утверждения относятся к вашей ситуации, я был бы склонен зашифровать данные с помощью KMS и сохранить их в S3 или DynamoDB. Я бы даже сказал, что в очень простых ситуациях может оказаться целесообразным шифровать и хранить данные внутри самого KMS.

Существует несколько библиотек с открытым исходным кодом, которые поддерживают эту операцию:

 

Zerovushka


Рег
08 Dec, 2008

Тем
74

Постов
199

Баллов
599
  • 25, Oct 2024
  • #3

Я обычно рассматриваю секреты как данные конфигурации в области видимости. По существу, он не живет рядом с кодом, поскольку обрабатывается разными графиками и процессами выпуска. Отдельный репозиторий git, KMS, Dynamo, s3 или внутри вашей системы управления конфигурациями (chef-vault/зашифрованная база данных в мире шеф-поваров) — хорошие места. По сути, вам не нужно создавать и развертывать новую версию вашего программного обеспечения, чтобы обновить секрет.

Если ваши потребности в управлении секретами более сложны, можно использовать что-то вроде Hasicorp Vault (https://github.com/hashicorp/vault) будет хорошим вариантом.

 

Ken8


Рег
08 Dec, 2020

Тем
80

Постов
213

Баллов
653
Похожие темы Дата