Panduan ini membahas praktik terbaik untuk membuat alat kustom guna mengimpor file terenkripsi sisi klien (CSE) secara massal menggunakan Drive API.
Pertimbangkan Drive untuk desktop untuk migrasi mandiri
Pengguna dapat mengimpor file dari komputer lokal menggunakan klien Drive untuk desktop. Aplikasi ini sepenuhnya mendukung enkripsi sisi klien dan memungkinkan pengguna mengenkripsi serta mengupload file mereka sendiri. Membuat alat kustom seperti yang dijelaskan dalam panduan ini hanya diperlukan untuk impor massal skala besar, tanpa pengawasan, atau multi-pengguna.
Sebelum memulai
Anda harus memahami cara mengelola satu file terenkripsi sisi klien. Tinjau Mengelola setiap file CSE untuk mempelajari langkah-langkah dasar untuk enkripsi, upload/download, dan dekripsi, termasuk pembuatan token dan berinteraksi dengan Layanan Daftar Kontrol Akses Kunci (KACLS).
Mengautentikasi dengan akun layanan
Gunakan akun layanan dengan delegasi seluruh domain saat berinteraksi dengan Drive API. Hal ini memungkinkan aplikasi Anda meniru pengguna, sehingga Anda dapat melakukan loop secara terprogram dan mengupload file langsung atas nama mereka.
Buat ulang struktur direktori
Rancang alat impor Anda untuk melintasi file dan folder sumber secara rekursif untuk mencerminkan struktur direktori yang ada ke Drive. Proses tingkat tinggi adalah sebagai berikut:
- Untuk setiap direktori sumber, buat folder Drive yang sesuai.
- Enkripsi dan upload file direktori ke folder Drive yang dibuat.
- Ulangi proses untuk subdirektori.
Mengupload file ke tempat yang tepat
Selalu upload file ke Drive Saya milik pengguna yang tepat atau Drive Bersama yang dapat diakses. Untuk menemukan ID Folder atau Drive Bersama, temukan secara statis dari URL web Drive atau secara dinamis menggunakan metode drives.list dan files.list.
Mencegah duplikat
Drive memungkinkan beberapa file dalam folder yang sama berbagi nama file yang sama persis. Buat ID untuk file Anda sebelum mengupload. Anda dapat menggunakan metode
Drive API files.generateIds untuk melakukannya.
Dengan menyimpan ID yang telah dibuat sebelumnya, pengimpor Anda dapat mencoba mengupload setiap file ke ID tertentu. Jika file dengan ID tersebut sudah ada, alat Anda dapat melewatinya dengan aman. Menggunakan ID yang telah dibuat sebelumnya akan membantu alat Anda pulih dari error.
Meminta token CSE sebelum setiap upload
Panggil generateCseToken untuk setiap file tepat sebelum pembungkusan kunci dan upload file. Pendekatan ini memastikan token secara akurat mencerminkan status metadata terkait saat ini, yang dapat berubah.
Menggunakan upload yang dapat dilanjutkan untuk file besar
Gunakan upload dapat dilanjutkan Drive API untuk memigrasikan file besar. Upload yang dapat dilanjutkan memungkinkan pengimpor Anda mencoba lagi bagian yang gagal selama gangguan jaringan, daripada memulai ulang upload seluruh file.
Memulihkan izin berbagi
Jika alat impor massal Anda perlu mempertahankan izin berbagi, enkripsi dan upload file terlebih dahulu, lalu panggil metode permissions.create.
Izin berbagi tidak diterapkan selama upload file itu sendiri.
Menangani masa berlaku token
Untuk operasi yang berjalan lama, skrip Anda mungkin mengalami error autentikasi karena masa berlaku token telah berakhir. Terapkan logika untuk memperbarui token akses secara otomatis dan mencoba ulang upload. Untuk mengetahui detail selengkapnya, lihat contoh open source yang menunjukkan cara mengenkripsi dan mengupload satu file.
Memvalidasi file yang diimpor secara menyeluruh
Lakukan validasi menyeluruh setelah impor massal. Google tidak dapat mendekripsi dan memvalidasi file Anda di sisi server. Bagian Validasi file yang diimpor menjelaskan beberapa metode untuk memeriksa file satu per satu.
Metode tambahan untuk melakukan verifikasi dalam skala besar, terutama berguna setelah impor massal, melibatkan penggunaan alat dekripter resmi. Pertama, download konten terenkripsi dari Drive menggunakan Google Takeout. Kemudian, coba lakukan dekripsi menggunakan alat pendekripsi. Proses ini membantu mengidentifikasi file yang tidak dapat didekripsi, yang menunjukkan potensi masalah dalam logika enkripsi atau pembungkusan kunci alat impor Anda.
Memahami batas dan kuota
File terenkripsi sisi klien tunduk pada batas dan kuota Drive standar. Perhatikan batas drive bersama, batas file dan folder secara umum, serta cara mengelola kuota Anda. Selain itu, alat impor Anda harus menangani batas kecepatan dari Layanan Daftar Kontrol Akses Kunci (KACLS) dan Penyedia Identitas (IdP).