Цепочка поставки образов
Вопрос
Как убедиться, что в прод попадает именно тот образ, который собрал ваш CI, без подмены и известных уязвимостей?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Базовые образы из доверенных источников, закреплённые по digest, свой реестр или прокси-кеш
Воспроизводимая сборка в CI, без ручных `docker push` с ноутбуков
Скан на CVE и проверка лицензий, SBOM для каждого образа
Подпись образа (cosign/Sigstore) и проверка подписи при деплое политикой (admission controller)
Деплой по digest, а не по изменяемому тегу
Регулярная пересборка и пересканирование уже выпущенных образов
Что могут спросить следом
- Что такое SBOM и зачем он?
- Как запретить в кластере неподписанные образы?
Разбор
Начинаю с входа: базовые образы берём из доверенных источников и закрепляем по digest, а тянем через свой реестр или прокси-кеш, чтобы не зависеть от внешних изменений и лимитов. Сборка только в CI, воспроизводимая, с закреплёнными версиями зависимостей; пушить в продовый реестр с ноутбуков нельзя. После сборки сканер уязвимостей и генерация SBOM, это список всех пакетов внутри, чтобы при новой громкой CVE за минуты понять, какие образы затронуты. Затем образ подписывается, например cosign с ключом CI или keyless через Sigstore. В кластере admission-политика (Kyverno, Gatekeeper или встроенная проверка подписи у платформы) пропускает только подписанные нашим CI образы из нашего реестра. Деплоим по digest, чтобы тег нельзя было подменить. И регулярно пересобираем и пересканируем выпущенные образы: уязвимость могут найти в том, что вчера было чистым.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.