Keycloak Nedir? SSO, IAM, OAuth2, OIDC ve Mikroservis Güvenliği Detaylı Rehber (2025)

Modern uygulamalarda kimlik doğrulama ve yetkilendirme süreçleri artık sadece bir “login ekranı” değildir. Özellikle mikroservis mimarilerde güvenlik merkezi bir mimari bileşendir.

Kısaca: Bu yazıda Keycloak nedir, nasıl çalışır, hangi problemleri çözer ve kurumsal sistemlerde neden tercih edilir detaylı şekilde ele alıyoruz.

Keycloak Nedir?

Keycloak, açık kaynaklı bir Identity and Access Management (IAM) çözümüdür. Uygulamalar için merkezi kimlik doğrulama, yetkilendirme, rol yönetimi ve token tabanlı güvenlik sağlar.

Keycloak sayesinde login formları, kullanıcı doğrulama kodları ve oturum yönetimi uygulamanızdan çıkarılır ve merkezi bir kimlik sağlayıcıya taşınır.

Keycloak IAM ve SSO mimari diyagramı

Single Sign-On (SSO) ve Single Logout

Keycloak ile kullanıcılar her uygulama için ayrı login yapmak zorunda kalmaz.

  • ✔ Kullanıcı Keycloak üzerinden giriş yapar
  • ✔ Diğer tüm bağlı uygulamalara tekrar login olmadan erişir
  • ✔ Çıkış yaptığında tüm uygulamalardan otomatik logout olur

Bu özellik özellikle kurumsal sistemlerde büyük kolaylık sağlar.

Keycloak login ekranı örneği

Identity Brokering ve Social Login

Keycloak yalnızca kendi kullanıcı veritabanı ile çalışmaz.

Social Login Desteği

  • Google
  • Microsoft
  • GitHub
  • Facebook

Admin Console üzerinden birkaç tıklama ile sosyal login eklenebilir. Kod değişikliği gerekmez.

Harici Identity Provider Desteği

Keycloak mevcut OpenID Connect veya SAML 2.0 sağlayıcıları ile entegre olabilir.

Keycloak identity brokering diyagramı

User Federation (LDAP & Active Directory)

Kurumsal sistemlerde kullanıcılar genellikle LDAP veya Active Directory üzerinde tutulur.

Keycloak bu sistemlerle doğrudan entegre olabilir.

  • ✔ LDAP bağlantısı
  • ✔ Active Directory entegrasyonu
  • ✔ Harici veritabanı provider geliştirme
Keycloak LDAP Active Directory entegrasyonu

Admin Console (Yönetim Paneli)

Keycloak Admin Console üzerinden:

  • Kullanıcı oluşturma ve yönetme
  • Rol ve grup tanımlama
  • Authorization policy oluşturma
  • Identity brokering yapılandırma
  • Session yönetimi
Keycloak admin console ekran görüntüsü

Account Management Console

Kullanıcılar kendi hesaplarını yönetebilir:

  • Profil güncelleme
  • Şifre değiştirme
  • İki faktörlü doğrulama (2FA)
  • Oturum geçmişi görüntüleme
  • Sosyal hesap bağlama
Keycloak kullanıcı hesap yönetim ekranı

Standart Protokoller

Keycloak şu standartları destekler:

  • OpenID Connect (OIDC)
  • OAuth 2.0
  • SAML 2.0

Detaylı içerikler: Spring Boot? | JWT Nedir?


Authorization Services (Fine-Grained Authorization)

Rol bazlı erişim yeterli değilse Keycloak gelişmiş yetkilendirme servisleri sunar.

  • Policy-based access control
  • Resource-based authorization
  • Attribute-based access control
  • Dinamik izin kuralları

Tüm yetkiler merkezi admin panelinden yönetilebilir.


Angular + Spring Boot Mimarisi

Angular Tarafı

  • Login redirect
  • Token alma
  • HTTP interceptor ile token taşıma

Spring Boot Tarafı

  • JWT doğrulama
  • Rol bazlı erişim kontrolü

İlgili içerikler: Spring Security JWT


Keycloak Avantajları

  • ✔ Açık kaynak ve ücretsiz
  • ✔ Merkezi IAM çözümü
  • ✔ Kurumsal LDAP desteği
  • ✔ Mikroservis uyumlu mimari
  • ✔ SSO & Single Logout
  • ✔ Gelişmiş yetkilendirme servisleri

Sık Sorulan Sorular

Keycloak ile OAuth2 aynı mı?

Hayır. OAuth2 bir protokoldür, Keycloak bu protokolü uygulayan IAM ürünüdür.

Keycloak mikroservislerde neden tercih edilir?

Merkezi token üretimi ve doğrulama sayesinde servisler arasında güvenlik tutarlılığı sağlar.

Keycloak ücretli mi?

Hayır, açık kaynaklıdır. Enterprise destek Red Hat tarafından sunulabilir.

Etiketler: Keycloak, IAM, SSO, OAuth2, OIDC, SAML, JWT, Mikroservis Güvenliği

Latest Software Developers - Yazılım Blog Yazarı Profil Resmi

Yazar

LatestSoftwareDevelopers

Blog where the most up-to-date software is followed. (En güncel yazılımların takip edildiği blog sitesi)

Database ile ilgili yorumlar

Yorum Paylaş

EMail Zorunlu alanlar * *