Kuruluş ve Rol Tabanlı Erişim Kontrolü: Ürününüz İçin Yetkilendirme Modelinizi Nasıl Tasarlarsınız?
Bu makale, kuruluş ve rol tabanlı erişim kontrolü için bir yetkilendirme modelinin nasıl tasarlanacağına dair detaylı bir kılavuz sunar ve Logto platformunda farklı yetkilendirme modelleri için en iyi uygulamaları önerir.
Kuruluş nedir
Kuruluş tanımı
Kuruluş, kullanıcıların (kimliklerin) bir grubudur ve uygulamanıza erişebilen ekipleri, iş müşterilerini ve ortak şirketleri temsil edebilir.
Kuruluş, özellikle işten-işe (B2B) ortamlarında etkilidir. Bireysel tüketicilerin aksine, iş müşterileri genellikle bir kişiden ziyade ekiplerden, kuruluşlardan veya bütün şirketlerden oluşur. Kuruluşu bir varlık olarak tanıtmak önemlidir çünkü bu sadece kullanıcıları bir araya getirmekle kalmaz, aynı zamanda çok kiracılı uygulamalarda kiracı izolasyonu için bir bağlam sağlar.
Kuruluş kullanım durumları
Bu temel unsur ile artık B2B ürünleriniz için olmazsa olmaz özellikleri oluşturabilirsiniz:
- Müşterilerin verilerini ve kaynaklarını izole etmek için çok kiracılı bir mimari inşa edin.
- Uygulama erişim seviyeleri, kuruluş üyelerine atanan rollerle tanımlanır.
- Üyelerin davet ve hızlı bir şekilde temin edilmesi.
- Kuruluşlar, tek oturum açma (SSO) kimlik doğrulama deneyimine sahip olabilir.
Rol tabanlı erişim kontrolü nedir?
Rol tabanlı erişim kontrolü tanımı
Rol Tabanlı Erişim Kontrolü (RBAC), kullanıcılara rollerine göre izin atama yöntemidir. Rol tabanlı erişim kontrolü, roller ve ayrıcalıklar etrafında tanımlanan bir politika nötr erişim kontrol mekanizmasıdır. RBAC'nin rol izinleri, kullanıcı-rolü ve rol-rol ilişkileri gibi bileşenleri, kullanıcı atamalarını gerçekleştirmeyi basit hale getirir. NIST tarafından yapılan bir çalışma, RBAC'nin ticari ve kamu kuruluşlarının birçok ihtiyacını karşıladığını göstermiştir.
Rol tabanlı erişim kontrolü kullanım durumları
Daha önce, RBAC'yi iş gereksinimlerinizi karşılamak için nasıl kullanabileceğiniz konusunda birkaç kılavuz geliştirdik. Hızlı bir şekilde başlamak için bu kolay takip edilebilir öğreticilere göz atın.
🔐 Rol Tabanlı Erişim Kontrolü (RBAC) | Logto Dokümanları
Logto'da en iyi uygulama için farklı yetkilendirme modellerini kullanma
Rol tabanlı erişim kontrolü ve kuruluş, Logto'nun yetkilendirme özelliklerinin ana bileşenleridir. Logto, geliştiriciler ve işletmeler için çeşitli ürün mimarilerine hitap eden çeşitli senaryolar ve katmanlar için özelleştirilmiş çözümler sunan kapsamlı bir kimlik yönetim platformudur.
API rol tabanlı erişim kontrolü
Örgütlere özgü olmayan ve bağlam kısıtlamaları gerektirmeyen genel API kaynaklarını korumak için API RBAC özelliği idealdir.
Sadece API'yi kaydedin ve her kaynağa izinler atayın. Daha sonra, roller ve kullanıcılar arasındaki ilişki üzerinden erişimi kontrol edin.
Buradaki API kaynakları, roller ve izinler, birleşik bir kimlik sistemi altında “demokratikleşmiştir”. Bu, B2C ürünlerinde daha yaygın bir durumdur; daha az hiyerarşik yapı vardır ve çok derin veri izolasyonu gerektirmez.
Kuruluş rol tabanlı erişim kontrolü
B2B ve çok kiracılı ortamlarda, kiracı izolasyonu gereklidir. Bunu başarmak için, örgütler izolasyon için bir bağlam olarak kullanılır: RBAC, yalnızca bir kullanıcı belirli bir kuruluşa ait olduğunda etkili olur.
Kuruluş RBAC, erişimi API seviyesinden ziyade kuruluş seviyesinde kontrol etmeye odaklanır. Bu, birleşik bir kimlik sistemi içinde ama uzun vadede kuruluş seviyesinde kendi kendini yönetme için önemli bir esneklik sağlar.
Kuruluş RBAC'nin kilit bir özelliği, roller ve izinlerin varsayılan olarak tüm kuruluşlar arasında genellikle aynı olmasıdır; bu da Logto'nun “kuruluş şablonunun” geliştirme verimliliğini artırmada son derece anlamlı olmasını sağlar.
Bu, çok kiracılı uygulamaların ortak felsefesiyle uyumludur: erişim kontrol politikaları ve kimlikler, tüm kiracılar (uygulama kiracıları) arasında ortak altyapı bileşenleridir; bu, SaaS ürünlerinde yaygın bir uygulamadır.
Uygun yetkilendirme modelini seçme ve tasarlama
Doğru yetkilendirme modelini seçerken, aşağıdaki soruları göz önünde bulundurun:
- B2C, B2B veya her ikisinin kombinasyonu türünde ürünler mi geliştiriyorsunuz? Kimlikler iş kimlikleri olarak mı kabul ediliyor?
- Uygulamanız çok kiracılı bir mimariye ihtiyaç duyuyor mu?
- İş birimi tarafından belirlenen belli bir düzeyde izolasyona ihtiyaç var mı?
- Kuruluş bağlamında tanımlanması gereken izinler ve roller nelerdir ve hangileri değildir?
B2C uygulaması
Bir web uygulaması örneği kullanalım: BookHarber, bir çevrimiçi kitapçı. BookHarber, müşteriler ve personel için sorunsuz ve güvenli bir alışveriş deneyimi sunarak geniş bir özellik yelpazesi sunmaktadır.
BookHarber'ın anahtar özellikleri şunlardır:
- Kitapları Gözden Geçirme ve Satın Alma: Kullanıcılar, çeşitli tür ve yazarlardan oluşan çeşitli bir koleksiyondan kolayca kitap arayabilir ve satın alabilirler.
- Sipariş Yönetimi ve Lojistik Takibi: Kayıtlı müşteriler, siparişlerini yönetebilir, gönderiyi takip edebilir ve satın alımları hakkında güncellemeler alabilir.
- Özel Teklifler ve Tatil Etkinlikleri: BookHarber, müşteri tabanını etkilemek ve ödüllendirmek için özel etkinlikler ve tatiller sırasında özel indirimler ve promosyonlar sunar.
- Müşteri Desteği: Müşteriler, yaşadıkları herhangi bir sorun veya endişe için destek talepleri açabilir ve BookHarber personelinden hızlı bir şekilde yardım alabilirler.
- Müşteri Yönetimi: Farklı rollere sahip personel, platformun müşteri hesapları, sipariş işlemleri ve sorunların çözümü gibi çeşitli yönlerini yönetme yeteneğine sahiptir.
Roller
BookHarber ekosisteminde, aşağıdaki gibi birkaç önemli kullanıcı rolünü tanımlayabiliriz:
- Misafir: Web sitesini gezinmek, kitap aramak ve özel teklifleri görüntülemek için kayıtsız kullanıcılar.
- Müşteri: Kitap satın alabilen, siparişleri yönetebilen, lojistiği izleyebilen ve destek talepleri açabilen kayıtlı kullanıcılar.
- Mağaza Yöneticisi: Platformun genel yönetimi ve işlemlerini denetlemekten sorumlu personel. Tam erişime sahiptir.
- Kitap Yöneticisi: Kitap ve kategori yönetiminden sorumlu personel.
- Müşteri Hizmetleri Temsilcisi: Destek taleplerini yanıtlamaktan sorumlu personel.
- Üçüncü Taraf Lojistik Sağlayıcısı: Siparişlerin gönderi ve teslimat yönetiminden sorumlu dış ortaklar.
- Pazarlama Personeli: Özel teklifler ve etkinlikleri yönetmekten sorumlu olan BookHarber'ın tanıtımından sorumlu personel.
Daha önce, RBAC'yi iş gereksinimlerinizi karşılamak için nasıl kullanabileceğiniz konusunda birkaç kılavuz geliştirdik. Hızlı bir şekilde başlamak için bu kolay takip edilebilir öğreticilere göz atın.
Logto'da RBAC'yı Ustalaşmak: Kapsamlı Bir Gerçek Dünya Örneği
B2B uygulaması
Çok kiracılı uygulamalar, işten-işe (B2B) çözümlerinde, üretkenlik araçları, kurumsal kaynak planlama (ERP) sistemleri ve diğer yazılım-hizmet-olarak (SaaS) ürünler olarak genellikle yer bulur. Bu bağlamda, her "kiracı" tipik olarak bir iş müşterisini temsil eder; bu müşteri, birden fazla kullanıcıya (çalışanlarına) sahip olabilir. Ayrıca, bir iş müşterisi, farklı kuruluşları veya iş birimlerini temsil etmek için birden fazla kiracıya sahip olabilir.
Birkaç kuruluş oluşturun
Kuruluş seviyesinde erişim kontrolü için kuruluş şablonunu tanımlayın
Hibrit B2B & B2C uygulaması
B2B uygulamaları, SaaS ürünlerinin ötesine geçer ve genellikle çok kiracılı uygulamaların kullanılmasını içerir. B2B bağlamında, bu uygulamalar, çeşitli ekipler, iş müşterileri ve ortak şirketlerin uygulamalarınıza erişimi için ortak bir platform olarak hizmet eder.
Örneğin, hem B2C hem de B2B uygulamaları sunan bir araç paylaşım şirketini düşünün. B2B uygulamaları, birden fazla iş müşteri hizmet eder ve çok kiracılı bir mimari kullanılması, bunların çalışanlarının ve kaynaklarının yönetimi için yardımcı olabilir. Bunun yanı sıra, şirket, birleşik bir kullanıcı kimlik sistemi sürdürmek isterse, aşağıdaki örnekte olduğu gibi bir mimari tasarlayabilir:
Sarah'ı bir örnek olarak kullanarak açıklayalım. Sarah'ın hem kişisel hem de iş kimliği vardır. Yolcu olarak araç paylaşım hizmetini kullanıyor ve ayrıca boş zamanlarında sürücülük yapıyor. Profesyonel rolüyle, kendi kişisel işini de yönetiyor ve bu iş kimliğini İşletme 1 ile ortak olmak için kullanıyor.
Logto'da kurulan varlıklar
Bir kullanıcının kimlik ve rol haritası
API kaynaklarını, kullanıcı rollerini tanımlayın
Kurulu şları ayarlayın
Sarah'nın profili
Bugün yetkilendirme modelinizi oluşturun.
Logto, yetkilendirme gereksinimlerinizi karşılamak için Rol Tabanlı Erişim Kontrolü (RBAC) ve Kuruluş özellikleri sunar. Bu özellikler, ürününüzün çeşitli bölümlerine kolayca entegre edilecek şekilde tasarlanmıştır. Daha fazla bilgi için kuruluşlar ve RBAC bölümlerimize göz atabilir veya hemen Logto'yu deneyebilirsiniz.