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 lokalnya menggunakan klien Drive untuk desktop. Klien 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 file CSE individual untuk mempelajari langkah-langkah dasar 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.
Membuat ulang struktur direktori
Desain alat impor Anda untuk melintasi file dan folder sumber secara rekursif guna 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 benar atau Drive Bersama yang dapat diakses. Untuk menemukan ID Drive Bersama atau folder, 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 files.generateIds Drive API 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 segera 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 Drive API upload yang dapat dilanjutkan untuk memigrasikan file besar. Upload yang dapat dilanjutkan memungkinkan pengimpor Anda mencoba kembali bagian yang gagal selama gangguan jaringan, bukan memulai ulang seluruh upload 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 berakhir. Terapkan logika untuk memperbarui token akses secara otomatis dan mencoba kembali 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 Memvalidasi file yang diimpor menjelaskan beberapa metode untuk memeriksa file individual secara acak.
Metode tambahan untuk memverifikasi dalam skala besar, yang sangat berguna setelah impor massal, melibatkan penggunaan alat pendekripsi resmi. Pertama, download konten terenkripsi dari Drive menggunakan Google Takeout. Kemudian, coba dekripsi menggunakan alat pendekripsi. Proses ini membantu mengidentifikasi file yang tidak dapat didekripsi, yang menunjukkan potensi masalah dalam logika pembungkusan kunci atau enkripsi 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 umum, serta cara mengelola kuota Anda. Selain itu, alat impor Anda harus menangani batas frekuensi dari Layanan Daftar Kontrol Akses Kunci (KACLS) dan Penyedia Identitas (IdP).