AWS Secrets Manager и Parameter Store
Использование хранилищ данных в AWS
Dunieski Otano
AWS Solutions Architect
Катастрофа из-за хардкода пароля
Разработчик хардкодит пароль от базы данных в коде
Код публикуется в открытом репозитории GitHub
Злоумышленник находит пароль за 12 минут
База данных уничтожена, выдвинуто требование выкупа
Почему нельзя хардкодить секреты
Типичные ошибки
Хардкод в исходном коде
Открытый текст в конфигурационных файлах
Данные попадают в систему контроля версий
Последствия
Утечка через публичные репозитории
Сложность ротации
Отсутствие журнала аудита
Обзор AWS Secrets Manager
Назначение
Хранение и автоматическая ротация учётных данных
Что хранить
Пароли БД, ключи API, токены OAuth
Ключевые возможности
Автоматическая ротация, шифрование KMS, журнал аудита
Автоматическая ротация в Secrets Manager
Процесс ротации
Lambda-функция обновляет учётные данные
Окно ротации
Настройка расписания (rate или cron)
Нулевое время простоя
Во время ротации работают оба пароля — старый и новый
Хранение секретов в формате JSON
Структурированные секреты
Несколько значений в одном секрете
Формат JSON
{"username": "admin", "password": "...", "host": "db.example.com"}
Получение и разбор
Используйте API GetSecretValue
Обзор Parameter Store
Входит в состав
AWS Systems Manager
Назначение
Хранение конфигурации и статических секретов
Иерархическая организация
/app/prod/db/password
/app/dev/api-key
Бесплатный уровень
До 10 000 стандартных параметров (макс. 4 КБ)
Расширенные параметры (макс. 8 КБ) — платные
Типы параметров в Parameter Store
String
Конфигурация в открытом тексте (флаги функций, эндпоинты)
StringList
Значения через запятую (IP-адреса)
SecureString
Зашифровано с помощью KMS (пароли, ключи API)
Secrets Manager или Parameter Store: как выбрать
Используйте Secrets Manager, если
Нужна автоматическая ротация
Хранятся учётные данные базы данных
Используйте Parameter Store, если
Хранятся статические значения конфигурации
Важна экономия (бесплатный уровень)
Используйте оба вместе
Распространённая схема в продакшене
Давайте потренируемся!
Использование хранилищ данных в AWS
Preparing Video For Download...