Freigeben über


Übersicht zum Signieren und Verifizieren von OCI-Artefakten

Containerimages und andere Open Container Initiative (OCI)-Artefakte sind wichtige Komponenten moderner cloudeigener Anwendungen. Diese Artefakte können Softwarelisten von Materialien (SBOMs), Helm-Diagramme, Konfigurationsbündel und KI-Modelle umfassen. Sie fließen durch die Software-Lieferkette von der Erstellung bis zur Bereitstellung. Sie werden von Anbietern erstellt, in Registern gespeichert und in kontinuierlichen Integrations- und Bereitstellungs-Pipelines (CI/CD) oder Produktionsumgebungen genutzt.

Ohne Schutzmaßnahmen könnten Angreifer:

  • Ändern Sie Artefakte, während sie gespeichert oder übertragen werden.
  • Tauschen Sie vertrauenswürdige Bilder oder Diagramme durch böswillige Bilder aus.
  • Fügen Sie nicht überprüfte Basisbilder oder Abhängigkeiten in Builds ein.

Durch das Hinzufügen von Sicherheitsvorkehrungen wird Folgendes sichergestellt:

  • Integrität: Das von Ihnen verwendete Artefakt entspricht genau dem element, das veröffentlicht wurde.
  • Authentizität: Das Artefakt stammt wirklich aus dem erwarteten Herausgeber.

Gemeinsam sind Integrität und Authentizität für den Schutz der Lieferkette und die Verhinderung von Angriffen von entscheidender Bedeutung.

Signieren und Überprüfen

Diese Prozesse helfen bei der Bereitstellung von Integrität und Authentizität:

  • Signieren: Erzeugt kryptografische Signaturen, die die Identität eines Herausgebers an einen Artefaktdeskriptor binden, einschließlich des Digests. OCI-Artefakte wie Containerimages können signiert werden, nachdem sie erstellt wurden.
  • Überprüfung: Überprüft, ob eine Signatur gültig ist, die Identität des Herausgebers vertrauenswürdig ist und das Artefakt nicht geändert wird. Signaturen können überprüft werden, bevor Artefakte verbraucht werden.

Wenn die Überprüfung fehlschlägt, können Verbraucher verhindern, dass das Artefakt abgerufen, in Builds verwendet oder bereitgestellt wird.

Notarprojekt und Notation

Notär Project ist ein Open-Source-Projekt, das die Signatur und Überprüfung für OCI-Artefakte bereitstellt.

Notation ist das Notarprojekt-Tool zum Signieren und Überprüfen von OCI-Artefakten. Notation ist in mehrere Schlüsselanbieter integriert, einschließlich:

  • Azure Key Vault: Benutzer verwalten ihren eigenen Zertifikatlebenszyklus, einschließlich Ausstellung, Erneuerung und Ablauf. Diese Wahl bietet eine starke Kontrolle und Flexibilität für Organisationen, die die direkte Verwaltung ihrer Zertifikate beibehalten möchten.
  • Artefaktsignierung: Stellt die Zero-Touch-Zertifikatverwaltung bereit und stellt kurzlebige Zertifikate automatisch aus . Diese Features vereinfachen das Signieren und gewährleisten gleichzeitig eine starke Sicherheitsgarantie.

Organisationen können Key Vault für die vollständige Kontrolle auswählen oder die Artefaktsignierung für eine optimierte Erfahrung übernehmen.

Szenarien zum Signieren und Überprüfen

Image-Publisher signiert Bilder in CI/CD-Pipelines wie GitHub Actions

Ein Containerimageherausgeber erstellt ein Image und signiert es als Teil des GitHub Actions-Workflows, bevor er in die Azure-Containerregistrierung übertragen wird. Dieser Vorgang:

  • Stellt sicher, dass nachgeschaltete Verbraucher den Bildursprung überprüfen können.
  • Fügt zur Erstellungszeit Vertrauensmetadaten zur Lieferkette hinzu.

Imageconsumer überprüft Images während der Bereitstellung in AKS

Wenn eine Organisation Workloads für Azure Kubernetes Service (AKS) bereitstellt, kann eine Clusterrichtlinie erzwingen, dass nur signierte und überprüfte Images ausgeführt werden dürfen. Dieser Vorgang:

  • Verhindert die Bereitstellung nicht autorisierter oder manipulierter Images.
  • Hilft sicherzustellen, dass Laufzeit-Workloads von vertrauenswürdigen Publishern stammen.

Image Consumer überprüft Basisimages in CI/CD-Pipelines

Bevor Entwickler ein Anwendungsimage erstellen, können sie Pipelines (z. B. GitHub-Aktionen) konfigurieren, um die Signaturen von Basisimages zu überprüfen. Dieser Vorgang:

  • Hilft, Builds vor dem Erben von Schwachstellen oder bösartigem Code zu schützen.
  • Erzwingt die Verwendung von nur vertrauenswürdigen Upstreamkomponenten in Anwendungsbuilds.

Anwender überprüft andere OCI-Artefakte

Über Containerimages hinaus können Verbraucher diese Artefakte überprüfen, die in einer OCI-Registrierung gespeichert sind:

  • SBOMs: Überprüfen Sie das signierte SBOM eines Bilds, bevor Sie es zur Sicherheitsanalyse verwenden.
  • Helmdiagramme: Überprüfen Sie Diagramme, bevor Sie sie in Kubernetes-Clustern installieren.
  • Konfigurationspakete oder KI-Modelle: Stellen Sie sicher, dass diese Bündel oder Modelle vom vorgesehenen Herausgeber stammen, bevor Sie sie in Systeme integrieren.

In dieser Übersicht wird die Bedeutung des Signierens und Überprüfens von Containerimages und anderen OCI-Artefakten vorgestellt. Jedes der folgenden Szenarien verfügt über einen eigenen dedizierten Leitfaden.

Signieren mit Key Vault

Signieren über die Notation-Befehlszeilenschnittstelle (CLI):

Anmelden in einem GitHub-Workflow:

Signieren mit Artefaktsignierung

Signieren über die Notation CLI:

Anmelden in einem GitHub-Workflow:

Verifizierung

Überprüfung in einem GitHub-Workflow:

Überprüfung auf AKS: