Şirket sistemimizi mikro servis tabanlı bir sistemde yeniden düzenlemeyi planlıyoruz. Bu mikro hizmetler kendi şirket içi uygulamalarımız ve gerekirse 3. taraf iş ortakları tarafından kullanılacaktır. Biri rezervasyon, diğeri ürünler vb.
Rolleri ve kapsamları nasıl ele alacağımızdan emin değiliz. Buradaki fikir, Yöneticiler, Aracılar ve Son Kullanıcılar gibi 3 temel kullanıcı rolü oluşturmak ve tüketici uygulamalarının gerektiğinde kapsamları ince ayarlamasına izin vermektir.
- Yöneticiler varsayılan olarak tüm kaynakları (şirketleri için) oluşturabilir, güncelleyebilir, okuyabilir ve silebilir.
- Temsilciler şirketleri için veri oluşturabilir, güncelleyebilir ve okuyabilir.
- Son Kullanıcılar veri oluşturabilir, güncelleyebilir, silebilir ve okuyabilir, ancak aracılarla veya yöneticilerle aynı uç noktalara erişemez. Ayrıca aracılar veya yöneticilerle aynı düzeyde değil, veri oluşturabilir veya değiştirebilirler. Örneğin, son kullanıcılar hesap bilgilerini güncelleyebilir veya okuyabilir, aynı aracılar onlar için yapabilir, ancak yönetici notlarını göremez veya güncelleyemez.
Temsilcilerin varsayılan olarak şirketleri için her kaynağı oluşturabildiğini, okuyabildiğini ve güncelleyebildiğini ve belirteçleri / oturumları için talep edilebilecek maksimum kapsamları olduğunu, ancak müşteri (API tüketicisi) uygulaması geliştiricilerinin temsilcilerinden birinin yalnızca belirli kaynakları okuyup oluşturun.
Bunu iç güvenliğimizde ele almak ve bu verileri veri tabanımıza yazmasına izin vermek veya istemcilerin daha az kapsamlı bir jeton isteyerek dahili olarak işlemesine izin vermek ve hangi aracısının veritabanında hangi kapsama sahip olacağını yazmalarına izin vermek daha iyi bir uygulamadır. ? Bu şekilde sadece jeton kapsamlarını izlememiz gerekir.
Bunun dezavantajı, ekibimizin dahili uygulamalarımızda ince ayarlı erişim mekanizmaları oluşturması gerektiğidir.
Bu düşünme şekli ile, mikro hizmetler ve yetkilendirme sistemi müşterilerin ihtiyaçları ile uğraşmamalıdır, çünkü bunlar sadece tüketicidir ve sistemin bir parçası değildir (bu tüketicilerin bazıları kendi dahili uygulamalarımız olsa da)?
Bu heyet iyi bir yaklaşım mı?
payment:[read]
, satıcı varpayment: [create]
. Bu durumda izinleri topluyor musunuz?