Vertrauliche Container in Azure Container Instances

In diesem Artikel wird erläutert, wie vertrauliche Container in Azure Container Instances es Ihnen ermöglichen, Ihre in der Cloud ausgeführten Workloads zu schützen. Dieser Artikel bietet Hintergrundinformationen zu den Features, Einschränkungen und Ressourcen.

Vertrauliche Container in Azure Container Instances ermöglichen es Kunden, Linux-Container in einer hardwarebasierten und bestätigten vertrauenswürdigen Ausführungsumgebung (Trusted Execution Environment, TEE) auszuführen. Kunden können ihre Container-Linux-Anwendungen per Lift & Shift migrieren oder neue Confidential Computing-Anwendungen erstellen, ohne irgendwelche speziellen Programmiermodelle einführen zu müssen, um die Vorteile der Vertraulichkeit in einer TEE zu erzielen. Vertrauliche Container in Azure Container Instances schützen verwendete und verschlüsseln Daten, die im Arbeitsspeicher verwendet werden. Azure Container Instances erweitert diese Funktion durch überprüfbare Ausführungsrichtlinien und hardwarebasierter Vertrauensanker durch Gastnachweise.

Screenshot einer vertraulichen Containergruppe in Azure Container Instances.

Features vertraulicher Container in Azure Container Instances

Lift- und Shift-Anwendungen

Kunden können ihre Container-Linux-Anwendungen per Lift & Shift migrieren oder neue Confidential Computing-Anwendungen erstellen, ohne spezielle Programmiermodelle einführen zu müssen, um die Vorteile der Vertraulichkeit in einer TEE zu erzielen.

Hardwarebasierte vertrauenswürdige Ausführungsumgebung

Vertrauliche Container in Azure Container Instances werden in einer Containergruppe mit vertrauenswürdiger Ausführungsumgebung (Trusted Execution Environment, TEE) mit Hyper-V-Isolierung bereitgestellt, die einen Speicherverschlüsselungsschlüssel enthält, der von einem AMD SEV-SNP-fähigen Prozessor generiert und verwaltet wird. Daten, die im Arbeitsspeicher verwendet werden, werden mit diesem Schlüssel verschlüsselt, um Schutz vor Data Replay, Beschädigung, Neuzuordnung und auf Aliasing beruhenden Angriffen zu bieten.

Überprüfbare Ausführungsrichtlinien

Vertrauliche Container in Azure Container Instances können mit überprüfbaren Ausführungsrichtlinien ausgeführt werden, mit deren Hilfe Kunden steuern können, welche Software und welche Aktionen innerhalb des TEE ausgeführt werden dürfen. Diese Ausführungsrichtlinien tragen zum Schutz vor böswilliger Akteuren bei, die unerwartet Anwendungen ändern, was zum Verlust vertraulicher Daten führen kann. Ausführungsrichtlinien werden vom Kunden mithilfe bereitgestellter Tools erstellt und durch kryptografische Nachweise überprüft.

Remote-Gastnachweis

Vertrauliche Container in ACI unterstützen Remote-Gastnachweise. Sie werden verwendet, um die Vertrauenswürdigkeit Ihrer Containergruppe zu überprüfen, bevor ein sicherer Kanal mit einer vertrauenden Seite erstellt wird. Containergruppen können einen SNP-Hardwarenachweisbericht generieren, der von der Hardware signiert wird und Informationen zur Hardware und Software enthält. Dieser generierte Hardwarenachweisbericht kann dann vom Microsoft Azure Attestation-Dienst mithilfe einer Open-Source-Sidecar-Anwendung oder eines anderen Nachweisdiensts überprüft werden, bevor vertrauliche Daten für die TEE freigegeben werden.

Erzwingungsrichtlinien für Confidential Computing

Vertrauliche Container unterstützen Integrität und Nachweis auf Containerebene mithilfe von Erzwingungsrichtlinien für Confidential Computing (Confidential Computing Enforcement, CCE). Erzwingungsrichtlinien für Confidential Computing schreiben die Komponenten vor, die innerhalb der Containergruppe ausgeführt werden dürfen. Sie werden durch die Containerruntime erzwungen.

confcom-Erweiterung der Azure CLI

Mithilfe der confcom-Erweiterung für die Azure CLI können Kunden Erzwingungsrichtlinien für Confidential Computing generieren, indem sie eine ARM-Vorlage als Eingabe verwenden und eine Base64-Zeichenfolgenrichtlinie als Ausgabe bereitstellen. Diese Ausgabe ist in der Definition der Containergruppe enthalten, um zu erzwingen, welche Komponenten ausgeführt werden dürfen. Weitere Informationen zum Erstellen von Ausführungsrichtlinien für Confidential Computing finden Sie unter confcom-Erweiterung für die Azure CLI.

Sichere Schlüsselfreigabe und verschlüsselte Dateisystem-Sidecars

Vertrauliche Container in Azure Container Instances sind in zwei Open Source-Sidecars integriert, um vertrauliche Funktionen innerhalb der Containergruppe zu unterstützen. Sie finden diese Sidecars und weitere Informationen im vertraulichen Sidecar-Repository.

Sidecar-Container zur sicheren Schlüsselfreigabe

Vertrauliche Container in Azure Container Instances stellen einen Open Source-Sidecar-Container für den Nachweis und die sichere Schlüsselfreigabe bereit. Dieser Sidecar-Container instanziiert einen Webserver, der eine REST-API verfügbar macht, sodass andere Container einen Hardwarenachweisbericht oder ein Microsoft Azure Attestation-Token über die POST-Methode abrufen können. Der Sidecar-Container wird in Azure Key Vault integriert, um nach Abschluss der Überprüfung einen Schlüssel für die Containergruppe freizugeben.

Sidecar-Container für verschlüsseltes Dateisystem

Vertrauliche Container in Azure Container Instances stellen einen Sidecar-Container zum Einbinden eines verschlüsselten Remotedateisystems bereit, das zuvor in Azure Blob Storage hochgeladen wurde. Der Sidecar-Container ruft transparent den Hardwarenachweis und die Zertifikatkette ab, die den Signaturschlüssel des Nachweises bestätigt. Anschließend wird Microsoft Azure Attestation aufgefordert, ein Nachweistoken zu autorisieren, das für die sichere Freigabe des Verschlüsselungsschlüssels des Dateisystems aus dem verwalteten HSM erforderlich ist. Der Schlüssel wird nur für den Sidecar-Container freigegeben, wenn das Nachweistoken von der erwarteten Autorität signiert ist und die Nachweisansprüche mit der Freigaberichtlinie des Schlüssels übereinstimmen. Der Sidecar-Container verwendet transparent den Schlüssel, um das verschlüsselte Remotedateisystem einzubinden. Dieser Prozess bewahrt die Vertraulichkeit und Integrität des Dateisystems bei jedem Vorgang aus einem Container, der innerhalb der Containergruppe ausgeführt wird.

Szenarien

Data-Clean-Rooms für Datenanalysen und ML-Trainings mit mehreren Parteien

Geschäftliche Transaktionen und die Zusammenarbeit bei Projekten erfordern häufig die gemeinsame Nutzung vertraulicher Daten durch mehrere Parteien. Diese Daten können persönliche oder finanzielle oder medizinische Aufzeichnungen umfassen, die vor unbefugtem Zugriff geschützt werden müssen. Vertrauliche Container auf Azure Container Instances bieten Kunden die erforderlichen Features (hardwarebasierte TEEs, Remotenachweis), um Trainingsdaten aus mehreren Quellen zu verarbeiten, ohne Eingabedaten anderen Parteien zugänglich zu machen. Auf diese Weise können Organisationen mehr Nutzen aus ihren oder den Datasets ihrer Partner ziehen und gleichzeitig die Kontrolle über den Zugriff auf ihre vertraulichen Informationen behalten. Dies macht vertrauliche Container in Azure Container Instances ideal für Datenanalyseszenarien mit mehreren Parteien, z. B. vertrauliches maschinelles Lernen.

Screenshot eines ML-Trainingsmodells in Azure Container Instances.

Vertrauliche Rückschlüsse

ACI bietet schnelle und einfache Bereitstellungen, flexible Ressourcenzuordnung sowie nutzungsbasierte Bezahlung und wird dadurch zu einer hervorragenden Plattform für vertrauliche Rückschlussworkloads. Mit vertraulichen Containern in Azure Container Instances können Modellentwickler und Datenbesitzer zusammenarbeiten und gleichzeitig dafür sorgen, dass das geistige Eigentum des Modellentwicklers geschützt und die für den Rückschluss verwendeten Daten sicher und privat bleiben. Sehen Sie sich eine Beispielbereitstellung für vertrauliche Rückschlüsse mithilfe vertraulicher Container in Azure Container Instances an.

Screenshot eines ML-Rückschlussmodells in Azure Container Instances.

Nicht unterstützte Szenarien

  • Erzwingungsrichtlinien für Confidential Computing müssen mithilfe der confcom-Erweiterung für die Azure CLI generiert werden. Eine manuelle Erstellung ist nicht möglich.

Ressourcen

Nächste Schritte