Keycloak ve Tek Realm kullanarak çoklu Multi Tenancy

Keycloak and multi tenancy using single Realm

Birden çok bölge veya birden fazla müşteri kaydı ayarlamak yerine, tek bir bölge ve tek bir müşteri kaydından yararlanabilir ve yine de Keycloak'ı kullanarak çoklu kiracılığı kolayca destekleyebilirsiniz . Kullanıcılar ayrıldıkça, örneğin izole edilmiş alanlara sahip olmak daha güvenli olacaktır, ancak tek bir kurulum ve tek bir yapılandırılmış istemci uygulamasına ve veri deposuna sahip olacak ve bir kullanıcının birden fazla kullanıcıya ait olmasını desteklemeye ihtiyaç duyan basit bir uygulama geliştiriyorum. kiracılar. Bu yazının konusu bu. Sadece dört adım.

Birden fazla Realm (bölge) veya multiple client (birden fazla istemci) kaydı ayarlamak yerine, tek bir Realm ve tek bir Client kaydından yararlanabilir ve yine de Keycloak'ı  kullanarak multi tenancy'i (çoklu kiracılığı) kolayca destekleyebilirsiniz. Örn. Kullanıcılar daha sonra ayrıldıkça yalıtılmış alanlar, ancak tek bir kurulum ve tek bir yapılandırılmış istemci uygulamasına ve veri deposuna sahip olacak ve bir kullanıcının multiple tenantsa (birden fazla kiracıya) ait olmasını desteklemeye ihtiyaç duyan basit bir uygulama geliştiriyorum. Bu yazının konusu bu. Sadece dört adım.

Adımlar

  1. Bir anahtar kuralı kullanarak Kullanıcı niteliklerini ekleyin.
  2. Kiracıları temsil edecek bir Müşteri kapsamı ekleyin.
  3. Kullanıcı niteliklerini çıkarmak için bir eşleyici ekleyin.
  4. Kullanılan İstemciye İstemci kapsamını ekleyin.

Adım 1 - Bir anahtar kuralı kullanarak Kullanıcı niteliklerini ekleyin

Muhtemelen bunun için bir entegrasyon yoluyla Keycloaks API'sini kullanıyorsunuz, ancak kolaylık sağlamak için Keycloak GUI'yi kullanacağım.

Keycloak ve Tek Realm kullanarak çoklu Multi Tenancy

Adım 2 - Kiracıları temsil edecek bir İstemci kapsamı ekleyin

Seçtiğiniz adla yeni bir Müşteri kapsamı oluşturun. Genellikle uygulama için kısa bir önek ekliyorum, örneğin"foo-"

Keycloak ve Tek Realm kullanarak çoklu Multi Tenancy

Adım 3 - Kullanıcı niteliklerini çıkarmak için bir eşleyici ekleyin

Şimdi oluşturduğumuz Client kapsamına içerik eklememiz gerekiyor. Bunu yeni bir haritalayıcı yapılandırarak yapacağız.

Keycloak ve Tek Realm kullanarak çoklu Multi Tenancy

Bir haritacı seçin "User attribute".

Kullanıcı özniteliğini, kullanıcı hesabından çıkarılacak şekilde yapılandırın ve benimle aynı duruma sahipseniz, birden fazla kiracıya ait olma ihtiyacı duyuyorsanız, bunun birden çok değerli olduğundan emin olun.

4. Adım - Kullanılan İstemciye İstemci kapsamını ekleyin

Son adım, yeni oluşturulan İstemci kapsamını istemcinize kaydetmektir.

Sonuç

Kullanıcıyla oturum açın ve erişim belirtecinin kapsamlarına bakın.

Eşlenen kapsam artık ayrıştırılan belirteçte mevcuttur:

foo-tenants: ["Tenant1", "Tenant2"]
email_verified: false
name: Tester Testersson
preferred_username: tester
given_name: Tester
family_name: Testersson

Bu kadar. İyi kodlamalar! :)

Keycloak ve Tek Realm kullanarak çoklu Multi Tenancy
Mehmet Demirel March 1, 2024
Share this post
Tags
Archive
Sign in to leave a comment
Keycloak'a Giriş
Keycloak, tek sayfalı uygulamalar, mobil uygulamalar ve REST API'leri gibi modern uygulamalara odaklanan açık kaynaklı bir kimlik ve erişim yönetimi aracıdır.