Гид по технологиям

Использование AWS Systems Manager Parameter Store для безопасного хранения конфигурации

5 min read AWS Обновлено 22 Nov 2025
AWS Parameter Store — хранение секретов и конфигураций
AWS Parameter Store — хранение секретов и конфигураций

AWS Parameter Store — иллюстрация хранилища параметров

Parameter Store (в составе AWS Systems Manager) позволяет отделять секреты и конфигурационные данные от кода. Параметры можно группировать по иерархиям и тегам, шифровать с помощью AWS KMS и централизованно ссылаться на них в скриптах, командах и документах SSM.

Короткое определение: Parameter Store — управляемое хранилище ключей/значений в AWS с поддержкой шифрования и версий.

Что важно знать в начале

  • Поддерживаемые типы: String, StringList, SecureString (шифруется с KMS).
  • Уровни: Standard (без доп. платы) и Advanced (плата $0.05 за 10,000 API-вызовов для Advanced — проверьте актуальное ценообразование на сайте AWS).
  • SecureString требует CMK (Customer Master Key) из KMS — можно использовать ключ из текущего аккаунта или из другого аккаунта при правильных политиках.

Важно: контроль доступа к параметрам осуществляется через IAM-политику и политики ключей KMS. Без надлежащих прав вы не сможете прочитать или расшифровать значение.

Предварительные требования

  1. Учётная запись AWS и права на Systems Manager и KMS (создание и использование CMK, права на ssm:GetParameter, ssm:PutParameter и т.д.).

Что мы сделаем

  1. Войдём в AWS Console.
  2. Создадим параметр типа SecureString и сохраним конфигурационные данные.
  3. Отредактируем параметр и посмотрим историю версий.
  4. Удалим параметр.

Вход в AWS

Перейдите в консоль AWS и выполните вход с учётными данными вашего аккаунта.

Страница входа в AWS — форма ввода учётных данных

После успешного входа откроется главная панель управления AWS.

Панель управления AWS (dashboard)

Создание параметра для хранения конфигурации

  1. В консоли выберите Services → Systems Manager.
  2. В левой панели откройте Parameter Store (раздел Application Management).

Консоль AWS Systems Manager — панель управления

  1. Если параметров ещё нет, список будет пуст. Нажмите Create parameter.

Раздел Parameter Store — список параметров

  1. Задайте имя параметра. Выберите tier: Standard (если не требуется Advanced). В поле Type выберите SecureString.

Создание параметра — указание имени и KMS-ключа

  1. Укажите KMS Key ID (ключ текущего аккаунта или внешний ключ при настроенной доверенности). В поле Value введите конфигурационные данные, которые хотите сохранить. При необходимости добавьте теги.

Форма создания параметра — поле значения и теги

  1. Нажмите Create parameter. Параметр появится в списке.

Список параметров — созданный параметр

  1. Откройте страницу параметра, чтобы посмотреть детали. Кнопка Show под Value отобразит сохранённое значение (если у вас есть права на расшифровку).

Детали параметра — просмотр значения

Редактирование параметра и история версий

  1. Перейдите на вкладку History — там отображаются ревизии параметра. При первом создании будет одна версия.

История версий параметра — вкладка history

  1. Нажмите Edit, измените значение или метаданные параметра и сохраните. Каждое сохранение создаёт новую версию.

Редактирование параметра — изменение значения

  1. После изменения вы увидите несколько ревизий в истории.

Просмотр ревизий параметра — две версии

  1. Чтобы расшифровать все сохранённые значения в истории, отметьте Decrypt all.

Расшифровать версии — флажок 'Decrypt all'

Совет: история полезна для отката конфигураций и аудита. Однако учтите, что все ревизии, содержащие чувствительные данные, остаются доступными пользователям с правами на чтение истории и KMS.

Удаление параметра

Если параметр больше не нужен, можно удалить его:

  1. Выберите параметр в списке и нажмите Delete.

Подтверждение значения перед удалением параметра

  1. Подтвердите удаление.

Подтверждение удаления параметра

После удаления параметр будет удалён из списка и перестанет быть доступен в запросах API.

Рекомендации по именованию и иерархиям

Используйте читаемые имена с разделителями, чтобы управлять параметрами по средам и приложениям. Пример структуры:

  • /prod/app1/db/password
  • /staging/app1/api/key
  • /shared/logging/level

Правило: имена начинаются со слэша, затем — уровень окружения, приложение и ключ.

Мини-SOP: Быстрое руководство действий

  1. Создать KMS-ключ (если ещё нет).
  2. Назначить IAM-политику, разрешающую ssm:PutParameter и ssm:GetParameter для нужных ролей.
  3. Создать параметр SecureString с выбранным ключом KMS.
  4. Проверить чтение через роль приложения.
  5. Настроить мониторинг доступа и CloudTrail для аудита.

Критерии приёмки

  • Параметр создан и виден в консоли.
  • Значение зашифровано (SecureString) и связано с CMK KMS.
  • История версий показывает созданную и изменённые версии.
  • Пользователь/роле с нужными правами доступно читать значение, остальные — нет.
  • Параметр удаляется корректно и исчезает из списка.

Роли и чек-листы

DevOps:

  • Убедиться, что есть CMK и права на его использование.
  • Создать параметр и настроить теги/имя по стандарту.
  • Настроить CI/CD для безопасного чтения параметров.

Разработчик:

  • Проверить, что приложение использует роль с правами ssm:GetParameter.
  • Не хранить секреты в коде — читать при запуске.

Инженер безопасности:

  • Проверить IAM-политики и политики KMS.
  • Включить аудит CloudTrail на операции ssm и kms.

Модель принятия решений: какой тип параметра выбрать

flowchart TD
  A[Нужно хранить секреты?] -->|Да| B{Защищённое хранение}
  A -->|Нет| C[String или StringList]
  B --> D{Нужны ли расширенные возможности\n'производительность, размер, политики'?}
  D -->|Да| E[Advanced + SecureString]
  D -->|Нет| F[Standard + SecureString]
  C --> G[String для одиночных значений]
  C --> H[StringList для списков значений]

Когда Parameter Store не подходит (противоправные примеры)

  • Если у вас миллионы запросов в секунду — лучше смотреть в сторону специализированных решений и кеширования.
  • Для динамических секретов с автоматической ротацией (например, IAM креденшелы) можно рассмотреть AWS Secrets Manager, который предоставляет встроенную ротацию и интеграцию с базами данных.

Безопасность и соответствие (GDPR/конфиденциальность)

  • Если параметры содержат персональные данные (PII), ограничьте доступ и минимизируйте хранение.
  • Логи доступа к параметрам следует сохранять в CloudTrail для аудита.
  • Настройте ротацию CMK и, при необходимости, ротацию самих секретов (ручную или через Secrets Manager).

Тестовые сценарии и приёмка

  • Попытка чтения параметра без прав должна завершаться AccessDenied.
  • Чтение значения с правами должно возвращать расшифрованный текст.
  • При изменении значения должна появляться новая версия в истории.
  • Удаление должно удалить параметр и запретить дальнейшее чтение.

Краткий словарь

  • Parameter Store — управляемое хранилище параметров AWS.
  • SecureString — тип параметра, шифруемый KMS.
  • CMK/KMS — Customer Master Key в AWS Key Management Service.

Итог

Parameter Store — простой и безопасный способ хранить конфигурации и секреты рядом с инфраструктурой AWS. Он хорошо подходит для централизованного управления небольших и средних объёмов секретов, обеспечивает версионирование и интеграцию с KMS. Для сценариев с автоматической ротацией секретов и расширенным управлением секретами стоит рассмотреть AWS Secrets Manager.

Важно: всегда применяйте принцип наименьших привилегий, контролируйте доступ через IAM и KMS и включайте аудит операций.

Summary:

  • Создали SecureString-параметр, посмотрели историю версий и удалили параметр.
  • Показали рекомендации по именованию, политике доступа и безопасности.
  • Привели чек-листы для ролей и тестовые сценарии для приёмки.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство