Çok Kiracılı Uygulamalarda Kiracı İzolasyonu
Kiracı izolasyonu, çok kiracılı uygulamalarda önemli bir kavramdır. Bu makalede, nedir ve nasıl sağlanabileceğini tartışacağız.
Herkese merhaba! Bu bölümde, çok kiracılı konular üzerine daha önceki tartışmalarımızın üzerine inşa edeceğiz. Eğer önceki makaleleri henüz okumadıysanız, önce onlarla başlamanızı öneririz!
Çok kiracılı uygulamalar üzerine konuşurken, kiracı izolasyonu hakkında düşünmek önemlidir. Bu, farklı kiracıların veri ve kaynaklarını ortak bir sistemde (örneğin, bir bulut altyapısı veya çok kiracılı uygulama) ayrı ve güvenli tutmak anlamına gelir.
Kiracı izolasyonunun amacı, her kiracının veri ve işlemlerinin, aynı altyapı kaynaklarını kullanıyor olsalar bile, birbiriyle ayrı ve güvenli kalmasını sağlamaktır.
Hizmet Olarak Yazılım (SaaS) senaryosunda, kiracı izolasyonu, SaaS çerçevesinde kaynak erişimini sıkı bir şekilde düzenleyen yapılar oluşturmayı içerir. Bu, başka bir kiracının kaynaklarına izinsiz erişim girişimlerini önler.
Açıklama soyut görünebilir, ancak izolasyon zihniyetini daha iyi açıklamak için örnekler ve anahtar detaylar kullanacağız.
Kiracı izolasyonu, çok kiracılılığın "paylaşılan" zihniyetine karşı gelmez
Bunun nedeni, kiracı izolasyonunun mutlaka bir altyapı kaynağı düzeyi yapısı olmamasıdır. Çok kiracılılık ve izolasyon alanında, bazıları izolasyonu gerçek altyapı kaynakları arasında katı bir bölünme olarak görür. Bu genellikle her kiracının ayrı veri tabanlarına, işlem örneklerine, hesaplarına veya özel bulutlarına sahip olduğu bir modele yol açar. Çok kiracılı uygulamalar gibi paylaşılan kaynak senaryolarında, izolasyona ulaşmanın yolu mantıksal bir yapı olabilir.
Kiracı izolasyonu, erişimi sınırlandırmak için yalnızca "kiracı" bağlamını kullanmaya odaklanır. Mevcut kiracının bağlamını değerlendirir ve bu kiracı için hangi kaynakların erişilebilir olduğunu belirlemek için o bağlamı kullanır. Bu izolasyonu o kiracı içindeki tüm kullanıcılara uygular. Bir kiracı kaynağına erişim girişimi, yalnızca o kiracıya ait kaynaklarla sınırlı olmalıdır.
İzolasyon farklı seviyelerde gelir
İzolasyonun sıkı bir şekilde altyapı kaynak seviyelerine bağlı olmadığını ve fiziksel altyapı arasında net bir ayrım olmadığını anladığımızda, şu sonuca varırız:
İzolasyonu basit bir "evet" veya "hayır" olarak görmek yerine, bir spektrum olarak düşünün. İhtiyacınıza göre sisteminizin kısımlarını daha izole veya daha az izole hâle getirebilirsiniz.
Aşağıdaki diyagram bu izolasyon spektrumunu göstermektedir.
Kimlik doğrulama ve yetkilendirme “izolasyon” ile eşit değildir
SaaS ortamlarınıza erişimi kontrol etmek için kimlik doğrulama ve yetkilendirme kullanmak önemlidir, ancak bu, tam izolasyon için yeterli değildir. Bu mekanizmalar güvenlik bulmacasının sadece bir parçasıdır.
İnsanlar sıkça şu soruyu sorar: Genel yetkilendirme çözümleri ve rol tabanlı erişim kontrolü kullanarak kiracı izolasyonu elde edebilir miyim? Çok kiracılı bir uygulama oluşturabilirsiniz, ancak en iyi uygulama olarak kiracı izolasyonu stratejilerini gerçekleştirdiğinizi ve uyguladığınızı söyleyemezsiniz. Genellikle bunu önermiyoruz çünkü
Örneğin, SaaS sisteminiz için kimlik doğrulama ve yetkilendirme ayarladığınız bir durumu düşünün. Kullanıcılar giriş yaptığında, uygulamada yapabileceklerini belirleyen bir rol bilgisi içeren bir jeton alırlar. Bu yaklaşım güvenliği artırır ancak izolasyon sağlamaz.
Ama işte püf noktası: Kaynaklara erişimi sınırlamak için kiracı bağlamını, örneğin bir kiracı kimliği, dahil etmeden, yalnızca kimlik doğrulama ve yetkilendirmeye güvenmek, doğru role sahip bir kullanıcının başka bir kiracının kaynaklarına erişmesini engellemez.
Burada kiracı izolasyonu devreye girer. Kiracıya özgü tanımlayıcıları, tıpkı duvarlar, kapılar ve kilitler gibi, sınırları oluşturmak için kullanır ve kiracılar arasında net bir ayrım sağlar.
Çok kiracılı uygulamalarda kimlik
Kiracı izolasyonunu tartıştık, peki ya kimlikler? Kimliklerinizin "izole" edilip edilmemesi gerektiğine nasıl karar verirsiniz?
"Kimlik izolasyonu" kavramı etrafında genellikle bir karışıklık vardır. Genellikle insanların genel anlayışında, bir gerçek dünya kullanıcısının iki kimliğine sahip olduğu durumları ifade edebilir.
- Her iki kimlik de tek bir kimlik sisteminde mevcut olabilir. Örneğin, Sarah, tek oturum açma (SSO) ile bağlantılı kurumsal bir e-posta yanında bir kişisel e-postaya sahip olabilir.
- Kullanıcılar, tamamen birbirinden bağımsız ürünleri temsil eden ayrı kimlik sistemlerinde iki farklı kimlik tutarlar.
Zaman zaman bu senaryolar "Kimlik izole" olarak adlandırılır. Ancak bu etiket, bir karar vermede yardımcı olmayabilir.
"Kimlik izolasyonu" gerektirip gerektirmediğinize karar vermek yerine, siz veya işletmenizin veya ürününüzün bir parçasının ayrı kimlik sistemlerini koruması gerekip gerekmediğini düşünün. Bu cevap, Kimlik ve Erişim Yönetimi (IAM) sistem tasarımınızı yönlendirebilir. Çok kiracılı bir uygulama ile ilgili kısa bir yanıt için,
Çoğu durumda, çok kiracılı uygulamalarda, kimlikler paylaşılırken her kiracının kaynakları izole edilir.
Çok kiracılı uygulamalarda, kiracıya özgü kaynaklar ve veri aksine, kimlikler birden fazla kiracı arasında paylaşılır. Kendinizi bina yöneticisi olarak düşünün; kiracılarınızın kimliklerini yönetmek için iki ayrı isim listesi tutmak istemezsiniz.
Kiracı izolasyonunu hedeflediğinizde, çok kiracılı uygulamaları oluşturmak için en iyi uygulama olarak sıklıkla "organizasyon" teriminin vurgulandığını fark etmiş olabilirsiniz.
"Organizasyon" kavramını kullanarak, çok kiracılı uygulamanızda kiracı izolasyonunu sağlayabilir ve aynı zamanda birleşik bir kimlik sistemi sürdürebilirsiniz. Bu, uygulama içinde birden fazla "organizasyonun" bağımsız bir şekilde var olmasına izin verir, ancak kiracıdan bağıms ız kaynakları paylaşır. Tıpkı bir binada yaşayan sakinler gibi, her organizasyon uygulamayı komşularına yönelik endişe duymadan kullanır, çünkü "organizasyon," duvarlar, koridorlar, kapılar ve kilitler şeklinde gerekli ayrılığı sağlar. Genel bina altyapısını, iç tasarım sistemini ve çeşitli somut ya da soyut bileşenleri paylaşırlar.
Logto, Kasım ayında “Organizasyon” özelliğini tanıtıyor
Logto, özellikle bir SaaS ürünü oluşturmanın gerektirdiği kiracı izolasyon gereksinimlerini karşılamak üzere tasarlanmış "Organizasyon" özelliğinin aktif olarak geliştirilmesi aşamasında. Bu özelliğin Kasım 2023'te başlatılması hedefleniyor ve endüstri standartlarına ve en iyi uygulamalara uygun olarak oluşturuluyor.
Gelecek bölümde, "Organizasyon" özelliğine daha ayrıntılı olarak gireceğiz ve Logto'nun çok kiracılı bir uygulama oluşturmanın en iyi uygulamalarını nasıl kolaylaştırdığını inceleyeceğiz.