Подключение к CI

Проверка подписи образа

Образ Runner'а подписан ключом выпуска (cosign). Подпись защищает от подменённого образа, а закрепление по digest в CI — от переставленного тега: используйте оба.

Открытый ключ

Ключ один для всех выпусков — сохраните его как cosign.pub. Он же показан на странице «Подключение».

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3gNS9h+jem8wFgXanybVwrMh8n0h
+xedi9ANjEEuE92vJOrPvmtquYLDzipETrdIK3n3xf63FIb3sYNCnKZxuQ==
-----END PUBLIC KEY-----

Проверка

Образ с digest — со страницы «Подключение» или из «Истории версий»:

SIGSTORE_REKOR_PUBLIC_KEY=cosign.pub SIGSTORE_CT_LOG_PUBLIC_KEY_FILE=cosign.pub \
  cosign verify --key cosign.pub --insecure-ignore-tlog=true \
  <реестр>/runner@sha256:<digest>
  • Подпись не публикуется в журнал прозрачности, поэтому --insecure-ignore-tlog=true — это ожидаемо.
  • Переменные SIGSTORE_* нужны на практике: без них cosign v2 даже при проверке по ключу сначала загружает корень доверия публичного sigstore и в закрытом контуре зависает. Проверке по ключу эти данные не нужны.
  • Проверено с cosign v2.6.5.