|
Рубрика:
Безопасность /
DevSecOps
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ВИЗИТКА
Даниил Ромашов, инженер по надежности (ISRE), TakeProfit Inc., ovkiva@gmail.com
Как убрать токены Consul из описаний задач Nomad
Метод аутентификации, правила привязки, три волны перевода и два подвоха на практике.
Пошаговый гайд перехода в три волны. Разбираем реальные подводные камни: почему Patroni начинает перезапускаться каждый час, как обмануть drift-мониторинг и в чем разница между CONSUL_TOKEN и CONSUL_HTTP_TOKEN.
С чего все началось
У нас три контура (разработка, тестовый и боевой), и в каждом свой кластер Nomad с Consul. Задачи Nomad описаны в файлах HCL и лежат в репозитории. Несколько лет в этих файлах жили и токены Consul: задаче нужно читать хранилище ключей или регистрировать сервис, токен выписывали руками и вставляли в описание.
В Nomad начиная с версии 1.7 есть механизм, который эту проблему снимает: Workload Identity [1]. Планировщик сам выдает каждой задаче подписанный JWT, Consul этот JWT проверяет и меняет на временный токен с правами конкретной задачи. В описании задачи токена нет вообще. Мы перевели на этот механизм все три контура, тремя волнами с интервалом около недели. Ниже рассказано, как это устроено, в каком порядке мы шли и где споткнулись
env { CONSUL_TOKEN = «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx» }
<...>
Ключевые слова: HashiCorp Nomad, HashiCorp Consul, Workload Identity, JWT-аутентификация, управление секретами (Secrets Management), Zero Trust, SRE, динамические токены, защита инфраструктуры.
Полную версию статьи читайте в журнале Подпишитесь на журнал
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|