Panoramica di Confidential Space


Confidential Space fornisce un ambiente isolato per operare su dati sensibili di più parti, in modo che i proprietari di questi dati possano mantenerli riservati. I dati sensibili possono includere informazioni che consentono l'identificazione personale (PII), informazioni sanitarie protette (PHI), proprietà intellettuale, segreti crittografici, modelli di machine learning (ML) o altro.

Puoi utilizzare Confidential Space per operare su dati sensibili visibili solo ai proprietari originali e a un workload concordato. In alternativa, puoi utilizzarlo per offrire ai clienti finali una maggiore privacy dei dati, in quanto l'operatore o il proprietario di un ambiente Confidential Space non può accedere ai dati in fase di elaborazione.

Confidential Space utilizza un Trusted Execution Environment (TEE) che può essere utilizzato per rilasciare i tuoi secret solo ai carichi di lavoro autorizzati. Una procedura di attestazione e un'immagine del sistema operativo protetta contribuiscono a proteggere il carico di lavoro e i dati che elabora da un operatore.

Per maggiori dettagli sui casi d'uso e sul modello di sicurezza di Confidential Space, vedi Panoramica della sicurezza di Confidential Space.

Componenti di Confidential Space

Un sistema Confidential Space è composto da tre componenti principali:

  • Un workload: un'immagine containerizzata contenente codice che elabora le risorse protette. Viene eseguito su un'immagine Confidential Space, un sistema operativo con protezione avanzata basato su Container-Optimized OS. A sua volta, viene eseguito su una Confidential VM, un TEE basato su cloud che offre funzionalità di isolamento hardware e attestazione remota. Il carico di lavoro si trova in genere in un progetto separato dalle risorse protette.

  • Il servizio di attestazione: un verificatore di attestazione remota che restituisce prove di attestazione sotto forma di token OpenID Connect (OIDC). I token contengono attributi di identificazione per il workload. Il servizio di attestazione viene eseguito nella stessa regione in cui viene eseguito il carico di lavoro.

  • Risorse protette: risorse gestite protette da un sistema di autenticazione e autorizzazione. Se le risorse si trovano in Google Cloud, possono essere risorse cloud gestite come chiavi Cloud Key Management Service (Cloud KMS) o bucket Cloud Storage. Se le risorse non si trovano in Google Cloud (ad esempio, in un ambiente on-premise o in un altro cloud), possono essere qualsiasi risorsa.

Ruoli Confidential Space

I componenti di un sistema Confidential Space sono gestiti da persone con tre ruoli distinti:

  • Collaboratori dei dati: le persone o le organizzazioni proprietarie delle risorse protette su cui opera il workload. I collaboratori dei dati possono accedere ai propri dati, impostare le autorizzazioni per questi dati e, a seconda dell'output del carico di lavoro, possono accedere ai risultati in base a questi dati.

    I collaboratori dei dati non possono accedere ai dati degli altri né modificare il codice del workload.

    Consulta Creare e concedere l'accesso a risorse riservate per scoprire di più sul ruolo dei collaboratori dei dati.

  • Autore del workload: la persona che crea l'applicazione che accede ai dati riservati e li elabora. Aggiungono l'applicazione a un'immagine containerizzata, ad esempio utilizzando Docker, e caricano l'immagine in un repository come Artifact Registry.

    L'autore del workload non ha accesso ai dati o ai risultati e non può controllarne l'accesso.

    Consulta Creare e personalizzare i carichi di lavoro per scoprire di più sul ruolo dell'autore del carico di lavoro.

  • Operatore del carico di lavoro: la persona che esegue il carico di lavoro. L'operatore del workload in genere dispone di privilegi amministrativi completi sul progetto in cui esegue il workload. Ad esempio, possono gestire le risorse nel loro progetto (come istanze, dischi e regole di rete di Compute Engine) e possono interagire con qualsiasi APIGoogle Cloud che agisce su di esse.

    L'operatore del workload non ha accesso ai dati e non può controllare l'accesso. Non possono influenzare o modificare il codice del carico di lavoro o l'ambiente di esecuzione.

    Consulta Eseguire il deployment dei workload per scoprire di più sul ruolo dell'operatore del workload.

Una persona può assumere uno o più di questi ruoli. Per la massima sicurezza, Confidential Space supporta un modello di trust in cui i collaboratori dei dati, gli autori dei carichi di lavoro e gli operatori dei carichi di lavoro sono parti separate che non si fidano l'una dell'altra. Tutti i ruoli devono collaborare tra loro per ottenere i risultati di cui hanno bisogno.

Un esempio di flusso di Confidential Space

Confidential Space utilizza più servizi Google Cloud per contribuire a garantire la riservatezza delle informazioni private. In generale, la configurazione di uno Confidential Space potrebbe essere simile alla seguente procedura:

  1. Più collaboratori ai dati archiviano dati riservati criptati nei propri progetti Google Cloud isolati, spesso in organizzazioni diverse. Vogliono confrontare ed elaborare questi dati senza rivelarli tra loro o a terze parti esterne. I dati criptati potrebbero trovarsi in Cloud Storage, BigQuery o in un altro servizio.

  2. I collaboratori dei dati creano dati fittizi e non riservati per un carico di lavoro di test su cui operare. Questi dati potrebbero essere file diversi o trovarsi in una posizione diversa, ad esempio un bucket Cloud Storage separato.

  3. I collaboratori dei dati creano un pool di identità del workload (WIP). In seguito, un carico di lavoro in esecuzione nel progetto separato e isolato di un operatore del carico di lavoro può utilizzare questo WIP per accedere ai dati riservati dei collaboratori.

  4. L'autore del carico di lavoro scrive il codice per elaborare i dati confidenziali. In un progetto separato dai collaboratori dei dati e dall'operatore del carico di lavoro, crea un'immagine containerizzata con Docker e la carica su Artifact Registry.

  5. L'operatore del carico di lavoro crea un account di servizio in un progetto isolato che ha accesso in lettura alla posizione in cui sono archiviati i dati riservati criptati dei collaboratori dei dati e accesso in scrittura a una posizione (ad esempio, un bucket Cloud Storage) per generare l'output del risultato dell'operazione sui dati decriptati. In un secondo momento, questo account di servizio viene collegato a una VM confidenziale che esegue il workload.

  6. I collaboratori dei dati aggiungono un provider ai loro pool di identità del workload. Aggiungono dettagli al fornitore, ad esempio il servizio di attestazione da utilizzare, i mapping degli attributi per creare un audit trail nei log e le condizioni degli attributi. Questi dettagli verificano le asserzioni fatte dall'immagine Confidential Space, dal container del workload e dall'istanza VM del workload. Se il carico di lavoro supera questa verifica, può accedere e decriptare i dati riservati.

  7. Il carico di lavoro viene testato sui dati non riservati avviando un'istanza Confidential VM nel progetto dell'operatore del carico di lavoro. La VM si basa su una versione di debug dell'immagine Confidential Space che carica il carico di lavoro containerizzato.

    Dopo che le attestazioni della VM sono state verificate e il workload supera le condizioni dei collaboratori dei dati, il account di servizio collegato alla VM può accedere ai dati confidenziali, elaborarli e restituire un risultato.

  8. Una volta completato il monitoraggio e il debug, il workload viene aggiornato per l'utilizzo in produzione. I collaboratori dei dati aggiornano e bloccano ulteriormente i provider di identità del workload, se necessario, e potrebbero scegliere di testare il workload di produzione su dati non confidenziali prima.

  9. Tutte le parti approvano il carico di lavoro di produzione ed è pronto per iniziare a lavorare sui dati riservati.

Requisiti

Per funzionare, Confidential Space richiede Confidential VM. Le istanze Confidential VM devono utilizzare AMD SEV, Intel TDX o Intel TDX con NVIDIA Confidential Computing (anteprima) come tecnologia Confidential Computing. Consulta la sezione Configurazioni supportate per scoprire le opzioni di configurazione hardware e le località in cui è possibile creare istanze Confidential VM.

Passaggi successivi