Registry
Tarama yapan özel bir OCI registry
docker push, tarama çoktan başladı.
Çalışma alanın için özel bir OCI registry. Bir etikete yapılan her push taranır, her bulgu onu düzelten sürümün adını verir, cosign imzaları imza olarak tanınır ve robotlar CI için tam olarak gereken erişimi sağlar.
- API
- OCI distribution
- Tarayıcı
- Trivy
- İmzalama
- cosign · kendi KMS’in
- Çok mimarili
- evet
$ docker push registry.subnomic.com/acme/api:1.4.0 1.4.0: digest: sha256:9f3a71c2… size: 3271
Nasıl çalışır
Zaten yazdığın komutlar.
Giriş yap
İnsanlar kendi hesaplarıyla giriş yapar. CI, ihtiyaç duyduğu depolarla sınırlı bir robot olarak kendi parolasıyla giriş yapar.
$ echo "$ROBOT_SECRET" | docker login registry.subnomic.com \ -u 'robot$ci-pusher' --password-stdin Login Succeeded
Gönder
Depolar çalışma alanının altında durur ve ilk push’ta özel olarak oluşturulur. Çok mimarili index’ler ve parçalı yüklemeler, Docker ve buildx’in beklediği gibi çalışır.
$ docker push \
registry.subnomic.com/acme/api:1.4.0Sonucu oku
Tarama push ile başlar ve onu asla engellemez. Kritik ve yüksek bulgular çalışma alanı sahiplerine e-postayla bildirilir; etiket neyin etkilendiğini ve neyin düzelttiğini gösterir.
Bir depoyla birlikte gelenler
Peşine düşmen gerekmeyen tedarik zinciri durumu.
Her push’ta taranır
Trivy her etiketi geldiği anda tarar ve istediğin zaman yeniden tarayabilirsin. Başarısız olan bir tarama bunu söyler — asla temiz olarak gösterilmez.
Düzeltmesiyle birlikte bulgular
İmaj başına en fazla 200 bulgu, en kötüsü önce; her biri paketiyle, kurulu sürümüyle ve onu düzelten sürümle birlikte.
İstendiğinde SBOM
Herhangi bir etiket için CycloneDX ya da SPDX-JSON malzeme listesi üret; onu bir paket listesi olarak oku ya da indir.
cosign’ı tanır
İki cosign biçiminden herhangi birindeki imza etiketleri imza sayılır: etiket listesinde gizlenir, imzalı olarak gösterilir ve saklama politikasınca asla budanmaz.
Kendi anahtarınla imzala
Anahtarı AWS KMS, GCP KMS, Azure Key Vault ya da HashiCorp Vault’ta tut — ya da durağan hâlde şifrelenen ve asla diske yazılmayan bir anahtar yükle. Döndürülen anahtarlar eski imzaları doğrulamaya devam eder.
Robot hesapları
Tek bir depo ya da tüm çalışma alanı için pull, push ve silme; isteğe bağlı bir son kullanma tarihiyle. Devre dışı bırak, yenile ya da sil; parola bir kez gösterilir.
Saklama kuralları
Bir desenle süzülmüş son N etiketi ya da son N günde push edilen etiketleri tut. Hiçbir şeyin başvurmadığı katmanlar saatte bir toplanır.
Aktarımlar
Başka bir registry’den bir etiketi içe aktar ya da oraya bir etiket dışa aktar. Karşı tarafın kimlik bilgileri o iş için kullanılır ve asla saklanmaz.
Pull istatistikleri
Pull ve push sayıları, kullanılan depolama, günlük pull eğilimi ve en çok pull edilen on depo.
Bulgular
Neyin zafiyetli olduğu ve onu neyin düzelttiği.
Depo listesi önemli sayıları taşır — kritik, yüksek, hiç taranmamış, imzalı ya da değil — böylece ilgi bekleyen imaj, kimse onu açmadan görünür. Ayrıntıyı etiket taşır.
- Her bulgunun CVE’si, paketi, kurulu sürümü ve düzeltilmiş sürümü vardır; ya da henüz bir düzeltme olmadığını söyler.
- Kritik ya da yüksek bir sonuç, çalışma alanı sahiplerine uygulamada ve e-postayla bildirilir.
- İmzalamak bilinçli bir adımdır — çalışma alanı anahtarıyla “Şimdi imzala” — ve kendi pipeline’ın için doğrulama komutları bir kopyalama uzağında.
Uyumluluk
Registry’nin konuştuğu ve henüz yapmadığı şeyler.
Tarama ve imzalama sana bir imaj hakkında bilgi verir; registry’de hiçbir şey bunlar yüzünden bir push’u ya da pull’u reddetmez. İmzaları yayın pipeline’ında ya da admission controller’ında çalışma alanının açık anahtarıyla doğrula.
Desteklenenler
- OCI imaj manifest’leri ve index’leri, Docker v2 manifest’leri ve manifest listeleri — çok mimarili olanlar dahil
- Tek parça ve parçalı yüklemeler, çalışma alanı içinde depolar arası mount
- Etiket ya da digest ile pull, push ve silme; sayfalamalı etiket listesi ve katalog
- İç içe depo yolları; ilk push’ta oluşturulur ve varsayılan olarak özeldir
Bugün yok
- —Referrers API — yalnızca digest ile push edilen artifact’ler çöp toplamayla silinir
- —Değişmez etiketler — bir etiketi yeniden push etmek onu taşır, bu yüzden digest ile deploy et
- —Anonim pull’lar, pull-through önbellekleme ve sürekli replikasyon
- —Anahtarsız imzalama ve bir şeffaflık kaydı
Planlar
Ücretsiz dahil her planda.
Her plan
Registry, tarama, SBOM’lar, imzalama ve robotlar ücretli bir eklenti değildir.
Plan sınırı değil
İmajlar planın depolanan baytlarına sayılmaz ve imaj başına bir fiyat yoktur.
Kendi anahtarın
İmzalama, çalışma alanı başına bir anahtar gerektirir — KMS’inde ya da yüklenmiş ve şifrelenmiş olarak.
Sorular
CI’ını taşımadan önce.
CI bir API anahtarıyla giriş yapabilir mi?
Bir robot hesabı kullan: robot$<name> ve parolası. Çalışma alanı API anahtarları yönetim API’sinde çalışır, docker login ile değil. GitHub Actions kurulumu.
Zafiyetli ya da imzasız imajları engeller mi?
Hayır. Tarama ve imza durumu sana bilgi verir; karar senin pipeline’ında kalır ve orada cosign verify ya da bir admission controller bir yayını reddedebilir.
İnsanlar giriş yapmadan pull edebilir mi?
Hayır — her pull bir token gerektirir; yani registry özel imajlar içindir. Gözetimsiz çalışan her şey için yalnızca pull yapabilen bir robot kullan.
Etiketler değişmez mi?
Hayır. Aynı etiketi yeniden push etmek onu yeni imaja taşır; bu yüzden hangi baytların çalıştığı önemliyse digest ile deploy et.
Çalışma alanının geri kalanı
Aynı fatura, aynı kimlik bilgileri, aynı denetim kaydı.
İlk imajını bir dakikada gönder.
Bir çalışma alanı oluştur, giriş yap, push et. Registry ücretsiz plana dahildir.