Langsung ke konten utama
Dokumen ini menjelaskan cara mengubah izin dokumen, file, atau folder di Knowledge Base.

Ikhtisar

Dokumen ini menjelaskan cara mengubah izin dokumen, file, atau folder di Knowledge Base, termasuk:
  • Menambah izin — Memberikan pengguna akses ke file atau folder.
  • Menghapus izin — Mencabut akses pengguna ke file atau folder.
  • Mengubah izin — Mengubah peran izin pengguna pada file atau folder.
  • Mengatur mode pewarisan izin — Mengontrol apakah file atau folder mewarisi izin dari node induknya.
  • Mendapatkan mode pewarisan izin — Menanyakan mode pewarisan izin saat ini pada file atau folder.
Konsep inti: Semua operasi izin didasarkan pada dentryUuid file (pengenal file yang unik). Operator harus memiliki kemampuan pengelolaan izin pada file target.

Ikhtisar izin

Berikut menjelaskan berbagai tipe pengguna dan peran izin, beserta kemampuan yang diberikan oleh setiap peran.

Peran izin (roleId)

Saat mengubah izin, Anda harus menentukan peran izin:

Tipe anggota (members.type)

Implementasi: Menambah izin

Panggil API POST /v2.0/storage/spaces/dentries/{dentryUuid}/permissions untuk memberikan anggota tertentu akses ke file atau folder.
Untuk detail API, lihat dokumen Menambah izin. Untuk cara memanggil API, lihat dokumentasi tentang memanggil Server API.

Parameter wajib

  • dentryUuid (Path): Pengenal unik dari file atau folder target. Dapatkan melalui API Pencarian File.
  • unionId (Query): unionId operator. Dapatkan dengan memanggil API Menanyakan detail pengguna.
  • roleId (Body): Peran izin yang diberikan, misalnya EDITOR.
  • members (Body): Daftar anggota yang akan diberi otorisasi. Untuk setiap anggota, tentukan type (tipe anggota) dan id (ID anggota).
Contoh HTTP:

Implementasi: Mengubah izin

Panggil API PUT /v2.0/storage/spaces/dentries/{dentryUuid}/permissions untuk mengubah peran izin anggota tertentu menjadi peran baru. Batasan penting saat menurunkan izin: Jika izin anggota saat ini diwarisi dari node induk, dan peran yang diwarisi lebih tinggi daripada peran target yang ingin Anda tetapkan, maka perubahan tidak akan berlaku.
  • Contoh: Jika folder induk memberikan izin EDITOR kepada pengguna, mengubah pengguna menjadi READER pada subfolder akan gagal karena izin EDITOR yang diwarisi masih berlaku.
  • Solusi: Pertama, panggil API Mengatur mode pewarisan izin pada file atau folder, atur mode pewarisan ke BREAK untuk menghentikan pewarisan izin induk, lalu ubah izinnya.
Untuk detail API, lihat dokumen Mengubah izin. Untuk cara memanggil API, lihat dokumentasi tentang memanggil Server API.

Parameter wajib

  • dentryUuid (Path): Pengenal unik dari file atau folder target. Dapatkan melalui API Pencarian File.
  • unionId (Query): unionId operator. Dapatkan dengan memanggil API Menanyakan detail pengguna.
  • roleId (Body): Peran izin target setelah perubahan (misalnya, mengubah dari EDITOR menjadi READER).
  • members (Body): Daftar anggota yang izinnya akan diubah.
Contoh HTTP:

Implementasi: Menghapus izin

Panggil API POST /v2.0/storage/spaces/dentries/{dentryUuid}/permissions/remove untuk menghapus akses anggota tertentu ke file atau folder.
Untuk detail API, lihat dokumen Menghapus izin. Untuk cara memanggil API, lihat dokumentasi tentang memanggil Server API.

Parameter wajib

  • dentryUuid (Path): Pengenal unik dari file atau folder target. Dapatkan melalui API Pencarian File.
  • unionId (Query): unionId operator. Dapatkan dengan memanggil API Menanyakan detail pengguna.
  • roleId (Body): Peran izin yang akan dihapus (harus sesuai dengan peran yang saat ini dimiliki anggota).
  • members (Body): Daftar anggota yang izinnya akan dihapus.
Contoh HTTP:

Implementasi: Mengatur mode pewarisan izin

Panggil API PUT /v2.0/storage/spaces/dentries/{dentryUuid}/permissions/inheritances untuk mengontrol apakah file atau folder mewarisi izin dari node induknya.

Dua mode pewarisan

  • PASS_ON (Teruskan): Node saat ini mewarisi semua izin dari node induknya. Untuk anggota yang sama, peran tertinggi yang berlaku. (Mode default)
  • BREAK (Putus): Pewarisan izin diputus pada node saat ini, dan node tidak lagi mewarisi izin induk. Gunakan mode ini saat Anda memerlukan izin independen pada suatu node.

Catatan

  • Mode BREAK tidak dapat diterapkan pada peran OWNER atau MANAGER.
  • Untuk detail API, lihat dokumen Mengatur mode pewarisan izin. Untuk cara memanggil API, lihat dokumentasi tentang memanggil Server API.

Parameter wajib

  • dentryUuid (Path): Pengenal unik dari file atau folder target. Dapatkan melalui API Pencarian File.
  • unionId (Query): unionId operator. Dapatkan dengan memanggil API Menanyakan detail pengguna.
  • inheritance (Body): Mode pewarisan, baik PASS_ON maupun BREAK.
Contoh HTTP:

Implementasi: Mendapatkan mode pewarisan izin

Panggil API GET /v2.0/storage/spaces/dentries/{dentryUuid}/permissions/inheritances untuk menanyakan mode pewarisan izin saat ini pada file atau folder.

Catatan

  • API mengembalikan bidang inheritance, dengan nilai PASS_ON (Teruskan) atau BREAK (Putus).
  • Untuk detail API, lihat dokumen Mendapatkan mode pewarisan izin. Untuk cara memanggil API, lihat dokumentasi tentang memanggil Server API.

Parameter wajib

Contoh HTTP:

Skenario umum dan langkahnya

Skenario 1: Memberikan izin edit pada file kepada pengguna

  1. Panggil API Pencarian File untuk mendapatkan dentryUuid dari file target.
  2. Panggil API Menanyakan detail pengguna untuk mendapatkan userId pengguna target dan unionId operator.
  3. Panggil API Menambah izin dengan roleId = "EDITOR", members[0].type = "USER", dan members[0].id = userId pengguna target.

Skenario 2: Menurunkan izin pengguna dari Editor menjadi Hanya Baca

  1. Panggil API Pencarian File untuk mendapatkan dentryUuid dari file target.
  2. Panggil API Menanyakan detail pengguna untuk mendapatkan userId pengguna target.
  3. Panggil API Mengubah izin dengan roleId = "READER", dan tentukan pengguna target di members.

Skenario 3: Menghapus semua izin pengguna pada suatu file

  1. Panggil API Pencarian File untuk mendapatkan dentryUuid dari file target.
  2. Panggil API Menanyakan detail pengguna untuk mendapatkan userId pengguna target.
  3. Panggil API Menghapus izin dengan roleId diatur ke peran izin yang saat ini dimiliki pengguna, dan tentukan pengguna target di members.

Skenario 4: Mengatur izin independen untuk subfolder (tanpa mewarisi dari folder induk)

  1. Panggil API Pencarian File untuk mendapatkan dentryUuid dari subfolder.
  2. Panggil API Mengatur mode pewarisan izin dengan inheritance = "BREAK" untuk memutus pewarisan izin.
  3. Panggil API Menambah izin untuk mengonfigurasi anggota dan peran izin yang diperlukan untuk folder secara independen.

Catatan

  • Operator (unionId) harus memiliki kemampuan pengelolaan izin pada file target. Jika tidak, error Izin tidak memadai akan dikembalikan.
  • Saat menghapus izin, roleId harus sesuai dengan peran izin yang saat ini dimiliki anggota. Jika tidak, operasi akan menjadi tidak valid.
  • Pewarisan peran OWNER dan MANAGER tidak dapat diputus menggunakan mode BREAK.
  • Daftar members mendukung hingga 30 anggota per panggilan. Untuk anggota yang lebih banyak, kirim permintaan secara bertahap.
  • Saat ini, semua API izin hanya didukung oleh aplikasi internal. Aplikasi pihak ketiga tidak didukung.