ποΈ Awalan
Concepts. Architecture. Best Practices.
ποΈ Pengantar Authorization Academy
Authorization Academy adalah serangkaian panduan teknis yang menjelaskan bagaimana cara membangun otorisasi ke dalam sebuah aplikasi, mencakup arsitektur, pola pemodelan, penegakan aturan, pengujian, integrasi pada level antarmuka pengguna, dan masih banyak lagi. Setelah menyelesaikan kursus ini, Anda akan memiliki model mental mengenai cara kerja otorisasi serta alat untuk mengintegrasikannya ke dalam aplikasi Anda sendiri.
ποΈ Apa itu Otorisasi?
Otorisasi adalah mekanisme untuk mengendalikan siapa yang dapat melakukan apa di dalam sebuah aplikasi. Ini adalah cara untuk memastikan bahwa pengguna hanya memiliki akses ke data milik mereka sendiri, dan tidak diizinkan untuk melihat data yang bukan milik mereka. Terdapat serangkaian pola arsitektur otorisasi yang umum dan dapat diterapkan pada berbagai arsitektur aplikasi β dengan mengetahui pola-pola tersebut, penulisan kode otorisasi akan menjadi jauh lebih mudah. Panduan ini akan mengajarkan pola-pola tersebut.
ποΈ Role-Based Access Control (RBAC)
Otorisasi berbasis peran, atau Role-Based Access Control (RBAC), berarti mengelompokkan hak akses ke dalam peran, seperti "User" atau "Admin," dan menetapkan peran-peran tersebut kepada pengguna. Ini adalah cara yang umum dan efektif untuk menyusun kode otorisasi Anda. Struktur ini membuat pemahaman tentang siapa yang memiliki akses ke resource apa menjadi lebih mudah, baik bagi para pengembang maupun bagi pengguna.
ποΈ Kontrol Akses Berdasarkan Hubungan (ReBAC)
Otorisasi berbasis hubungan, atau ReBAC, berarti menyusun hak akses berdasarkan hubungan antar resource. Hubungan-hubungan ini dapat meliputi:
ποΈ Penegakan Otorisasi
Penegakan otorisasi adalah proses untuk meminta keputusan otorisasi dan bertindak berdasarkan hasilnya. Setelah Anda mengetahui apakah seorang pengguna seharusnya diizinkan atau ditolak untuk mengakses suatu resource, Anda perlu mengimplementasikan aturan akses tersebut. Anda juga harus menentukan di mana penegakan ini ditempatkan, dan panduan ini akan menunjukkan cara menentukan hal tersebut.
ποΈ Otorisasi dalam Microservices
Saat Anda berpindah dari monolit ke arsitektur berbasis layanan (service-oriented architecture), Anda perlu mendesain otorisasi Anda dengan tepat. Anda harus berbagi data otorisasi antar layanan, dan ada banyak cara untuk melakukannya. Setiap keputusan desain dan arsitektur memiliki trade-off yang perlu Anda pahami. Di panduan ini, kami akan menunjukkan setiap pilihan tersebut beserta trade-off-nya, serta menyediakan heuristik yang dapat membantu Anda membuat keputusan tentang arsitektur layanan Anda.