Sdílet prostřednictvím


Přehled podepisování a ověřování artefaktů OCI

Image kontejnerů a další artefakty OCI (Open Container Initiative) jsou klíčovými komponentami moderních aplikací nativních pro cloud. Tyto artefakty můžou zahrnovat softwarové faktury materiálů (SBOMs), charty Helm, konfigurační sady a modely AI. Procházejí procesem softwarového dodavatelského řetězce od vytvoření až po nasazení. Vytvářejí je vydavatelé, ukládají se v registrech a využívají se v kanálech kontinuální integrace a průběžného doručování (CI/CD) nebo produkčních prostředích.

Bez ochrany by útočníci mohli:

  • Upravte artefakty, když jsou uložené nebo přenášené.
  • Nahrazení důvěryhodných obrázků nebo grafů škodlivými.
  • Vložte do sestavení neověřené základní obrazy nebo závislosti.

Přidání bezpečnostních opatření pomáhá zajistit:

  • Integrita: Artefakt, který používáte, je úplně stejný jako ten, který byl publikován.
  • Pravost: Artefakt skutečně pochází od očekávaného vydavatele.

Integrita a pravost jsou společně zásadní pro ochranu dodavatelského řetězce a zabránění útokům.

Podepisování a ověřování

Tyto procesy pomáhají zajistit integritu a pravost:

  • Podepisování: Vytváří kryptografické podpisy, které svazují identitu vydavatele s deskriptorem artefaktu, včetně otisku. Artefakty OCI, jako jsou obrazy kontejnerů, se dají podepsat po sestavení.
  • Ověření: Zkontroluje, jestli je podpis platný, identita vydavatele je důvěryhodná a artefakt se nezmění. Podpisy je možné ověřit před tím, než se spotřebují artefakty.

Pokud se ověření nezdaří, uživatelé můžou zablokovat stažení artefaktu, jeho použití v sestaveních nebo jeho nasazení.

Notární projekt a zápis

Notární projekt je opensourcový projekt, který poskytuje podepisování a ověřování artefaktů OCI.

Notation je nástroj projektu Notary pro podepisování a ověřování artefaktů OCI. "Notation" se integruje s několika zprostředkovateli klíčů, mezi které patří:

  • Azure Key Vault: Uživatelé spravují vlastní životní cyklus certifikátů, včetně vystavování, obměny a vypršení platnosti. Tato volba poskytuje silnou kontrolu a flexibilitu pro organizace, které chtějí udržovat přímou správu certifikátů.
  • Důvěryhodné podepisování: Poskytuje správu certifikátů s nulovým dotykem a vydává krátkodobé certifikáty automaticky. Tyto funkce zjednodušují podepisování při zachování silných záruk zabezpečení.

Organizace si můžou zvolit službu Key Vault pro plnou kontrolu nebo přijmout důvěryhodné podepisování a zjednodušit tak prostředí.

Scénáře podepisování a ověřování

Vydavatel obrázků podepisuje obrázky v kanálech CI/CD, jako je GitHub Actions

Vydavatel kontejnerového obrazu sestaví obraz a v rámci pracovního postupu GitHub Actions ji podepíše před nahráním do Azure Container Registry. Tento proces:

  • Pomáhá zajistit, aby podřízení příjemci mohli ověřit původ image.
  • Přidá metadata důvěryhodnosti do dodavatelského řetězce v době sestavení.

Spotřebitel obrazů ověřuje obrazy během nasazování v AKS.

Když organizace nasadí úlohy do služby Azure Kubernetes Service (AKS), může zásada clusteru vynutit, aby se mohly spouštět jenom podepsané a ověřené image. Tento proces:

  • Pomáhá zabránit nasazení neoprávněných nebo manipulovaných obrazů.
  • Pomáhá zajistit, aby úlohy modulu runtime pocházejí z důvěryhodných vydavatelů.

Příjemce image ověřuje základní image v kanálech CI/CD.

Než vývojáři vytvoří obraz aplikace, mohou nakonfigurovat pipeliny (například GitHub Actions), aby ověřili podpisy základních obrazů. Tento proces:

  • Pomáhá chránit sestavení před děděním zranitelností nebo škodlivého kódu.
  • Vynucuje použití pouze důvěryhodných upstreamových komponent v sestaveních aplikací.

Spotřebitel ověřuje další artefakty OCI.

Kromě imagí kontejnerů můžou příjemci ověřit tyto artefakty uložené v registru OCI:

  • SBOMs: Před použitím image pro analýzu zabezpečení ověřte podepsaný SBOM.
  • Charty Helm: Před instalací grafů v clusterech Kubernetes ověřte grafy.
  • Konfigurační sady nebo modely AI: Před integrací do systémů ověřte, že tyto sady nebo modely pocházejí od zamýšleného vydavatele.

Tento přehled představuje důležitost podepisování a ověřování imagí kontejnerů a dalších artefaktů OCI. Každý z následujících scénářů má své vlastní vyhrazené pokyny.

Podepisování pomocí služby Key Vault

Podepisování prostřednictvím příkazového řádku Notation (CLI):

Přihlášení k pracovnímu postupu GitHubu:

Podepisování pomocí důvěryhodného podepisování

Podepisování prostřednictvím rozhraní příkazového řádku Notation CLI:

Přihlášení k pracovnímu postupu GitHubu:

Verification

Ověření v pracovním postupu GitHubu:

Ověření v AKS: