Peran dan Izin

Bayangkan Anda menugaskan rekan kerja minji.kim@example.com ke Space toko pakaian online Anda. Anda ingin mempercayakan tugas mendaftarkan dan menyunting produk kepadanya, tetapi Anda ragu untuk mempercayakan tugas menghapus produk atau membukanya ke publik luar. Kumpulan izin yang menentukan "apa yang boleh dan tidak boleh dilakukan seorang anggota di dalam satu Space" seperti ini adalah SpaceRole.

SpaceRole bekerja dengan cara membuat kumpulan izin terlebih dahulu lalu menempelkannya ke anggota, alih-alih menetapkan izin satu per satu untuk setiap anggota. Misalnya, jika Anda membuat satu peran "yang hanya bisa membaca dan menyunting produk", Anda cukup menempelkan peran itu saja ke rekan kerja yang akan menangani pendaftaran produk. Meski jumlah anggota bertambah, Anda tidak perlu menetapkan izin dari awal setiap kali.

Pada halaman ini, Anda akan terlebih dahulu memahami apa itu SpaceRole dan izin apa saja yang dikandungnya, lalu membuat sendiri peran "Penanggung Jawab Pendaftaran Produk" di Space toko pakaian.

Peran Space berbeda dari peran Organization

WEEGLOO memiliki dua tempat untuk menentukan izin. Karena mudah membingungkan, mari kita batasi keduanya terlebih dahulu.

  • Peran Organization (Owner, Admin, Member) adalah tingkatan di seluruh perusahaan. Peran ini menentukan siapa yang boleh melakukan hal-hal yang mencakup seluruh Organization, seperti mengundang anggota atau membuat Space baru.
  • SpaceRole adalah izin di dalam satu Space tertentu. Peran ini menentukan sejauh mana seorang anggota boleh menangani konten, seperti masuk ke ruang kerja itu lalu membuat, menyunting, dan menerbitkan produk.

Rekan kerja yang sama pun bisa diberi SpaceRole yang berbeda di setiap Space. Misalnya, di Space toko online ia bisa menyunting produk, sementara di Space untuk pengumuman internal ia hanya bisa membaca. Halaman ini hanya membahas SpaceRole. Peran Organization serta pengundangan dan penugasan anggota dibahas di Organisasi dan Space.

Yang dikandung peran: terhadap apa, tindakan apa

Satu SpaceRole mengandung "terhadap objek apa, tindakan apa, akan diizinkan atau ditolak".

Pertama, ada empat jenis objek yang izinnya ditentukan. Tiga di antaranya berbagi kumpulan tindakan yang sama dan tercantum di bawah; yang keempat, Script, memiliki tindakan yang berbeda dan dibahas terpisah di bagian selanjutnya.

  • Content Type: kerangka formulir seperti produk atau pengumuman
  • Content: setiap produk yang dibuat dengan kerangka itu
  • Media: berkas seperti foto atau video yang diunggah

Tindakan yang bisa diizinkan atau ditolak untuk setiap objek adalah sebagai berikut.

Tindakan ditampilkan dalam bahasa Inggris di layar. Arti masing-masing tindakan adalah sebagai berikut.

Tindakan (tampilan layar)Apa yang dilakukan
ReadMelihat daftar dan isinya
CreateMembuat yang baru
EditMengubah dan menyimpan yang sudah ada
DeleteMenghapus
PublishMenerbitkan agar dibuka (dikirim) ke publik luar
UnpublishMenurunkan penerbitan untuk menghentikan pembukaan ke publik
ArchiveMemindahkan ke status arsip
UnarchiveMengembalikan dari arsip
All actionsMengizinkan semua tindakan di atas sekaligus

Dengan contoh toko pakaian, peran "Penanggung Jawab Pendaftaran Produk" diisi dengan memilih tindakan, misalnya untuk Content (produk) Read, Create, dan Edit diizinkan, sementara Delete dan Publish tidak dimasukkan. Dengan begitu, rekan kerja bisa membuat dan mengubah produk, tetapi tidak bisa menghapusnya atau membukanya ke publik luar.

Apa itu Publish dan bagaimana sesuatu yang diterbitkan dibuka (dikirim) ke publik luar dibahas secara rinci di Status dan penerbitan.

Izin dan penolakan

Di layar peran terdapat daftar Diizinkan dan daftar Ditolak secara terpisah. Caranya adalah dengan memasukkan tindakan yang ingin diizinkan satu baris demi satu baris ke dalam daftar Diizinkan. Yang penting, tindakan yang tidak dimasukkan ke daftar izin otomatis ditolak. Jadi, jika Anda hanya memasukkan tindakan yang ingin Anda berikan ke rekan kerja ke dalam daftar izin, sisanya akan terblokir tanpa perlu Anda blokir secara terpisah.

Daftar Ditolak adalah pengaman yang dipakai "ketika Anda ingin mengizinkan secara luas tetapi memblokir hanya bagian tertentu sebagai pengecualian". Jika satu tindakan terkena izin dan penolakan sekaligus, penolakan selalu diprioritaskan.

Mempersempit cakupan ke jenis tertentu atau orang tertentu

Saat mengizinkan suatu tindakan, Anda bisa mempersempit izin itu hanya ke satu jenis atau satu kondisi tertentu. Misalnya, penyempitan berikut ini dimungkinkan.

  • Hanya satu jenis: hanya berlaku untuk Content Type "Produk", dan tidak berlaku untuk Content Type lain.
  • Hanya yang dibuat sendiri: hanya membolehkan anggota itu menangani Content yang dibuatnya sendiri, dan mencegahnya menyentuh yang dibuat orang lain.
  • Hanya yang berlabel Tag tertentu: hanya berlaku untuk Content atau Media yang berlabel Tag yang ditetapkan.

Jika cakupannya tidak dipersempit secara khusus, tindakan itu berlaku untuk seluruh objek terkait. Misalnya, jika Anda mengizinkan pembacaan Content tanpa mempersempitnya, semua Content bisa dibaca; jika dipersempit ke Content Type "Produk", hanya produk yang bisa dibaca.

Apa itu Tag dibahas di Tag.

Izin eksekusi dan pengelolaan Script

Selain ketiga objek di atas, SpaceRole juga mengandung izin terhadap Script. Script adalah endpoint backend yang dipanggil frontend, yang dibuat tanpa kode server (lihat Script). Script memiliki tindakan Execute (menjalankan) yang tidak dimiliki Content dan Media.

  • Execute: Memungkinkan seseorang menjalankan (memanggil) Script itu. Frontend atau anggota yang mendaftar memerlukan izin ini untuk memanggil Script.
  • Read, Create, Edit, Delete: Izin pengelolaan untuk melihat, membuat, mengubah, dan menghapus Script.

Anda bisa mempersempitnya berdasarkan pembuat agar anggota menangani "hanya Script yang dibuatnya sendiri". Tidak ada tindakan penerbitan, karena Script bukan sumber daya yang diterbitkan. Kepada anggota yang mendaftar ke produk Anda (ServiceUser), biasanya hanya Execute yang dibuka, karena pembuatan, yaitu membuat dan mengubah Script, ditangani oleh pengguna studio konten.

Tab izin Script pada editor Role. Keadaan satu baris aturan dengan tindakan Execute, cakupan Semua Script, dan pembuat Semua pengguna dimasukkan ke daftar Diizinkan

Format persis aturan izin dibahas di referensi API SpaceRole dan ServiceUserRole.

Peran juga menentukan apakah pengaturan Space bisa diubah

Sampai di sini semuanya adalah izin untuk menangani konten dan Script. Sebuah peran memuat satu daftar lagi yang sifatnya berbeda. Daftar itu tentang apakah pengaturan Space bisa diubah.

Kembali ke contoh toko pakaian, Anda mungkin ingin mempercayakan pendaftaran produk kepada rekan kerja, tetapi tidak sampai mempercayakan penambahan Locale baru atau penerbitan token yang akan dipakai situs luar. Daftar inilah yang menentukan siapa yang boleh melakukan pekerjaan pengaturan Space seperti itu.

Berbeda dari izin sebelumnya, daftar ini tidak memiliki tindakan maupun penyempitan cakupan. Jika sebuah item dinyalakan, pengaturan itu bisa ditangani; jika tidak dinyalakan, tidak bisa. Anda mengaktifkan dan menonaktifkannya di tab Permission pada layar tempat Anda membuat atau mengubah Role. Mengaktifkan Semua Permission pengelolaan di bagian atas akan mengaktifkan semua item di bawahnya sekaligus, dan mengaktifkan setiap item satu per satu juga membuat sakelar ini tampak aktif. Item yang bisa dinyalakan adalah sebagai berikut.

ItemYang bisa dilakukan jika dinyalakan
Kelola info SpaceMengubah nama dan deskripsi Space
Kelola keanggotaanMemasukkan dan mengeluarkan anggota di Space ini, serta mengubah peran anggota
Kelola RoleMembuat dan mengubah peran, seperti yang dibuat di halaman ini
Kelola Delivery Access TokenMenerbitkan dan mengelola token hanya-baca
Kelola Space Access TokenMenerbitkan dan mengelola token yang membaca dan menulis
Kelola LocaleMenambahkan bahasa atau mengganti bahasa dasar
Kelola Email AccountMendaftarkan akun pengirim yang dipakai saat mengirim email
Kelola appMengambil App dari pasar lalu memasangnya
Kelola TagMembuat, mengubah, dan menghapus Tag
Kelola Web HostingMen-deploy situs dan menyambungkan domain
Kelola ServiceLoginMengatur login dan izin anggota yang mendaftar ke produk Anda
Kelola WebhookMembuat Webhook dan melihat riwayat pemanggilannya
Kelola SchedulerMembuat Scheduler dan melihat riwayat eksekusinya
Lihat pemantauanMelihat penyimpanan dan trafik yang telah dipakai Space ini

Perhatikan bahwa kedua jenis token ada sebagai item yang terpisah. Anda bisa mengizinkan penerbitan Delivery Access Token yang hanya-baca saja, sekaligus memblokir penerbitan Space Access Token yang membaca dan menulis. Pembagian seperti ini Anda pakai ketika ingin rekan kerja menerbitkan sendiri token baca yang akan dimasukkan ke situs publik, sedangkan token yang juga bisa menulis hanya dibuat oleh administrator.

Item Kelola Scheduler saja tidak cukup. Saat membuat atau mengubah Scheduler, Anda juga harus memiliki izin Execute pada Script yang akan dijalankannya (lihat Dengan izin siapa ia berjalan).

Jika Anda tidak menyalakan satu item pun, peran itu menjadi peran yang hanya menangani konten. Peran "Penanggung Jawab Pendaftaran Produk" yang akan kita buat di bawah adalah contohnya. Peran itu bisa mendaftarkan dan mengubah produk, tetapi tidak bisa menyentuh satu pun pengaturan Space.

Tab Permission pada layar pembuatan Role. Sakelar Semua Permission pengelolaan di bagian atas nonaktif, dan 14 item di bawahnya juga nonaktif

Peran Administrator yang menyertai saat Space dibuat

Saat Anda membuat Space baru, satu peran bernama Administrator otomatis ikut dibuat. Peran ini adalah peran dengan izin tertinggi yang bisa menangani segala sesuatu di dalam Space itu. Orang yang membuat Space memulai dengan memegang peran Administrator ini.

Peran Administrator adalah peran yang disediakan sistem sehingga tidak bisa disunting atau dihapus. Jika Anda ingin mempersempit izin lalu memberikannya ke rekan kerja, alih-alih mengubah Administrator, buatlah peran baru secara terpisah seperti di bawah ini lalu berikan.

Membuat peran "Penanggung Jawab Pendaftaran Produk"

Sekarang Anda akan membuat sendiri peran "Penanggung Jawab Pendaftaran Produk" untuk diberikan ke rekan kerja di Space toko pakaian. Peran ini akan dibuat agar bisa melakukan Read, Create, dan Edit pada produk (Content) tetapi tidak bisa menghapus atau menerbitkannya.

  1. Pada menu sebelah kiri, tekan Roles & Permissions.
  2. Tekan tombol Buat di kanan atas daftar.
  3. Pada kolom nama di tab Detail Role, masukkan Penanggung Jawab Pendaftaran Produk. Kolom deskripsi boleh dibiarkan kosong.

Tab Detail Role pada layar pembuatan Role. Keadaan nama telah diisi "Penanggung Jawab Pendaftaran Produk"

Berikutnya, tentukan tindakan apa yang boleh dilakukan peran ini terhadap produk (Content). Tindakan dimasukkan sebagai aturan satu baris demi satu baris ke dalam daftar Diizinkan, dan pada baris yang sama Anda juga memilih cakupan yang diberlakukan (Content Type).

  1. Pindah ke tab Content.
  2. Tekan + di bawah Diizinkan untuk menambahkan satu baris aturan.
  3. Pada baris itu, pilih tindakan menjadi Read, dan pilih Content Type yang diberlakukan menjadi "Produk". (Kolom pembuat dan Tag jika dibiarkan "Semua…" akan berlaku untuk seluruhnya.)
  4. Dengan cara yang sama, tambahkan juga aturan Create dan Edit masing-masing satu baris. Ketiga baris tetap menggunakan Content Type "Produk".
  5. Jangan masukkan penghapusan (Delete) dan penerbitan (Publish) ke daftar izin. Karena tindakan yang tidak dimasukkan ke daftar izin otomatis ditolak, rekan kerja tidak akan bisa menghapus produk atau membukanya ke publik luar.

Keadaan tiga aturan Read, Create, Edit diizinkan dengan dibatasi ke "Produk" pada tab izin Content

  1. Tekan tombol Simpan di kanan atas.

Jika Penanggung Jawab Pendaftaran Produk muncul di daftar, berarti peran telah berhasil dibuat. Peran ini terlihat bersama Administrator yang sudah ada sejak awal.

Layar yang menampilkan "Penanggung Jawab Pendaftaran Produk" dan "Administrator" bersama-sama di daftar Roles & Permissions

Memberikan peran yang dibuat ke rekan kerja

Membuat peran tidak berarti peran itu otomatis diterapkan ke seseorang. Peran yang dibuat harus ditempelkan ke anggota agar berlaku.

Saat menugaskan rekan kerja ke Space, Anda sekaligus memilih peran yang akan dipegangnya di dalam Space itu, dan di sinilah Anda bisa memilih Penanggung Jawab Pendaftaran Produk yang baru saja dibuat. Jika rekan kerja sudah berada di dalam Space, Anda juga bisa menerapkannya dengan mengubah peran rekan kerja itu dari daftar anggota. Anda juga bisa memberikan beberapa peran sekaligus kepada satu anggota. Dalam hal ini, tindakan yang diizinkan oleh masing-masing peran digabungkan semua, sehingga jika sebuah tindakan diizinkan oleh salah satu peran mana pun, anggota itu bisa melakukannya. (Penolakan diprioritaskan atas izin hanya di dalam peran yang sama. Meski sebuah tindakan ditolak di satu peran, jika peran lain mengizinkannya, tindakan itu tetap bisa dilakukan.)

Langkah-langkah konkret untuk menugaskan anggota ke Space dan memilih peran dibahas di Organisasi dan Space.

Hal yang dilakukan selanjutnya

  • Organisasi dan Space: menugaskan rekan kerja ke Space dan menempelkan peran yang baru saja dibuat.
  • Token: membahas token akses yang membuat bukan orang melainkan situs atau program luar bisa membaca atau menulis konten. Peran yang dibuat di sini juga ditempelkan ke token. Jika ditempelkan ke Delivery Access Token, peran menentukan cakupan baca token itu; jika ditempelkan ke Space Access Token, peran menentukan cakupan baca-tulisnya. Izin untuk menerbitkan dan mengelola dibagi terpisah untuk masing-masing token, sehingga pada daftar pengaturan Space di atas Anda bisa menyalakan hanya salah satunya.
  • Referensi API: membahas spesifikasi teknis seperti format permintaan yang diperlukan saat membuat peran atau menangani aturan izin langsung dari program.