Kami berencana untuk memperbaiki sistem perusahaan kami menjadi sistem berbasis layanan mikro. Layanan mikro ini akan digunakan oleh aplikasi internal perusahaan kami sendiri dan oleh mitra pihak ketiga jika diperlukan. Satu untuk pemesanan, satu untuk produk dll.
Kami tidak yakin bagaimana menangani peran dan cakupan. Idenya adalah untuk membuat 3 peran pengguna dasar seperti Admin, Agen dan Pengguna Akhir dan membiarkan aplikasi konsumen untuk menyempurnakan cakupan jika diperlukan.
- Admin dapat membuat, memperbarui, membaca, dan menghapus semua sumber daya secara default (untuk perusahaan mereka).
- Agen dapat membuat, memperbarui, dan membaca data untuk perusahaan mereka.
- Pengguna Akhir dapat membuat, memperbarui, menghapus dan membaca data, tetapi tidak dapat mengakses titik akhir yang sama dengan agen atau admin. Mereka juga akan dapat membuat atau memodifikasi data, hanya saja tidak setingkat agen atau admin. Misalnya, pengguna akhir dapat memperbarui atau membaca info akun mereka, sama seperti agen akan dapat melakukannya untuk mereka, tetapi mereka tidak dapat melihat atau memperbarui catatan admin.
Katakanlah agen secara default dapat membuat, membaca, dan memperbarui setiap sumber daya untuk perusahaan mereka dan itu adalah ruang lingkup maksimum mereka yang dapat diminta untuk token / sesi mereka, tetapi pengembang aplikasi klien (pengguna API) telah memutuskan bahwa salah satu agen mereka dapat baca dan buat hanya sumber daya tertentu.
Apakah ini praktik yang lebih baik untuk menangani ini dalam keamanan internal kami, dan biarkan mereka menulis data itu di basis data kami, atau biarkan klien menanganinya secara internal dengan meminta token dengan cakupan yang lebih rendah, dan biarkan mereka menulis agen mana yang akan memiliki ruang lingkup di basis data mereka ? Dengan cara ini kita hanya perlu melacak token scope.
Kelemahan dari ini, adalah bahwa tim kami juga perlu membuat mekanisme akses yang disempurnakan dalam aplikasi internal kami.
Dengan cara berpikir seperti ini, layanan mikro dan sistem otorisasi mereka tidak boleh diganggu dengan kebutuhan klien, karena mereka hanya konsumen dan bukan bagian dari sistem (meskipun beberapa konsumen tersebut adalah aplikasi internal kita sendiri)?
Apakah delegasi ini pendekatan yang baik?
payment:[read]
, penjual punyapayment: [create]
. Apakah Anda mengumpulkan izin dalam hal ini?