Коллеги, есть следующая архитектура: - "центральный" кластер волт, крутится в ЕС2

инстансах, авто-ансил ключом из AWS KMS
- 3 кластера волт крутятся в кубах, авто-ансил транзит ключами из центрального кластера (авторизация кубернетис)

есть дженкинс, который крутится в ЕС2 и аплаит терраформ конфиг волтов. С "центральным" кластером проблем нет: дженкинс авторизуется через AWS и применяет конфиг

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

Но вот чот не нравится мне, что секрет без ттл и ограничений на число использований.
Мож кто подскажет, как кошерно сделать?

P.S. "центральный" кластер для транзит ключей сделал, чтобы не экспозить, даже частично, креды AWS в кубе. При описанном сетапе никакие креды вообще не передаются никуда. По этой же причине не хочу давать дженкинсу кубовую авторизацию в волтах - придется токен SA где-то хранить в конфигах. Думал сделать авторизацию TLS и поднять PKI в центральном кластере, но, кажется, есть ряд ограничений со стороны кастомера и доступов к ключу СА

5 ответов

37 просмотров

Не призыв к действию, но я просто сделал джобу в кубере, которая генерит токен с TTL раз в 30 минут и загружает в Vault, jenkins в свою очередь просто берет этот токен во время запуска пайплайна (авторизуясь по аппРоли) и использует его для авторизации в кубе. Не уверен, что лучшее решение, точно есть что-то адекватнее, но в моем случае работает хорошо.

Artem (☞゚ヮ゚)☞-Bortnikov Автор вопроса
Aleksandr Eremenko
Не призыв к действию, но я просто сделал джобу в к...

так а как дженкинс авторизуется по аппроли? окей, дать ему в конфиг role_id можно, но давать и role_id, и secret_id это как раз то, чего хочется избежать, то есть дженкинсу надо как-то авторизоваться в волте, чтобы получить эти айдишки. И вот как раз на этом у меня затык

Artem (☞゚ヮ゚)☞ Bortnikov
так а как дженкинс авторизуется по аппроли? окей, ...

Для аппРоли, вроде как и role_id и secret_id нужны одновременно. Ему же нужно как-то токен получить. Хотя я могу ошибаться

Artem (☞゚ヮ゚)☞-Bortnikov Автор вопроса
Aleksandr Eremenko
Для аппРоли, вроде как и role_id и secret_id нужн...

не ошибаетесь, так и есть. Походу, надо писать фича-реквест, чтобы один кластер волт мог валидировать токены другого кластера

Artem (☞゚ヮ゚)☞ Bortnikov
не ошибаетесь, так и есть. Походу, надо писать фич...

For advanced usage, requiring a SecretID can be disabled via an AppRole's bind_secret_id parameter, allowing machines with only knowledge of the RoleID, or matching other set constraints, to fetch a token

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта