Всем привет!
Подпись образов, их аттестация и последующая проверка при создании ресурсов Kubernetes становится все более и более привычной практикой. Появляются новые механизмы, обрастают функционалом существующие.
Но все ли так просто, неужели нет «подводных камней»? Ответ можно найти в статье от Chainguard, в которой Автор описывает несколько нюансов, связанных с проверкой подписи.
В их число входят:
🍭 Resource Type. Важно учитывать, что «местоположение» контейнера в манифесте будет разным, например, для
Pod, Deployment или CronJob
🍭 Scale. Потенциальный rate limit для container registries, связанный с большим количеством запросов при проверке подписи, важность использования cache🍭 Tags and digest. Особенности, связанные с «конвертацией» tag – digest
🍭 Attestations and additional data. Больше данных – больше проверок, что может увеличить время анализа и быть заметно на масштабе
🍭 Key Rotation. Управление ключами, используемыми для подписи образов
Все очень структурированно и доступно описано. Что делать с описанными выше нюансами? У Chainguard есть мнение и на этот счет! В завершении статьи можно найти ссылку на их проект – Chainguard Enforce (увы, не open source).