Uygulamalarda kullanıcı erişimini yönetmek, her geliştirici için her zaman bir baş ağrısı olmuştur. Politikaları uygulamak ve uygulamak oldukça karmaşık ve çok zaman alıcı olabilir. Bir uygulama için bir homebrew yetkilendirme çözümü geliştirilmiş olsa bile, er ya da geç, izin sisteminin ölçeklendirilmesinde sorunlar çıkacaktır. Daha fazla rolün oluşturulması gerekecek ve daha fazla kaynak ve eylemin uygulanması gerekecek ve bu nedenle, “Jira biletlerini” tamamlamak için geliştiricilere daha fazla zaman gerekecek.
Bir pano, birçok özellik
Permit.io, Tam Yığın Uygulama Düzeyinde Yetkilendirme çözümüdür. Permit, bu karmaşık sistemi kendi başınıza oluşturmak yerine, tüm yetkilendirme ihtiyaçlarınız için size tak ve çalıştır, kullanıma hazır bir çözüm sunar. Kodsuz kontrol panelimiz, kullanıcılarınızı ve rollerini yönetmenize, politikalar oluşturmanıza ve denetim günlüklerini kontrol etmenize olanak tanır. Ayrıca, tamamen özelleştirilebilir olan ve yinelenen Yetkilendirme için Yetkilendirme kavramının üstesinden gelen, önceden oluşturulmuş gömülebilir UI bileşenlerimizi kullanarak son müşterilerinize güvenli erişim yetkisi vermenize olanak tanır.
İzin nesne modeli
Permit nesne modelinin kökünde çalışma alanınız veya başka bir deyişle kuruluşunuz yer alır. Çalışma alanınızda birden çok projeniz olabilir ve her proje, her biri kendi ilke ve rol grubuna sahip birden çok ortama sahip olabilir.
Proje ve ortamlar
Projeler, yetkilendirmeniz için en yüksek kapsülleme düzeyidir. Kendi ilkelerini ve rollerini gerektiren her benzersiz hizmet veya uygulama bir projedir. Ek olarak, her proje birden çok ortamı destekleyebilir – farklı dağıtımlar veya yapılandırmalar için farklı ilkelere izin verir.
Politika Düzenleyici
İyi yetkilendirme politikaları yazmak ve sürdürmek zordur. Permit’in sağladığı diğer bir özellik, kullanımı son derece basit bir İlke Düzenleyicisidir. Genel olarak ilkeleri yazmak zordur, özellikle de hepsini Rego kodunda yapmanız gerekiyorsa – birçok şirket tarafından kullanılan ortak bir ilke motoru olan OPA (Open Policy Agent) tarafından kullanılan bir ilke dili.
İlke düzenleyiciyi, karmaşık kodlarla uğraşma zahmetini ortadan kaldıracak şekilde tasarladık ve hem acemi hem de deneyimli kullanıcıların kodsuz veya az kodlu arayüzlerle yetkilendirme ilkelerini kolaylıkla oluşturmasına ve düzenlemesine olanak tanıyan bir kullanıcı arabirimi çözümü sunuyoruz. Permit.io, bu güçlü yetkilendirme motorunun gücünü basit bir web arayüzünün kullanım kolaylığı ile birleştirir.
İlke düzenleyici, RBAC ve ABAC dahil olmak üzere birden çok türde yetkilendirme modeli oluşturmanıza olanak tanır. Rol tabanlı erişim kontrolü (RBAC), uygulanması en basit politikadır. Bir rol, kaynak ve kaynak üzerinde gerçekleştirdiğiniz eylemden oluşur. RBAC, belirli kullanıcıların ihtiyaçlarını analiz etmemize ve onları ortak sorumluluklara dayalı rollerde gruplandırmamıza olanak tanır.
İlke oluşturma ile çalışmaya başladığınızda, RBAC’ın size ihtiyacınız olan ayrıntı düzeyini vermeyebileceğini hemen anlayacaksınız. Öznitelik tabanlı erişim denetiminin (ABAC) devreye girdiği yer burasıdır.
Bir ABAC politikasını oluşturan nedir?
Nitelik tabanlı erişim kontrolü, erişimi belirlemek için roller yerine nitelikleri (veya özellikleri) değerlendiren bir yetkilendirme modelidir. ABAC’ın amacı, diğer kullanıcıların – bir kuruluşun güvenlik politikaları tarafından tanımlandığı şekliyle “onaylanmış” özelliklere sahip olmayan – yetkisiz eylemlerden korunması için kullanıcıların daha karmaşık erişim denetimi kuralları tanımlamasına izin vermektir.
Kullanıcı setlerini, kaynak setlerini tanımlayabildiğimiz ve bunları basit bir ilke tablosunda yönetebildiğimiz bu basitleştirilmiş düşük kodlu ABAC yaklaşımının patenti Permit tarafından alınmıştır.
Kullanıcı grupları
Kullanıcı grupları, önceden tanımlanmış öznitelik tabanlı koşullara uyan kullanıcı gruplarıdır. Bunlar, bireysel kullanıcı özelliklerine dayalı koşullardır.
Kaynak kümeleri
Kaynak Kümeleri, önceden tanımlanmış öznitelik tabanlı koşullara uyan kaynak gruplarıdır. Bunlar, bir kaynağın bulunduğu ortama (örn. zaman ve konum) dayalı koşullardır.
Kullanıcı yönetimi
Kullanıcılar hem insanları hem de otomatik varlıkları temsil edebilir. Kullanıcılar kiracılara atanır (her kullanıcı birden fazla kiracıya ait olabilir) ve ardından roller ve izinler atanabilir. Kullanıcıya verilen roller ve izinler, o kullanıcı için uygulamanızda hangi işlemlere izin verileceğini veya reddedileceğini belirler.
Kiracılar ve çoklu kiracılık
Kiracı, ortak bir kurumsal kimliği paylaşan bir kullanıcı ve kaynak deposudur. Genellikle her kiracı, ürününüzdeki son müşteri şirketlerinden birini temsil eder (örneğin, satış yaptığınız şirket). Kiracı özelliğiyle, kutudan çıkar çıkmaz çoklu kiracılığa sahip olmanızı sağlıyoruz.
Temelde çoklu kiracılık, hizmetin her bölümünün (yani her mikro hizmetin), her biri için ayrı örnekler dağıtmadan birden çok müşteriye hizmet vermesine olanak tanır. Çoğu modern uygulama, özellikle mikro hizmet tabanlı olanlar, bir dereceye kadar çoklu kiracılık gerektirir.
Denetim günlükleri
Uygulamanızda kimin ne yaptığını bilmek, güvenlik, uyumluluk, hata ayıklama ve hatta sadece eski izleme dahil olmak üzere birçok nedenden dolayı kritik öneme sahiptir. Denetim Günlükleri, kimin neyi, ne zaman yaptığını ve neden bunu yapmak için izinleri olduğunu izlemenin harika bir yoludur. Hem siz hem de uygulamanızın bakımını üstlenen ekibiniz için, aynı zamanda uygulama içinde kendi kullanımlarını ve eylemlerini takip etmek isteyen son kullanıcılarınız için yararlı bir araçtır.
İzin öğeleri
İzin Elemanları, tamamen işlevsel erişim kontrolü sağlayan ve bunları son kullanıcılarınıza güvenli bir şekilde devretmenize izin veren önceden oluşturulmuş ve gömülebilir UI bileşenleri kümesidir.
Permit, Kullanıcı Yönetimi, Denetim Günlükleri, Onay Akışları, API Anahtar Yönetimi, Acil Durum Erişimi gibi birçok kullanıma hazır yetkilendirme öğesi sağlar – liste uzayıp gider. Aşağıda, Kullanıcı Yönetimi canlı yapılandırması ve ön izleme görünümü örneği bulunmaktadır.
Yetkilendirmeyi sisteminizde uygulamayı düşünüyorsanız veya daha sürdürülebilir olması için güncellenmesi gerektiğini düşündüğünüz bir homebrew çözümünüz varsa, www.permit.io adresini ziyaret ederek nasıl yardımcı olabileceğimiz hakkında daha fazla bilgi edinin.