Confidential Space bietet eine isolierte Umgebung für die Verarbeitung sensibler Daten, wobei die Inhaber dieser Daten die Vertraulichkeit wahren. Zu sensiblen Daten können personenidentifizierbare Informationen (PII), geschützte Gesundheitsdaten (Protected Health Information, PHI), geistiges Eigentum, kryptografische Geheimnisse, Modelle für maschinelles Lernen (ML) und andere Daten gehören.
Sie können Confidential Space verwenden, um mit vertraulichen Daten zu arbeiten, die nur für die ursprünglichen Inhaber und eine gemeinsam vereinbarte Arbeitslast sichtbar sind. Alternativ können Sie damit Endkunden einen besseren Datenschutz bieten, da der Betreiber oder Inhaber einer Confidential Space-Umgebung nicht auf die verarbeiteten Daten zugreifen kann.
Confidential Space verwendet eine vertrauenswürdige Ausführungsumgebung (Trusted Execution Environment, TEE), mit der Ihre Secrets nur für autorisierte Arbeitslasten freigegeben werden 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. Dieser wird wiederum auf einer Confidential VM (AMD SEV oder Intel TDX, Vorabversion) ausgeführt, einer cloudbasierten TEE, die Hardwareisolation und Remote-Attestierungsfunktionen bietet. Die Arbeitslast befindet sich in einem anderen Projekt als die geschützten Ressourcen.
Der Attestierungsdienst: Ein Remote Attestation Verifier, der Attestierungsnachweise in Form von OpenID Connect-Tokens (OIDC) zurückgibt. Die Tokens enthalten Identifizierungsattribute für die Arbeitslast. Der Attestierungsservice wird in derselben Region ausgeführt, in der die Arbeitslast ausgeführt wird.
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 Cloudbefinden (z. B. in einer lokalen Umgebung oder in einer anderen Cloud), können es beliebige Ressourcen sein.
Rollen für Confidential Space
Die Komponenten in einem Confidential Space-System werden von Personen mit drei verschiedenen Rollen verwaltet:
Datenmitbearbeiter: Personen oder Organisationen, denen die geschützten Ressourcen gehören, die von der Arbeitslast verarbeitet werden. Mitbearbeiter für Daten 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.
Mitbearbeiter können nicht auf die Daten der anderen zugreifen oder den Arbeitslastcode ändern.
Weitere Informationen zur Rolle von Mitbearbeitern für Daten finden Sie unter Vertrauliche Ressourcen erstellen und Zugriff darauf gewähren.
Arbeitslastautor: Die Person, die die Anwendung erstellt, die auf die vertraulichen Daten zugreift und sie verarbeitet. Er fügt die Anwendung mit Docker einem containerisierten Image hinzu und lädt das Image in Artifact Registry hoch.
Der Autor der Arbeitslast hat keinen Zugriff auf die Daten oder Ergebnisse und kann den Zugriff darauf auch nicht steuern.
Weitere Informationen zur Rolle des Autors einer Arbeitslast finden Sie unter Arbeitslasten erstellen und anpassen.
Arbeitslastoperator: Die Person, die die Arbeitslast ausführt. Der Arbeitslastoperator hat in der Regel volle Administratorberechtigungen für das Projekt, in dem er die Arbeitslast ausführt. So können sie beispielsweise Ressourcen in ihrem 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 diesen auch nicht steuern. Er kann den Arbeitslastcode oder die Ausführungsumgebung nicht beeinflussen oder ändern.
Weitere Informationen zur Rolle des Arbeitslastbearbeiters 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 Mitbearbeiter, 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-Vorgang
In Confidential Space werden mehrere Google Cloud -Dienste verwendet, um private Informationen vertraulich zu verarbeiten. Im Allgemeinen sieht die Einrichtung eines Confidential Space in etwa so aus:
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 für andere oder externe Parteien offenzulegen. Die verschlüsselten Daten können sich in Cloud Storage, BigQuery oder einem anderen Dienst befinden.
Die Datenbearbeiter erstellen simulierte, nicht vertrauliche Daten für eine Testarbeitslast. Diese Daten können sich in verschiedenen Dateien befinden oder an einem anderen Ort wie einem separaten Cloud Storage-Bucket.
Die Datenbearbeiter erstellen jeweils ein Dienstkonto in ihren Projekten, mit dem ihre Daten entschlüsselt werden können. Diese Dienstkonten werden mit einem Workload Identity-Pool (WIP) verknüpft. Später kann eine Arbeitslast, die in einem separaten, isolierten Projekt eines Workload-Betreibers ausgeführt wird, dieses WIP verwenden, um die Dienstkonten für die Entschlüsselung zu imitieren, wenn bestimmte Bedingungen erfüllt sind.
Der Autor der Arbeitslast schreibt Code zur Verarbeitung der vertraulichen Daten. In einem separaten Projekt von den Datenmitarbeitern und dem Arbeitslastoperator erstellt er ein containerisiertes Image mit Docker und lädt es in die Artifact Registry hoch.
Der Arbeitslastbearbeiter erstellt ein Dienstkonto in einem abgeschotteten Projekt, das Lesezugriff auf den Speicherort der verschlüsselten vertraulichen Daten der Datenbearbeiter hat und Schreibzugriff auf einen Ort (z. B. einen Cloud Storage-Bucket), um das Ergebnis der Verarbeitung der entschlüsselten Daten auszugeben. Dieses Dienstkonto wird später an eine Confidential VM angehängt, auf der die Arbeitslast ausgeführt wird.
Die Datenbearbeiter fügen den Confidential Space-Attestierungsprüfer als Anbieter zu ihren Workload Identity-Pools hinzu. Außerdem fügt er dem Anbieter Attributbedingungen hinzu, die die Arbeitslast erfüllen muss, um auf seine Daten zugreifen und sie entschlüsseln zu können. Dazu gehören unter anderem die Überprüfung der Attestierungen der Arbeitslast-VM, des Image-Digests der Arbeitslast und ob Umgebungsvariablen festgelegt wurden. Weitere Informationen finden Sie unter Attestationsaussagen.
Die Arbeitslast wird anhand der nicht vertraulichen Daten getestet, indem eine Confidential VM im Projekt des Arbeitslastbearbeiters gestartet wird. Die VM basiert auf einer Debugversion des Confidential Space-Images, über das die containerisierte Arbeitslast geladen wird.
Nachdem die Attestationen der VM überprüft wurden und die Arbeitslast die Bedingungen der Datenmitbearbeiter erfüllt, darf das an die VM angehängte Dienstkonto die Dienstkonten für die Entschlüsselung imitieren. Die Dienstkonten der Datenmitbearbeiter geben die entschlüsselten Daten an das Dienstkonto der Arbeitslast weiter, das diese Daten verarbeitet und dann ein Ergebnis ausgibt.
Nach Abschluss des Monitorings und der Fehlerbehebung wird die Arbeitslast für den Produktionseinsatz aktualisiert. Die Datenbearbeiter aktualisieren und sperren ihre Identitätsanbieter für Arbeitslasten bei Bedarf weiter und können die Produktionsarbeitslast zuerst mit nicht vertraulichen Daten testen.
Alle Parteien genehmigen die Produktionsarbeitslast und die Arbeit mit vertraulichen Daten kann beginnen.
Voraussetzungen
Confidential Space erfordert Confidential VM und Certificate Authority Service, um zu funktionieren.
Für Confidential VM-Instanzen muss AMD SEV oder Intel TDX (Vorabversion) als Confidential Computing-Technologie verwendet werden. Unter Unterstützte Konfigurationen finden Sie Informationen zu den Hardwarekonfigurationsoptionen und zu den Standorten, an denen Confidential VM-Instanzen erstellt werden können.
Der Certificate Authority Service ist an bestimmten Standorten verfügbar. Weitere Informationen finden Sie unter Standort der Zertifizierungsstelle.