Секреты и безопасность пайплайна
Вопрос
Интервьюер: «Как вы защищаете CI от утечки секретов и от подмены того, что уходит в прод?»
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Секреты в хранилище CI или Vault, не в репозитории, masked и protected
Короткоживущие учётки через OIDC вместо долгих токенов
Минимальные права токенов и раздельные учётки на окружения
Сторонние actions и образы зафиксированы по SHA или digest
Недоверенный код (PR из форков) без секретов и на одноразовых раннерах
Защищённые ветки, обязательное ревью, подпись артефактов
Что могут спросить следом
- Что такое OIDC в CI и чем лучше статического ключа?
- Что делать, если секрет попал в git?
Разбор
Образцовый ответ: «Секреты лежат не в репозитории, а в переменных CI с маскированием и флагом protected, чтобы их видели только защищённые ветки. Для облака использую OIDC: пайплайн получает короткоживущий токен по подписанному удостоверению джобы, долгоживущих ключей в CI нет вообще. Токены с минимальными правами, отдельные на stage и prod. Всё стороннее зафиксировано: actions по SHA коммита, базовые образы по digest. PR из форков идут без секретов и на одноразовых раннерах. Чтобы в прод не уехало подменённое, main защищён ревью, образы подписываются cosign, и кластер принимает только подписанные. Если секрет утёк в git, первым делом отзываю и ротирую его, а чистка истории вторична».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.