Page 91 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 91

Kimlik Doğrulama Altyapılarının Kullanımı | 91




           Keycloak




           Keycloak,  web  tabanlı  uygulamalara  güvenli  tekil  oturum  açma  (Single  Sign  On  /  SSO)  hizmeti
           sağlayan açık kaynak yazılımdır. Keycloak, 2013 yılında geliştirilmeye başlanmış ve ilk sürümü Eylül
           2014’te  yayınlanmıştır.  2016  yılında  Red  Hat,  SSO  ürününü  olan  PicketLink  projesini  Keycloak  ile

           birleştirmiştir.  Keycloak,  eskiden  Wildfly  uygulama  sunucusu  üzerine  kurulu  bir  uygulama  iken,
           Keycloak  2017  itibariyle  Quarkus  framework’ü  üzerine  inşa  edilmis  bir  uygulama  oldu.  Wildfly
           versiyonu,  konfigürasyon  için  karmaşık  XML  dosyaları  barındırıyordu.  Bu  da  sürüm  yükseltme
           aşamasında hatalara yol açıyordu.

           Keycloak şu özellikleri sağlar:

           •   Kimlik Doğrulama

           •   Kullanıcı Yetkilendirme
           •   Kullanıcı Yönetimi
           •    User  Federation  (Kimlik  bilgilerinin  Keycloak  harici  yerlerde  saklanması  ve  bu  credentialları
              görmeden kimlik kontrolünün SAML, OAuth, OpenID Connect gibi yöntemlerle yapılmasıdır.)




           1. Tenant ve Realm


           Yazılım terminolojisinde tenant, bir organizasyona hizmet eden uygulama demektir. Multi-tenant ise farklı
           organizasyonlara hizmet eden uygulama demektir. Keycloak’ta tenant’ın karşılığı olarak realm terimi kullanılır.
           Birbirinden izole edilmiş kullanıcı ve uygulama grupları oluşturmaya izin verir. Realm, güvenlik alanı (security
           domain) olarak görev yapar. Keycloak, varsayılan olarak master isminde tek bir realm ile gelir. Bu, Keycloak’ı
           yönetmek için kullanılır. Bu sebeple uygulamalar için ayrı realm’ler oluşturulması tavsiye edilir.




           2. Kurulum

           Keycloak kullanabilmek için, 11 ya da daha yeni bir sürüme sahip Java kurulu olmalıdır. Aynı Apereo

           CAS’da olduğu gibi, tüm Keycloak kodlarını indirmek yerine, ayağa kaldırmak için gerekli minimal
           kod ve jar’ların olduğu proje (keycloak-19.0.1.zip ) indirilir. Daha sonra binary klasörü altındaki (/bin),
           kc.bat dosyası, aşağıdaki komut ile çalıştırılır.

           •   Development ortamı için; kc.bat start-dev

           Burada HTTP bağlantı kullanılır. Önbellek mekanizması devre dışıdır. Alan adı (hostname) ayarlamadan
           da çalışabilir.


           •   Production ortamı için; kc.bat start

           Burada “secure by default” prensibi takip edilir. Eğer ayar yapmadan direkt bu komut calıştırılırsa,
           hata verir. Çünkü HTTPS ayarı ve alan adı ayarlaması yapılmalıdır.
   86   87   88   89   90   91   92   93   94   95   96