Хранение учётных данных в Secrets Manager
Безопасно храните и обновляйте секреты баз данных и API, никогда не размещая их в коде
«Хранение учётных данных в Secrets Manager» — бесплатный урок AWS Security Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AWS Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AWS Security Academy содержит 4 уроков всего.
Проблема секретов, зашитых в код
Пароли баз данных и ключи API, зашитые в код или файлы конфигурации, являются одной из главных причин утечек. Они раскрываются через репозитории, журналы и резервные копии.
AWS Secrets Manager безопасно хранит секреты, контролирует доступ с помощью IAM и может автоматически выполнять их ротацию, поэтому секреты не хранятся в коде.
Что делает Secrets Manager
Secrets Manager хранит, шифрует, извлекает и ротирует секреты, например учётные данные баз данных и ключи API.
- Секреты шифруются в состоянии покоя с помощью KMS.
- Приложения получают их во время выполнения через вызов API, а не встраивают в код.
Шифрование и контроль доступа
Каждый секрет шифруется ключом KMS и защищается IAM, а также дополнительной политикой на основе ресурса.
Предоставляйте доступ к секрету только тем ролям, которым он действительно нужен. Каждое получение секрета записывается в CloudTrail, обеспечивая полную подотчётность.
Автоматическая ротация
Главная особенность — автоматическая ротация.
- Функция Lambda по расписанию изменяет секрет и обновляет хранилище.
- Встроенная ротация поддерживает RDS и другие базы данных.
Ротация ограничивает период возможного ущерба, если учётные данные когда-либо будут раскрыты.
Как работает ротация
Для баз данных при ротации обычно используются два набора учётных данных или стратегия чередующихся пользователей, чтобы приложения никогда не сталкивались с недействительным паролем во время изменения.
Функция Lambda создаёт новое значение секрета, проверяет его, а затем делает активным. При правильной настройке всё это происходит без простоя.
Получение секретов во время выполнения
Приложения вызывают GetSecretValue, чтобы получить секрет при необходимости, часто ненадолго сохраняя его в кэше.
Поскольку приложению назначена роль IAM, для получения секрета не нужны статические учётные данные. Так завершается отказ от долгосрочных ключей в коде.
aws secretsmanager get-secret-value \
--secret-id prod/db/credentials \
--query SecretStringSecrets Manager и Parameter Store
SSM Parameter Store также хранит конфигурацию и секреты (SecureString) и является бесплатным для стандартных параметров.
- Выбирайте Secrets Manager для встроенной автоматической ротации и предоставления доступа к секретам между учётными записями.
- Выбирайте Parameter Store для более простой и бесплатной конфигурации без ротации.
Между учётными записями и регионами
Secrets Manager поддерживает политику ресурса, позволяющую предоставить другой учётной записи доступ к секрету, а также может реплицировать секреты в другие регионы.
Это подходит для многорегиональных приложений и аварийного восстановления, поскольку один и тот же секрет доступен там, где выполняется рабочая нагрузка.
Аудит и мониторинг
Отслеживайте использование секретов с помощью CloudTrail (кто получил или сменил секрет) и выявляйте аномалии.
Например, GuardDuty может отмечать необычные шаблоны доступа, а правила Config могут проверять, включена ли смена секретов, чтобы состояние безопасности секретов можно было измерять.
Интеграция с другими сервисами
Многие сервисы AWS встроенно используют секреты Диспетчера секретов.
- RDS и Redshift могут хранить и управлять там своими основными учетными данными.
- ECS, Lambda и CodeBuild могут внедрять секреты во время выполнения.
Это означает, что рабочие нагрузки получают учетные данные безопасно, без необходимости встраивать их в код или получать вручную.
Рекомендации
Чтобы безопасно использовать секреты:
- Никогда не прописывайте секреты непосредственно в коде; получайте их из Диспетчера секретов.
- Включите смену секретов и используйте выделенный ключ KMS.
- Предоставляйте минимально необходимые права для каждого секрета и проверяйте получение секретов при аудите.
Быстрая проверка
Выберите подходящий сервис.
Итоги
Вы узнали о Диспетчере секретов.
- Он хранит, шифрует (с помощью KMS) и автоматически сменяет секреты.
- Приложения получают секреты во время выполнения через вызовы API, управляемые IAM, и никогда не прописывают их непосредственно в коде.
- Выбирайте его вместо Хранилища параметров, когда нужна смена секретов или совместное использование между учетными записями.
Часто задаваемые вопросы
Урок «Хранение учётных данных в Secrets Manager» бесплатный?
Да — полный текст урока «Хранение учётных данных в Secrets Manager» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AWS Security Academy, подпишись на CoddyKit PRO. Курс AWS Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Хранение учётных данных в Secrets Manager»?
Безопасно храните и обновляйте секреты баз данных и API, никогда не размещая их в коде Ты практикуешь AWS Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AWS Security Academy?
Предыдущий опыт не требуется. AWS Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Хранение учётных данных в Secrets Manager»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AWS Security Academy?
Да. Каждый урок AWS Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Шифрование S3, EBS и RDS в состоянии покоя
- Принудительное шифрование по умолчанию везде
- Сертификаты TLS с AWS Certificate Manager
- Хранение учётных данных в Secrets Manager