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 KB)
Розширені параметри (макс. 8 KB) — з оплатою
Типи параметрів у Parameter Store
String
Текстова конфігурація (флагі функцій, кінцеві точки)
StringList
Значення через кому (IP-адреси)
SecureString
Шифрування KMS (паролі, API-ключі)
Secrets Manager vs Parameter Store: як обрати
Використовуйте Secrets Manager, коли
Потрібна автоматична ротація
Зберігаєте облікові дані БД
Використовуйте Parameter Store, коли
Статичні конфігураційні значення
Важлива економія (безплатний рівень)
Використовуйте разом
Типовий підхід у продакшені
Давайте потренуємось!
Використання сховищ даних в AWS
Preparing Video For Download...