Для хранения любых учетных данных у вас есть три AWS управляемых варианта:
Переменные среды Lambda
Они будут переданы в функцию Lambda напрямую через службу Lambda. . Вы можете запретить другим доступ к строковым значениям, контролируя их разрешения для KMS через IAM . Это обеспечит наилучшую производительность из всех вариантов (во время выполнения кода дополнительный поиск не требуется).
Используя этот параметр, помните о следующих подводных камнях:
- Если вы используете версии для вашей лямбда-функции значения фиксированы, вам потребуется развернуть новую версию лямбда-функции, чтобы внести изменения.
- Значения привязаны к отдельной лямбда-функции, если ключи используются несколькими, вы будете необходимо передать каждой функции индивидуально.
Хранилище параметров системного менеджера
Используя эту опцию, вы можете использовать SDK для получения любых ключей / значений, которые вы хотите . Он может хранить как простые текстовые значения, так и зашифрованные строки (тип SecureString ). Он обеспечивает базовую c функциональность, но если это все, что вам нужно, он будет отлично работать. Хранение значений ничего не стоит, но цена $0.05 per 10,000 Parameter Store API interactions
. В отличие от переменных среды, вы можете использовать значение в нескольких лямбда-функциях.
Используя эту опцию, вам нужно знать следующее:
- Будет снижена производительность для извлечение значения каждый раз, чтобы уменьшить этот вызов функции в глобальном контексте, чтобы ее можно было повторно использовать между вызовами.
- Вам потребуется отдельный параметр для каждого ключа / значения. Для базы данных это будет означать либо создание отдельных параметров, либо сохранение всего набора учетных данных в виде объекта JSON и декодирование после его получения.
Менеджер секретов
Используя эту опцию, большая часть управления встроена в службу, секрет может содержать либо строку, либо одну строку JSON объекта. SDK будет обрабатывать получение этих значений, но вы должны знать, что, как и SSM, вы столкнетесь с падением производительности, поэтому вы захотите взглянуть на решение, подобное хранилищу параметров. Самым большим преимуществом диспетчера секретов над хранилищем параметров SSM является его интеграция с другими службами AWS, позволяющими использовать такие функции, как ротация секретов.
Однако, если вам не нужны функции диспетчера секретов, вы можете заплатить больше чем вам на самом деле требуется, это самый дорогой вариант из всех трех.