Mengelola folder dengan akses terbatas dan luas

Pengguna memiliki folder Drive Saya. Folder mungkin berisi beberapa pengguna dengan akses ke file yang berbeda. Model akses terbatas ini berarti pengguna yang berbeda dapat melihat daftar item yang berbeda dalam folder yang sama. Pengguna yang memiliki akses ke folder induk Drive Saya, tetapi tidak ke item dalam folder tersebut, memiliki "akses terbatas". Hal ini menciptakan situasi yang menyulitkan untuk mengetahui siapa yang memiliki akses dalam hierarki.

Sebaliknya, file drive bersama dimiliki oleh drive bersama. Drive bersama memiliki model yang luas sehingga setiap pengguna memiliki daftar item yang sama dalam folder yang sama.

Pengenalan folder dengan akses terbatas mereplikasi model akses yang luas dari drive bersama ke Drive Saya. Dengan perubahan ini, folder dengan akses terbatas adalah satu-satunya pengecualian yang memungkinkan pembatasan akses ke subfolder tertentu di Drive Saya dan drive bersama.

Panduan ini menjelaskan cara mengelola folder dengan akses terbatas dan akses luas di Google Drive.

Tentang folder dengan akses terbatas

Membatasi folder untuk pengguna tertentu.

Folder dengan akses terbatas memungkinkan Anda membatasi folder untuk pengguna tertentu. Hanya pengguna yang Anda tambahkan langsung ke izin akses folder yang dapat membukanya dan mengakses kontennya. Pengguna dengan akses yang diwariskan ke folder Drive Saya bersama atau folder drive bersama (melalui akses dari folder induk) dapat melihat folder terbatas di Drive, tetapi tidak dapat membukanya. Fitur ini menyelaraskan perilaku berbagi item di Drive Saya dan drive bersama dengan lebih baik, sehingga Anda dapat mengatur folder yang berisi konten sensitif bersama dengan konten yang dibagikan secara lebih luas.

Folder dengan akses terbatas tersedia di Drive Saya dan drive bersama. Peran owner di Drive Saya dan peran organizer di drive bersama selalu dapat mengakses folder dengan akses terbatas. Untuk mengubah daftar pengguna folder, tidak diperlukan izin khusus. Peran yang dapat membagikan folder dapat memperbarui daftar anggota. Untuk mempelajari lebih lanjut peran dan izin, lihat Peran dan izin serta Ringkasan drive bersama.

Perhatikan bahwa meskipun folder adalah jenis file, akses terbatas tidak tersedia untuk file.

Menetapkan akses terbatas pada folder

Meskipun pengguna dengan izin folder langsung dapat mengakses folder dengan akses terbatas, hanya peran owner di Drive Saya dan peran organizer di drive bersama yang dapat mengaktifkan atau menonaktifkan akses terbatas.

Selain itu, jika pengguna dengan peran writer di Drive Saya memiliki setelan kolom boolean writersCanShare di resource files ke true, mereka juga dapat mengaktifkan atau menonaktifkan fitur ini.

Untuk membatasi akses ke folder, tetapkan kolom inheritedPermissionsDisabled boolean pada resource files ke true. Jika true, hanya peran owner, peran organizer, dan pengguna dengan izin folder langsung yang dapat mengaksesnya.

Untuk mengaktifkan kembali izin yang diwarisi, tetapkan inheritedPermissionsDisabled ke false.

Memverifikasi izin untuk membatasi akses pada folder

Untuk memeriksa apakah Anda dapat membatasi akses ke folder atau tidak, periksa nilai boolean kolom capabilities.canDisableInheritedPermissions dan capabilities.canEnableInheritedPermissions pada resource files. Setelan ini mengonfirmasi apakah Anda memiliki izin untuk membatasi akses ke folder melalui kolom inheritedPermissionsDisabled.

Untuk mengetahui informasi selengkapnya tentang capabilities, lihat Memahami kemampuan file.

Mencantumkan turunan folder dengan akses terbatas

Untuk memeriksa apakah Anda dapat mencantumkan turunan folder, gunakan kolom boolean capabilities.canListChildren.

Nilai yang ditampilkan selalu false jika item bukan folder atau jika akses pemohon ke konten folder dihapus dengan menyetel inheritedPermissionsDisabled ke false.

Jika akses Anda ke konten folder dihapus, Anda masih dapat mengakses metadata folder dengan metode files.get() dan files.list(). Untuk mengonfirmasi bahwa akses dibatasi, periksa isi respons untuk melihat apakah item tersebut adalah folder dengan jenis MIME application/vnd.google-apps.folder dan kolom capabilities.canListChildren disetel ke false. Jika Anda mencoba mencantumkan turunan folder tersebut, hasilnya akan selalu kosong.

Mengakses metadata folder dengan akses terbatas

Folder dengan akses terbatas memungkinkan Anda melihat metadata folder jika Anda tidak memiliki akses ke konten folder.

Saat menggunakan resource permissions untuk menentukan akses pengguna, folder Drive Saya dan folder drive bersama yang hanya memberikan akses ke metadata berisi nilai berikut dalam isi respons: inheritedPermissionsDisabled=true dan view=metadata. Peran selalu ditetapkan ke reader. Kolom view hanya diisi untuk izin yang termasuk dalam view. Untuk mengetahui informasi selengkapnya, lihat Tampilan.

Semua entri di kolom permissionDetails memiliki kolom inherited yang ditetapkan ke true untuk menunjukkan bahwa izin diwariskan dan akses langsung ke konten folder belum diberikan.

Untuk memberikan akses ke konten dan metadata folder, tetapkan kolom inheritedPermissionsDisabled ke false atau perbarui peran ke reader atau yang lebih tinggi.

Terakhir, jika izin pertama kali dibatasi dengan menonaktifkan pewarisan di folder (inheritedPermissionsDisabled=true), lalu izin ditambahkan kembali langsung ke folder, nilai dalam isi respons akan menjadi inheritedPermissionsDisabled=true dengan kolom view tidak ditetapkan. Jika folder berada di drive bersama, daftar permissionDetails memiliki entri dengan kolom inherited yang ditetapkan ke false untuk menunjukkan bahwa izin tidak diwarisi. Izin ini memberikan akses ke konten folder dan metadata seperti izin lainnya.

Menghapus folder dengan akses terbatas

Anda dapat menghapus folder dengan akses terbatas menggunakan metode files.delete() di resource files.

Di Drive Saya, hanya pemilik item yang dapat menghapus hierarki folder. Jika pengguna menghapus hierarki berisi folder dengan akses terbatas dan dimiliki oleh orang lain, folder ini akan dipindahkan ke Drive Saya pemilik.

Jika pengguna memiliki peran owner, seluruh hierarki akan dihapus.

Di drive bersama, peran organizer dapat menghapus hierarki meskipun hierarki tersebut berisi folder dengan akses terbatas. Jika peran fileOrganizer menghapus hierarki yang berisi folder dengan akses terbatas, hasilnya bergantung pada apakah mereka ditambahkan kembali sebagai fileOrganizer di folder dengan akses terbatas. Jika ya, seluruh hierarki akan dihapus. Jika tidak, folder dengan akses terbatas akan dipindahkan ke folder root drive bersama.

Tentang akses ekspansif

Pengenalan folder dengan akses terbatas memperluas model akses yang luas dari drive bersama ke Drive Saya. Setelah model akses diluncurkan, memiliki akses ke folder berarti memiliki setidaknya tingkat akses yang sama ke semua hal dalam hierarki folder tersebut. Folder dengan akses terbatas adalah satu-satunya pengecualian yang memungkinkan pembatasan akses ke subfolder tertentu di Drive Saya dan drive bersama. Artinya, kecuali jika folder Anda memiliki akses terbatas, Anda tidak dapat lagi menghapus akses yang diwarisi dari folder induk. Jika demikian, Drive API akan menampilkan respons error. Untuk menentukan kontrol akses yang lebih terperinci dalam hierarki, Anda dapat menyetel akses terbatas pada folder.

Menyesuaikan diri dengan akses yang diperluas

Untuk mempermudah developer beradaptasi dengan akses ekspansif, beberapa peningkatan dilakukan pada Google Drive API:

  1. Kolom permissionDetails[] pada resource permissions kini diisi untuk item di Drive Saya. Sebelumnya, kolom tidak disetel atau direplikasi dari kolom teamDrivePermissionDetails jika sesuai. Hanya kolom permissionType dan inherited di Drive Saya yang diisi.

    Kolom permissionDetails[].inherited menunjukkan apakah izin diwarisi dari induk item. Dengan fitur ini, Anda dapat mendeteksi apakah peran tertentu (seperti reader) diwarisi dari induk, dan apakah peran yang lebih tinggi (seperti writer) diberikan langsung pada item.

    Saat melihat izin untuk suatu item, kolom permissionDetails[] mungkin berisi beberapa entri. Jika ada, akan ada satu entri untuk izin langsung pada item untuk cakupan tersebut, lalu entri untuk izin yang diwarisi atau izin anggota pada item.

  2. Developer dapat memilih untuk menggunakan perilaku API akses luas di Drive Saya sebelum penegakan wajib di masa mendatang. Anda dapat menyetel parameter permintaan enforceExpansiveAccess ke true sehingga perubahan mendatang pada akses luas tidak memengaruhi aplikasi Anda.

    Dengan memilih ikut serta sekarang, API akan beroperasi sama untuk item di My Drive seperti yang sudah dilakukan untuk item di drive bersama. Misalnya, setiap upaya untuk membatasi akses di bawah peran yang diwarisi akan gagal saat memanggil permissions.update(). Demikian pula, panggilan ke permissions.delete() gagal jika izin diwarisi.

Mendeteksi dan mencegah akses terbatas

Aplikasi Anda mungkin membuat akses terbatas (pengguna memiliki akses ke folder Induk Drive Saya, tetapi tidak ke file dalam folder tersebut) di folder Drive Saya saat menggunakan metode permissions.update() atau permissions.delete().

Saat menggunakan metode ini, Anda dapat meninjau kolom pada resource permissions untuk melihat tempat permintaan dapat membuat akses terbatas dan menghindari pengiriman permintaan tersebut. Untuk mendeteksi situasi ini, gunakan kolom enforceExpansiveAccess pada permintaan Anda.

Selain itu, jika aplikasi Anda telah membuat akses terbatas pada folder Anda, Anda dapat melakukan langkah-langkah berikut:

  1. Jelajahi hierarki folder untuk menghapus akses terbatas. Sebagai gantinya, Anda harus menyetel akses folder terbatas.

  2. Jika item yang Anda coba berhenti bagikan adalah file, Anda dapat membuat folder perantara, menyetel akses terbatas di folder tersebut, dan memindahkan file ke dalam folder baru.

  3. Jika Anda tidak ingin menggunakan folder dengan akses terbatas, tetapi harus menghapus beberapa akses, Anda dapat memindahkan file ke folder pribadi (seperti folder root Drive Saya). Kemudian, Anda dapat membuat pintasan ke lokasi asli item sehingga pengguna masih dapat menggunakannya.