Vertrauliche Container (Preview) auf Azure Kubernetes Service
Mit dem Wachstum in der Cloud-nativen Anwendungsentwicklung besteht auch ein größerer Bedarf, die Workloads zu schützen, die in Cloudumgebungen ausgeführt werden. Die Containerisierung der Workload bildet eine wichtige Komponente für dieses Programmiermodell, und dann ist der Schutz des Containers von größter Bedeutung, um vertraulich in der Cloud ausgeführt zu werden.
Vertrauliche Container auf Azure Kubernetes Service (AKS) ermöglichen die Isolation auf Containerebene in Ihren Kubernetes-Workloads. Es ist eine Ergänzung zu Azure Suite vertraulicher Computing-Produkte und verwendet die AMD SEV-SNP-Speicherverschlüsselung, um Ihre Container zur Laufzeit zu schützen.
Vertrauliche Container sind für Bereitstellungsszenarien attraktiv, die vertrauliche Daten umfassen (z. B. personenbezogene Daten oder Daten welche starke Sicherheit zur Einhaltung gesetzlicher Vorschriften erfordern).
Was macht einen Container vertraulich?
In Übereinstimmung mit den Richtlinien des Confidential Computing Consortium, von dem Microsoft Gründungsmitglied ist, müssen vertrauliche Container folgende Bedingungen erfüllen –
- Transparenz: Die vertrauliche Containerumgebung, in der Ihre vertrauliche Anwendung freigegeben ist, können Sie sehen und überprüfen, ob sie sicher ist. Alle Komponenten der Trusted Computing Base (TCB) müssen quelloffen sein.
- Prüffähigkeit: Sie müssen die Möglichkeit haben, zu überprüfen und zu sehen, welche Versionen des CoCo-Umgebungspakets einschließlich Linux-Gastbetriebssystem und alle Komponenten aktuell sind. Microsoft meldet sich bei der Gastbetriebssystem- und Containerlaufzeitumgebung für Überprüfungen durch Nachweis an. Außerdem wird ein sicherer Hashalgorithmus (SHA) von Gastbetriebssystembuilds veröffentlicht, um eine Zeichenfolgen-Prüfbarkeit und einen Kontrollverlauf zu erstellen.
- Vollständiger Nachweis: Alles, was Teil der TEE ist, wird vollständig von der CPU gemessen, mit der Möglichkeit, remote überprüft zu werden. Der Hardwarebericht des AMD SEV-SNP-Prozessors muss Containerebenen und Containerlaufzeit-Konfigurationshash über die Nachweisansprüche widerspiegeln. Die Anwendung kann den Hardwarebericht lokal abrufen, einschließlich des Berichts, welcher das Gastbetriebssystemimage und die Containerlaufzeit widerspiegelt.
- Codeintegrität: Die Laufzeiterzwingung ist immer über kundendefinierte Richtlinien für Container und Containerkonfiguration verfügbar, z. B. unveränderliche Richtlinien und Containersignatur.
- Isolation vom Betreiber: Sicherheitsdesigns, welche die geringsten Berechtigungen und höchste Isolationsabschirmung von allen nicht vertrauenswürdigen Parteien einschließlich Kunden-/Mandantenadministratoren annehmen. Es umfasst das Härten vorhandener Kubernetes-Steuerungsebenenzugriff (Kubelet) auf vertrauliche Pods.
Aber mit diesen Features der Vertraulichkeit sollte das Produkt seine Benutzerfreundlichkeit zusätzlich beibehalten: es unterstützt alle unveränderten Linux-Container mit hoher Kubernetes-Featurekonformität. Darüber hinaus unterstützt es heterogene Knotenpools (GPU, allgemeine Knoten) in einem einzigen Cluster, um auf Kosten zu optimieren.
Woraus bestehen vertrauliche Container auf AKS?
Im Einklang mit der Verpflichtung von Microsoft gegenüber der Open-Source-Gemeinschaft verwendet der zugrundeliegende Stack für vertrauliche Container den Kata CoCo-Agent als Agenten, der auf dem Knoten läuft, auf dem der Pod mit der vertraulichen Workload läuft. Bei vielen TEE-Technologien, die eine Grenze zwischen Host und Gast erfordern, sind Kata Container die Basis für die grundlegende Arbeit von Kata CoCo. Microsoft hat auch zur Kata Coco-Community beigetragen, um Container zu nutzen, die in einer vertraulichen Hilfs-VM ausgeführt werden.
Der vertrauliche Kata-Container befindet sich im Azure Linux AKS-Containerhost. Azure Linux und der Cloud Hypervisor VMM (Virtual Machine Monitor) sind die Software für Endbenutzer, die für die Erstellung und Verwaltung der Lebensdauer virtueller Maschinen verwendet wird.
Isolation auf Containerebene in AKS
Standardmäßig verwenden in AKS alle Workloads denselben Kernel und denselben Clusteradmin. Mit der Vorschau von Pod Sandboxing auf AKS ist die Isolation mit der Möglichkeit, Kernelisolation für Workloads auf demselben AKS-Knoten bereitzustellen, eine Stufe größer geworden. Weitere Informationen zu dem Feature finden Sie hier. Vertrauliche Container sind der nächste Schritt dieser Isolation und verwenden die Speicherverschlüsselungsfunktionen der zugrunde liegenden AMD SEV-SNP-VM-Größen. Diese virtuellen Maschinen sind die DCa_cc- und ECa_cc-Größen mit der Möglichkeit, den Vertrauensanker der Hardware für die darin bereitgestellten Pods aufzudecken.
Erste Schritte
Weitere Informationen zu unterstützten Szenarien finden Sie hier in unserer AKS-Dokumentation.