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 yang membatasi 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 memiliki akses ke item dalam folder tersebut, memiliki "akses terbatas". Hal ini menciptakan situasi yang sulit 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 yang 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 secara langsung ke izin 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 yang dibatasi di Drive, tetapi tidak dapat membukanya. Fitur ini lebih menyesuaikan perilaku berbagi item di Drive Saya dan drive bersama, sehingga Anda dapat mengatur folder dengan 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 peran dan izin lebih lanjut, 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 kolom boolean writersCanShare di resource files yang ditetapkan 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 di folder

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

Untuk 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 menetapkan 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 adalah folder dengan jenis MIME application/vnd.google-apps.folder dan kolom capabilities.canListChildren ditetapkan ke salah. Jika Anda mencoba mencantumkan turunan folder tersebut, hasilnya akan selalu kosong.

Mengakses folder dengan metadata 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 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 dimiliki view. Untuk informasi selengkapnya, lihat Tampilan.

Semua entri di kolom permissionDetails memiliki kolom inherited yang ditetapkan ke true untuk menunjukkan bahwa izin diwarisi 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 menjadi inheritedPermissionsDisabled=true dengan kolom view sebagai 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() pada 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 berisi folder dengan akses terbatas. Jika peran fileOrganizer menghapus hierarki yang berisi folder dengan akses terbatas, hasilnya bergantung pada apakah folder tersebut ditambahkan kembali sebagai fileOrganizer di folder dengan akses terbatas. Jika ada, seluruh hierarki akan dihapus. Jika tidak, folder dengan akses terbatas akan dipindahkan ke folder root drive bersama.

Tentang akses yang luas

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 setidaknya memiliki 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. Hal ini juga berarti bahwa kecuali folder Anda memiliki akses terbatas, Anda tidak dapat lagi menghapus akses yang diwarisi dari folder induk. Tindakan ini berarti Drive API menampilkan respons error. Untuk menentukan kontrol akses yang lebih terperinci dalam hierarki, Anda dapat menetapkan akses terbatas pada folder.

Beradaptasi dengan akses yang luas

Untuk memudahkan developer beradaptasi dengan akses yang luas, beberapa peningkatan dilakukan pada Google Drive API:

  1. Kolom permissionDetails[] pada resource permissions kini diisi untuk item di Drive Saya. Sebelumnya, kolom tidak ditetapkan 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 begitu, Anda dapat mendeteksi apakah peran tertentu (seperti reader) diwarisi dari induk, dan apakah peran yang lebih tinggi (seperti writer) diberikan pada item secara langsung.

    Saat melihat izin untuk 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 yang luas di Drive Saya sebelum penerapan wajib di masa mendatang. Anda dapat menetapkan parameter permintaan enforceExpansiveAccess ke true sehingga perubahan mendatang pada akses yang luas tidak memengaruhi aplikasi Anda.

    Memilih ikut serta sekarang berarti API beroperasi dengan cara yang sama untuk item di Drive Saya seperti yang sudah dilakukan untuk item di drive bersama. Misalnya, upaya apa pun untuk membatasi akses di bawah peran yang diwarisi akan gagal saat memanggil permissions.update(). Demikian pula, panggilan ke permissions.delete() akan gagal jika izin diwarisi.

Mendeteksi dan mencegah akses terbatas

Aplikasi Anda mungkin membuat akses terbatas (saat pengguna memiliki akses ke folder Drive Saya induk, 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 di 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 di folder, Anda dapat melakukan langkah-langkah berikut:

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

  2. Jika item yang Anda coba batalkan berbaginya adalah file, Anda dapat membuat folder perantara, menetapkan akses terbatas di dalamnya, dan memindahkan file ke dalam folder baru.

  3. Jika 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.