Panoramica di Confidential Space


Confidential Space fornisce un ambiente isolato per lavorare con dati sensibili, mentre i proprietari di questi dati mantengono la riservatezza. 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 lavorare su dati sensibili visibili solo ai loro proprietari originali e a un carico di lavoro concordato. In alternativa, puoi utilizzarlo per offrire ai clienti finali una maggiore privacy dei dati, poiché l'operatore o il proprietario di un ambiente Spazio riservato non può accedere ai dati in fase di elaborazione.

Confidential Space utilizza un ambiente di esecuzione affidabile (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 rafforzata contribuiscono a proteggere il carico di lavoro e i dati elaborati dal carico di lavoro 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 Spazio riservato è composto da tre componenti principali:

  • Un carico di lavoro: un'immagine container contenente codice che elabora le risorse protette. Viene eseguito su un'immagine dello spazio riservato, un sistema operativo con protezione avanzata basato su Container-Optimized OS. Questo, a sua volta, viene eseguito su una VM Confidential AMD SEV o Intel TDX (anteprima), un TEE basato su cloud che offre funzionalità di attestazione remota e isolamento hardware. In genere, il carico di lavoro si trova in un progetto distinto dalle risorse protette.

  • Il servizio di attestazione: un verificatore di attestazione remoto che restituisce prove di attestazione sotto forma di token OpenID Connect (OIDC). I token contengono gli attributi di identificazione per il carico di lavoro. 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 di Confidential Space

I componenti di un sistema di spazi riservati sono gestiti da persone con tre ruoli distinti:

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

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

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

  • Autore del carico di lavoro: 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 carico di lavoro non ha accesso ai dati o ai risultati e non può nemmeno 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 solitamente ha privilegi amministrativi completi sul progetto in cui esegue il workload. Ad esempio, possono gestire le risorse del progetto (ad esempio istanze, dischi e regole di rete di Compute Engine) e 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 controllarne l'accesso. Non possono influenzare o modificare il codice del carico di lavoro o l'ambiente di esecuzione.

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

Una persona può assumere uno o più di questi ruoli. Per la massima sicurezza, Confidential Space supporta un modello di attendibilità in cui i collaboratori dei dati, gli autori dei carichi di lavoro e gli operatori dei carichi di lavoro sono parti distinte e reciprocamente diffidenti. 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 di gestire le informazioni private in modo riservato. In generale, la configurazione di uno spazio riservato potrebbe essere simile alla seguente procedura:

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

  2. I collaboratori dei dati creano dati fittizi non riservati su cui operare un workload di test. Questi dati potrebbero essere file diversi o trovarsi in un altro luogo, ad esempio un bucket Cloud Storage separato.

  3. I collaboratori dei dati creano ciascuno un account di servizio nei propri progetti che può decriptare i dati. Collega questi account di servizio a un pool di identità per i carichi di lavoro (WIP). In seguito, un carico di lavoro in esecuzione nel progetto distinto e isolato di un operatore del carico di lavoro può utilizzare il WIP per simulare l'identità degli account di servizio di decrittografia se supera determinate condizioni.

  4. L'autore del carico di lavoro scrive il codice per elaborare i dati riservati. In un progetto distinto dai collaboratori dei dati e dall'operatore del carico di lavoro, creano un'immagine containerizzata con Docker e la caricano in 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 vengono archiviati i dati riservati criptati dei collaboratori dei dati e accesso in scrittura a una posizione (ad esempio un bucket Cloud Storage) per produrre il risultato dell'operazione sui dati decriptati. Successivamente, questo account di servizio viene associato a una VM Confidential che esegue il workload.

  6. I collaboratori dei dati aggiungono il verificatore dell'attestazione di Confidential Space come provider ai propri pool di identità dei carichi di lavoro. Aggiungono inoltre al fornitore le condizioni degli attributi che il carico di lavoro deve soddisfare per poter accedere ai dati e decriptarli. Queste condizioni includono la verifica delle attestazioni della VM del workload, il digest dell'immagine del workload, se sono state impostate le variabili di ambiente e altro ancora. Per ulteriori informazioni, consulta Affermazioni di attestazione.

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

    Dopo che le attestazioni della VM sono state verificate e il workload ha superato le condizioni dei collaboratori dei dati, all'account di servizio associato alla VM è consentito rubare l'identità degli account di servizio di decrittografia. Gli account di servizio collaboratore dei dati passano i dati decriptati all'account di servizio del carico di lavoro, che li elabora e poi genera un risultato.

  8. Al termine del monitoraggio e del debug, il carico di lavoro viene aggiornato per l'utilizzo in produzione. I collaboratori dei dati aggiornano e bloccano ulteriormente i propri provider di identità di carico di lavoro, se necessario, 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 lavorare con i dati riservati.

Requisiti

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

Passaggi successivi