Секрет Kubernetes

Простыми словами

Пароль не нужно зашивать в образ или общий конфигурационный файл. Его передают отдельно, но название Secret не означает, что он автоматически зашифрован и недоступен другим участникам кластера.

Как применяется

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

Пример применения

Приложение получает пароль базы данных из файла Secret. При ротации команда обновляет значение, проверяет, перечитало ли его приложение, и только затем отключает старый пароль. Бессистемная замена способна вызвать простой, а сохранение старого пароля навсегда обесценивает ротацию.

Не путать с

  • ConfigMapПредназначен для неконфиденциальных настроек; чувствительные данные туда не помещают.
  • Base64Кодирование представления данных, которое не обеспечивает криптографическую защиту.
  • Хранилище секретовСпециализированная система управления жизненным циклом; Secret может быть точкой доставки её данных.

Как это работает

  1. Создать значениеПолучают секрет из доверенного источника, не включая его в репозиторий.
  2. Ограничить доступНастраивают RBAC, защиту хранилища и права создания нагрузок.
  3. Передать приложениюПодключают только нужному контейнеру и выбирают безопасный способ чтения.
  4. Обновить и проверитьКонтролируют ротацию, перечитывание значения и прекращение использования старого секрета.

Продолжить изучение

Связанные термины

Частые вопросы

Base64 защищает пароль?

Нет. Значение легко декодируется без ключа.

Secret зашифрован в etcd по умолчанию?

Не следует на это рассчитывать: проверяют фактическую конфигурацию шифрования хранимых данных.

Переменная окружения обновится сама?

У уже запущенного процесса — нет. Нужно предусмотренное приложением обновление или пересоздание Pod.

Секрет Kubernetes (Secret) — объект API для хранения небольших объёмов чувствительных данных: паролей, токенов и ключей. Он позволяет передавать их нагрузке отдельно от кода и образа. Защита Secret зависит от доступа к API, настроек хранения и способа использования.