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, secret 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 carico di lavoro concordato di comune accordo. In alternativa, puoi utilizzarlo per offrire ai clienti finali una maggiore privacy dei dati, poiché l'operatore o il proprietario di un ambiente Confidential Space non può accedere ai dati in fase di elaborazione.

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

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

Componenti di Confidential Space

Un sistema Confidential Space ha tre componenti principali:

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

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

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

Ruoli di Confidential Space

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

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

    I collaboratori di dati non possono accedere ai dati degli altri o modificare il codice del carico di lavoro.

    Per scoprire di più sul ruolo dei collaboratori di dati, consulta Creare e concedere l'accesso alle risorse riservate.

  • Autore del carico di lavoro: la persona che crea l'applicazione che accede ed elabora i dati riservati. Aggiunge l'applicazione a un'immagine containerizzata , ad esempio utilizzando Docker, e carica l'immagine in un repository come Artifact Registry.

    L'autore del carico di lavoro non ha accesso ai dati o ai risultati e non può nemmeno controllare l'accesso.

    Per scoprire di più sul ruolo dell'autore del carico di lavoro, consulta Creare e personalizzare i carichi di lavoro.

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

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

    Per scoprire di più sul ruolo dell'operatore del carico di lavoro, consulta Eseguire il deployment dei carichi di lavoro per saperne di più.

Una persona può assumere uno o più di questi ruoli. Per la massima sicurezza, Confidential Space supporta un modello di fiducia in cui i collaboratori di dati, gli autori di carichi di lavoro e gli operatori di carichi di lavoro sono parti separate e 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ù Google Cloud servizi per consentire l'elaborazione riservata delle informazioni private. In generale, la configurazione di un Confidential Space potrebbe essere simile alla seguente procedura:

  1. Più collaboratori di dati archiviano dati riservati criptati nei propri isolati Google Cloud progetti, spesso in organizzazioni diverse. Vogliono confrontare ed elaborare questi dati senza rivelarli l'uno all'altro o a terze parti. I dati criptati potrebbero risiedere in Cloud Storage, BigQuery o un altro servizio.

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

  3. I collaboratori di dati creano un pool di identità del workload (WIP). In un secondo momento, un carico di lavoro in esecuzione in un 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 riservati. In un progetto separato dai collaboratori di dati e dall'operatore del carico di lavoro, crea un'immagine containerizzata con Docker e la carica in Artifact Registry.

  5. L'operatore del carico di lavoro crea un account di servizio in un progetto isolato con accesso in lettura alla posizione in cui sono archiviati i dati riservati criptati dei collaboratori di 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 Confidential VM che esegue il carico di lavoro.

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

  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.

    Una volta verificate le attestazioni della VM e superate le condizioni dei collaboratori di dati, il account di servizio collegato alla VM può accedere ai dati riservati, elaborarli e generare un risultato.

  8. Al termine del monitoraggio e del debug, il carico di lavoro viene aggiornato per l'utilizzo in produzione. Se necessario, i collaboratori di dati aggiornano e bloccano ulteriormente i provider di identità del carico di lavoro e potrebbero scegliere di testare prima il carico di lavoro di produzione su dati non riservati.

  9. Tutte le parti approvano il carico di lavoro di produzione, che è pronto per iniziare a operare 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 come tecnologia Confidential Computing. Per scoprire di più sulle opzioni di configurazione hardware e sulle località in cui è possibile creare istanze Confidential VM, consulta Configurazioni supportate.

Passaggi successivi