Confidential Space bietet eine isolierte Umgebung für die Verarbeitung vertraulicher Daten von mehreren Parteien, sodass die Inhaber dieser Daten die Vertraulichkeit wahren können. Vertrauliche Daten können personenidentifizierbare Informationen (PII), geschützte Gesundheitsdaten (Protected Health Information, PHI), geistiges Eigentum, kryptografische Secrets, Machine-Learning-Modelle (ML) oder anderes sein.
Sie können Confidential Space verwenden, um vertrauliche Daten zu verarbeiten, die nur für die ursprünglichen Inhaber und eine gemeinsam vereinbarte Arbeitslast sichtbar sind. Alternativ können Sie damit Endkunden einen stärkeren Datenschutz bieten, da der Operator oder Inhaber einer Confidential Space-Umgebung nicht auf die verarbeiteten Daten zugreifen kann.
Confidential Space ist eine vertrauenswürdige Ausführungsumgebung (Trusted Execution Environment, TEE), mit der Sie Ihre Secrets nur für autorisierte Arbeitslasten freigeben können. Ein Attestierungsprozess und ein gehärtetes Betriebssystem-Image schützen die Arbeitslast und die Daten, die die Arbeitslast verarbeitet, vor einem Operator.
Weitere Informationen zu den Anwendungsfällen und zum Sicherheitsmodell von Confidential Space finden Sie unter Sicherheit in Confidential Space – Übersicht.
Confidential Space-Komponenten
Ein Confidential Space-System verfügt über drei Kernkomponenten:
Arbeitslast: Ein containerisiertes Image mit Code, der die geschützten Ressourcen verarbeitet. Es wird auf einem Confidential Space-Image ausgeführt, einem gehärteten Betriebssystem, das auf Container-Optimized OS basiert. Dieses wiederum wird auf einer Confidential VM ausgeführt, die Hardware isolation und Remote-Attestierungsfunktionen bietet. Die Arbeitslast befindet sich in der Regel in einem anderen Projekt als die geschützten Ressourcen.
Der Attestierungsdienst: Ein Remote-Attestierungsprüfer, der Attestierungsnachweise in Form von OpenID Connect (OIDC)-Tokens zurückgibt. Die Tokens enthalten Identifizierungsattribute für die Arbeitslast. Der Attestierungsdienst wird in derselben Region ausgeführt wie die Arbeitslast.
Geschützte Ressourcen: Verwaltete Ressourcen, die durch ein Authentifizierungs- und Autorisierungssystem geschützt sind. Wenn sich die Ressourcen in Google Cloudbefinden, können sie verwaltete Cloud-Ressourcen wie Cloud KMS-Schlüssel (Cloud Key Management Service) oder Cloud Storage-Buckets sein. Wenn sich die Ressourcen nicht in Google Cloud befinden(z. B. in einer lokalen Umgebung oder in einer anderen Cloud), können sie beliebige Ressourcen sein.
Confidential Space-Rollen
Die Komponenten in einem Confidential Space-System werden von Personen mit drei verschiedenen Rollen verwaltet:
Datenbearbeiter: Die Personen oder Organisationen, denen die geschützten Ressourcen gehören, die von der Arbeitslast verarbeitet werden. Datenbearbeiter können auf ihre eigenen Daten zugreifen, Berechtigungen für diese Daten festlegen und je nach Ausgabe der Arbeitslast auf Ergebnisse zugreifen, die auf diesen Daten basieren.
Datenbearbeiter können nicht auf die Daten anderer zugreifen oder den Arbeitslastcode ändern.
Weitere Informationen zur Rolle der Datenbearbeiter finden Sie unter Zugriff auf vertrauliche Ressourcen erstellen und gewähren.
Arbeitslastautor: Die Person, die die Anwendung erstellt, mit der auf die vertraulichen Daten zugegriffen und diese verarbeitet werden. Sie fügt die Anwendung einem containerisierten Image hinzu, z. B. mit Docker, und lädt das Image in ein Repository wie Artifact Registry hoch.
Der Arbeitslastautor hat keinen Zugriff auf die Daten oder die Ergebnisse und kann auch keinen Zugriff darauf steuern.
Weitere Informationen zur Rolle des Arbeitslastautors finden Sie unter Arbeitslasten erstellen und anpassen.
Arbeitslastoperator: Die Person, die die Arbeitslast ausführt. Der Arbeitslastoperator hat in der Regel uneingeschränkte Administratorberechtigungen für das Projekt, in dem er die Arbeitslast ausführt. Er kann beispielsweise Ressourcen in seinem Projekt verwalten (z. B. Compute Engine-Instanzen, Laufwerke und Netzwerkregeln) und mit jeder Google Cloud API interagieren, die darauf reagiert.
Der Arbeitslastoperator hat keinen Zugriff auf die Daten und kann auch keinen Zugriff darauf steuern. Er kann den Arbeitslastcode oder die Ausführungsumgebung nicht beeinflussen oder ändern.
Weitere Informationen zur Rolle des Arbeitslastoperators finden Sie unter Arbeitslasten bereitstellen.
Eine Person kann eine oder mehrere dieser Rollen übernehmen. Für höchste Sicherheit unterstützt Confidential Space ein Vertrauensmodell, bei dem Datenbearbeiter, Arbeitslastautoren und Arbeitslastoperatoren voneinander getrennte, sich gegenseitig nicht vertrauende Parteien sind. Alle Rollen müssen zusammenarbeiten, um die gewünschten Ergebnisse zu erzielen.
Beispiel für einen Confidential Space-Ablauf
Confidential Space verwendet mehrere Google Cloud Dienste, um die vertrauliche Verarbeitung privater Informationen zu ermöglichen. Im Allgemeinen kann die Einrichtung eines Confidential Space-Systems so aussehen:
Mehrere Datenbearbeiter speichern verschlüsselte vertrauliche Daten in ihren eigenen isolierten Google Cloud Projekten, oft in verschiedenen Organisationen. Sie möchten diese Daten vergleichen und verarbeiten, ohne sie untereinander oder an externe Parteien weiterzugeben. Die verschlüsselten Daten können sich in Cloud Storage, BigQuery, oder einem anderen Dienst befinden.
Die Datenbearbeiter erstellen Mock-Daten, die nicht vertraulich sind, damit eine Testarbeitslast sie verarbeiten kann. Diese Daten können sich in verschiedenen Dateien befinden oder an einem anderen Ort, z. B. in einem separaten Cloud Storage-Bucket.
Die Datenbearbeiter erstellen einen Workload Identity-Pool (WIP). Später kann eine Arbeitslast, die im separaten, isolierten Projekt eines Arbeitslastoperators ausgeführt wird, diesen WIP verwenden, um auf die vertraulichen Daten der Bearbeiter zuzugreifen.
Der Arbeitslastautor schreibt Code, um die vertraulichen Daten zu verarbeiten. In einem Projekt, das von den Datenbearbeitern und dem Arbeitslastoperator getrennt ist, erstellt er mit Docker ein containerisiertes Image und lädt es in Artifact Registryhoch.
Der Arbeitslastoperator erstellt ein Dienstkonto in einem isolierten Projekt mit Leseberechtigung für den Speicherort der verschlüsselten vertraulichen Daten der Datenbearbeiter und Schreibberechtigung für einen Ort (z. B. einen Cloud Storage-Bucket), an dem das Ergebnis der Verarbeitung der entschlüsselten Daten ausgegeben werden soll. Später wird dieses Dienstkonto an eine Confidential VM angehängt, auf der die Arbeitslast ausgeführt wird.
Die Datenbearbeiter fügen ihren Workload Identity-Pools einen Anbieter hinzu. Sie fügen dem Anbieter Details wie den zu verwendenden Attestierungsdienst, Attributzuordnungen zum Erstellen eines Audit-Trails in Logs und Attributbedingungenhinzu. Diese Details überprüfen die Assertions made by des Confidential Space-Images, des Arbeitslastcontainers und der Arbeitslast-VM Instanz. Wenn die Arbeitslast diese Überprüfung besteht, darf sie auf die vertraulichen Daten zugreifen und sie entschlüsseln.
Die Arbeitslast wird mit den nicht vertraulichen Daten getestet, indem eine Confidential VM-Instanz im Projekt des Arbeitslastoperators gestartet wird. Die VM basiert auf einer Debug-Version des Confidential Space-Images, das die containerisierte Arbeitslast lädt.
Nachdem die Attestierungen der VM überprüft wurden und die Arbeitslast die Bedingungen der Datenbearbeiter erfüllt, darf das an die VM angehängte Dienstkonto auf die vertraulichen Daten zugreifen, sie verarbeiten und ein Ergebnis ausgeben.
Nach Abschluss der Überwachung und des Debuggings wird die Arbeitslast für die Produktion aktualisiert. Die Datenbearbeiter aktualisieren und sperren ihre Workload Identity-Anbieter bei Bedarf weiter und testen die Produktionsarbeitslast möglicherweise zuerst mit nicht vertraulichen Daten.
Alle Parteien genehmigen die Produktionsarbeitslast und sie ist bereit, mit der Verarbeitung vertraulicher Daten zu beginnen.
Voraussetzungen
Confidential Space erfordert Confidential VM. Confidential VM-Instanzen müssen AMD SEV, Intel TDX oder Intel TDX mit NVIDIA Confidential Computing als Confidential Computing-Technologie verwenden. Unter Unterstützte Konfigurationen finden Sie Informationen zu den Hardwarekonfigurationsoptionen und zu den Standorten, an denen Confidential VM-Instanzen erstellt werden können.
Nächste Schritte
Weitere Informationen zu Confidential Space-Images.