Шифрование значений с помощью helm-secrets и SOPS
Безопасное хранение зашифрованных значений секретов в Git
«Шифрование значений с помощью helm-secrets и SOPS» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Зашифруйте, затем зафиксируйте
Что, если значения секретов можно безопасно хранить в Git? Шифрование делает это возможным: файл нельзя прочитать без правильного ключа. 🔐
Знакомство с SOPS
SOPS — это инструмент, который шифрует значения внутри файла YAML, оставляя ключи открытыми, чтобы различия между версиями по-прежнему были понятны.
Шифруются только значения
Главное преимущество SOPS — он шифрует только значения. Вы по-прежнему видите существующие ключи, но не их секретное содержимое.
db:
password: ENC[AES256_GCM,data:9fK2...,type:str]На основе службы ключей
SOPS шифрует данные с помощью главного ключа от такого провайдера, как age, AWS KMS или GCP KMS, поэтому расшифровать их могут только авторизованные владельцы.
Плагин helm-secrets
Плагин helm-secrets связывает SOPS и Helm, позволяя Helm расшифровывать файл зашифрованных значений непосредственно во время выполнения команды.
helm plugin install https://github.com/jkroepke/helm-secretsШифрование файла
С помощью плагина Вы обрабатываете файл значений, чтобы зашифровать его на месте и превратить незашифрованные секреты в безопасный шифротекст, готовый для Git.
helm secrets encrypt secrets.yaml > secrets.enc.yamlРасшифровка во время развёртывания
При установке или обновлении helm-secrets расшифровывает файл только на время этого запуска и передаёт открытый текст Helm лишь в памяти.
helm secrets install myapp ./chart -f secrets.enc.yamlПрефикс команды secrets
Просто добавьте secrets перед обычными командами Helm. Плагин выполняет расшифровку, а затем передаёт всё дальше в Helm.
helm secrets upgrade myapp ./chart -f secrets.enc.yamlФиксируйте только шифротекст
Вы фиксируете зашифрованный файл и полностью исключаете открытый текст из Git. В репозитории не остаётся ничего полезного для злоумышленника.
Ротация с повторным шифрованием
Чтобы изменить круг тех, кто может читать секрет, ротируйте ключи и повторно шифруйте файл. SOPS поддерживает нескольких получателей для совместного доступа.
Ключи хранятся вне Git
Вся модель основана на том, что ключ расшифровки остаётся вне репозитория: он хранится у людей или в KMS, а не рядом с шифротекстом.
Быстрая проверка
Что SOPS шифрует в файле YAML?
Итоги
Вы узнали, как helm-secrets вместе с SOPS шифрует значения для безопасного хранения в Git и расшифровывает их только во время развёртывания. 🎉
Часто задаваемые вопросы
Урок «Шифрование значений с помощью helm-secrets и SOPS» бесплатный?
Да — полный текст урока «Шифрование значений с помощью helm-secrets и SOPS» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Шифрование значений с помощью helm-secrets и SOPS»?
Безопасное хранение зашифрованных значений секретов в Git Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Шифрование значений с помощью helm-secrets и SOPS»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Почему секретам не место в values.yaml
- Шифрование значений с помощью helm-secrets и SOPS
- Получение секретов из внешних операторов секретов
- Шаблонизация ресурсов Secret в Kubernetes