Best practice per l'importazione collettiva di file con crittografia lato client

Questa guida illustra le best practice per la creazione di uno strumento personalizzato per l'importazione collettiva di file con crittografia lato client utilizzando l'API Drive.

Valuta Drive per computer per le migrazioni self-service

Un utente può importare file dalla propria macchina locale utilizzando il client Drive per computer. Supporta completamente la crittografia lato client e consente agli utenti di criptare e caricare i file autonomamente. La creazione di uno strumento personalizzato come descritto in questa guida è necessaria solo per importazioni collettive su larga scala, automatiche o multiutente.

Prima di iniziare

Devi capire come gestire un singolo file con crittografia lato client. Consulta Gestire singoli file con crittografia lato client per conoscere i passaggi fondamentali per la crittografia, il caricamento/download e la decrittografia, inclusa la generazione di token e l'interazione con il servizio di elenco di controllo dell'accesso per le chiavi (KACLS).

Autenticazione con un service account

Quando interagisci con l'API Drive, utilizza un service account con delega a livello di dominio. In questo modo, la tua applicazione può impersonare gli utenti, così puoi eseguire un loop a livello di programmazione e caricare i file direttamente per loro conto.

Ricrea la struttura delle directory

Progetta lo strumento di importazione in modo che attraversi in modo ricorsivo i file e le cartelle di origine per rispecchiare la struttura delle directory esistente su Drive. La procedura di alto livello è la seguente:

  1. Per ogni directory di origine, crea una cartella di Drive corrispondente.
  2. Cripta e carica i file della directory nella cartella di Drive creata.
  3. Ripeti la procedura per le sottodirectory.

Carica i file nella posizione corretta

Carica sempre i file nella cartella Il mio Drive dell'utente corretto o in un Drive condiviso accessibile. Per trovare l'ID di un Drive condiviso o di una cartella, cercalo staticamente dall'URL web di Drive o dinamicamente utilizzando i metodi drives.list e files.list.

Evitare i duplicati

Drive consente a più file nella stessa cartella di condividere esattamente lo stesso nome file. Genera gli ID per i file prima di caricarli. A questo scopo puoi utilizzare il metodo files.generateIds dell'API Drive.

Memorizzando questi ID pregenerati, l'importatore può tentare di caricare ogni file con il suo ID specifico. Se esiste già un file con questo ID, lo strumento può saltarlo in sicurezza. L'utilizzo di ID pregenerati aiuterà lo strumento a riprendersi da un arresto anomalo.

Richiedi un token di crittografia lato client prima di ogni caricamento

Chiama generateCseToken per ogni file immediatamente prima del wrapping della chiave e del caricamento del file. Questo approccio garantisce che il token rifletta accuratamente lo stato attuale dei metadati associati, che possono cambiare.

Utilizza i caricamenti ripristinabili per i file di grandi dimensioni

Utilizza i caricamenti ripristinabili dell'API Drive per la migrazione di file di grandi dimensioni. I caricamenti ripristinabili consentono all'importatore di riprovare a caricare i blocchi non riusciti durante le interruzioni di rete, anziché riavviare l'intero caricamento del file.

Ripristina le autorizzazioni di condivisione

Se lo strumento di importazione collettiva deve conservare le autorizzazioni di condivisione, cripta e carica prima il file, poi chiama il metodo permissions.create. Le autorizzazioni di condivisione non vengono applicate durante il caricamento del file stesso.

Gestire la scadenza dei token

Per le operazioni a lunga esecuzione, lo script potrebbe riscontrare errori di autenticazione a causa della scadenza del token. Implementa la logica per aggiornare automaticamente i token di accesso e riprovare a caricare. Per ulteriori dettagli, consulta l'esempio open source che mostra come criptare e caricare un singolo file.

Convalida attentamente i file importati

Esegui una convalida approfondita dopo un'importazione collettiva. Google non può decriptare e convalidare i tuoi file lato server. La sezione Convalidare i file importati descrive diversi metodi per controllare a campione i singoli file.

Un altro metodo per eseguire la verifica su larga scala, particolarmente utile dopo un'importazione collettiva, prevede l'utilizzo dello strumento di decrittografiaufficiale. Innanzitutto, scarica i contenuti criptati da Drive utilizzando Google Takeout. Poi, prova a decriptare utilizzando lo strumento di decrittografia. Questa procedura consente di identificare eventuali file che non possono essere decriptati, indicando potenziali problemi nella logica di crittografia o di wrapping delle chiavi dello strumento di importazione.

Informazioni su limiti e quote

I file con crittografia lato client sono soggetti ai limiti e alle quote standard di Drive. Tieni presente i limiti dei Drive condivisi, i limiti generali di file e cartelle, e come gestire la quota. Inoltre, lo strumento di importazione deve gestire i limiti di frequenza del servizio di elenco di controllo dell'accesso per le chiavi (KACLS) e del provider di identità (IdP).