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 |
|---|---|
| Read | Melihat daftar dan isinya |
| Create | Membuat yang baru |
| Edit | Mengubah dan menyimpan yang sudah ada |
| Delete | Menghapus |
| Publish | Menerbitkan agar dibuka (dikirim) ke publik luar |
| Unpublish | Menurunkan penerbitan untuk menghentikan pembukaan ke publik |
| Archive | Memindahkan ke status arsip |
| Unarchive | Mengembalikan dari arsip |
| All actions | Mengizinkan 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.

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.
| Item | Yang bisa dilakukan jika dinyalakan |
|---|---|
| Kelola info Space | Mengubah nama dan deskripsi Space |
| Kelola keanggotaan | Memasukkan dan mengeluarkan anggota di Space ini, serta mengubah peran anggota |
| Kelola Role | Membuat dan mengubah peran, seperti yang dibuat di halaman ini |
| Kelola Delivery Access Token | Menerbitkan dan mengelola token hanya-baca |
| Kelola Space Access Token | Menerbitkan dan mengelola token yang membaca dan menulis |
| Kelola Locale | Menambahkan bahasa atau mengganti bahasa dasar |
| Kelola Email Account | Mendaftarkan akun pengirim yang dipakai saat mengirim email |
| Kelola app | Mengambil App dari pasar lalu memasangnya |
| Kelola Tag | Membuat, mengubah, dan menghapus Tag |
| Kelola Web Hosting | Men-deploy situs dan menyambungkan domain |
| Kelola ServiceLogin | Mengatur login dan izin anggota yang mendaftar ke produk Anda |
| Kelola Webhook | Membuat Webhook dan melihat riwayat pemanggilannya |
| Kelola Scheduler | Membuat Scheduler dan melihat riwayat eksekusinya |
| Lihat pemantauan | Melihat 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.

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.
- Pada menu sebelah kiri, tekan Roles & Permissions.
- Tekan tombol Buat di kanan atas daftar.
- Pada kolom nama di tab Detail Role, masukkan
Penanggung Jawab Pendaftaran Produk. Kolom deskripsi boleh dibiarkan kosong.

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).
- Pindah ke tab Content.
- Tekan + di bawah Diizinkan untuk menambahkan satu baris aturan.
- 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.)
- Dengan cara yang sama, tambahkan juga aturan Create dan Edit masing-masing satu baris. Ketiga baris tetap menggunakan Content Type "Produk".
- 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.

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

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.
