Sabah bilgisayarınıza giriş yaparsınız; ardından posta, dosya paylaşımı, İK sistemi ve muhasebe uygulaması tek tek parola sormadan açılır. Tekil oturum açma (SSO) budur — ve arkasındaki mekanizma, parolanın her uygulamaya ayrı ayrı verilmesinden temelde farklıdır.
Rol ayrımı
İki taraf vardır ve ayrımı bilmek her şeyi kolaylaştırır.
Kimlik sağlayıcı (IdP) kullanıcıyı doğrular ve “bu kişi gerçekten o” diyen imzalı bir belge üretir. Entra ID, Okta, Google Workspace bu roldedir.
Hizmet sağlayıcı (SP) kullanıcının girmek istediği uygulamadır. Kimlik doğrulaması yapmaz; kimlik sağlayıcının verdiği belgeye güvenir.
Kritik nokta: parola hizmet sağlayıcıya hiç gitmez. Uygulama parolanızı ne görür ne saklar. Bu, SSO’nun en büyük güvenlik kazancıdır — yüz uygulama yerine tek bir yerde korunması gereken bir parola kalır.
Akış
Tipik sıra şöyledir. Uygulamaya gidersiniz; oturumunuz yoktur, uygulama sizi kimlik sağlayıcıya yönlendirir. Orada zaten oturum açmışsanız hiçbir şey sorulmaz. Kimlik sağlayıcı imzalı bir belge üretir ve sizi uygulamaya geri gönderir. Uygulama imzayı doğrular ve kendi oturumunu açar.
Kullanıcının gördüğü tek şey birkaç yönlendirmedir. “Parola sormadı” hissi buradan gelir — aslında sormasına gerek kalmamıştır, çünkü kimlik sağlayıcıdaki oturum hâlâ geçerlidir.
SAML ve OIDC
İki yaygın protokol vardır ve seçim çoğu zaman uygulamanın desteklediğine göre yapılır.
SAML daha eskidir, XML tabanlıdır ve kurumsal uygulamalarda yaygındır. Yapılandırması meta veri dosyalarının karşılıklı yüklenmesiyle yapılır.
OpenID Connect (OIDC), OAuth 2.0 üzerine kuruludur, JSON kullanır ve modern uygulamalarda tercih edilir. Mobil ve tek sayfalık uygulamalarda belirgin biçimde rahattır.
Sık karışan bir nokta: OAuth 2.0 tek başına kimlik doğrulama protokolü değildir. Yetkilendirme içindir — “bu uygulama senin takvimine erişebilir mi”. Kimlik katmanını ekleyen OIDC’dir. OAuth’u kimlik doğrulama için doğrudan kullanmak, klasik bir tasarım hatasıdır.
Protokollerin arkasındaki imza mantığı simetrik ve asimetrik şifreleme yazısında.
Kerberos ile ilişkisi
Şirket içi ağda da bir tür SSO zaten vardır: kullanıcı bir kez oturum açar ve dosya sunucusuna, yazıcıya parola sormadan erişir. Onu sağlayan Kerberos’tur ve bilet mantığıyla çalışır.
İkisi aynı fikri farklı ortamlarda uygular: Kerberos ağ içinde, SAML ve OIDC internet üzerinde. Ayrıntı Kerberos nedir yazısında, bulut tarafı Entra ID nedir yazısında.
Tek nokta riski
SSO’nun kazancı ile riski aynı yerden gelir: her şey tek bir kimliğe bağlanır.
Kimlik sağlayıcı erişilemezse hiçbir uygulamaya girilemez. Bu yüzden erişilebilirlik tasarımı kritiktir ve acil durum için MFA’sız bir kırılma-camı hesabı bulundurulur.
Kimlik ele geçirilirse saldırgan tüm uygulamalara birden erişir. Bu, SSO’nun MFA olmadan kurulmasını kabul edilemez kılar; ayrım MFA nedir yazısında.
Oturum belirteci çalınırsa doğrulama zaten tamamlanmıştır ve saldırgan MFA’ya hiç uğramaz. Ortadaki vekil saldırıları tam olarak bunu hedefler; biçimleri oltalama türleri yazısında.
Oturum süresi ve çıkış
SSO’da iki ayrı oturum vardır ve karıştırıldıklarında beklenmedik davranışlar çıkar: kimlik sağlayıcıdaki oturum ve her uygulamanın kendi oturumu.
Uygulamadan çıkış yapmak, kimlik sağlayıcıdaki oturumu kapatmaz. Kullanıcı “çıktım” der, uygulamaya geri döner ve hiçbir şey sorulmadan yeniden içeri alınır — çünkü kimlik sağlayıcı hâlâ onu tanımaktadır. Ortak bilgisayarlarda bu gerçek bir risktir.
Doğru davranış tek noktadan çıkış (single logout) yapılandırmaktır: bir uygulamadan çıkış, kimlik sağlayıcıya ve oradan diğer uygulamalara yayılır. Desteği uygulamadan uygulamaya değişir, bu yüzden test edilmeden varsayılmamalıdır.
Oturum ömrü de bir denge noktasıdır. Uzun ömür kullanıcıyı rahatsız etmez ama çalınan bir belirtecin kullanım penceresini büyütür. Riskli işlemlerde yeniden doğrulama istemek, ikisini birden çözer.
Ayrılış anında değeri
SSO’nun en somut işletimsel kazancı, birisi işten ayrıldığında ortaya çıkar. Tek bir yerde hesabı kapatmak, bağlı tüm uygulamalara erişimi keser.
Ama bu ancak uygulamalar gerçekten SSO’ya bağlıysa geçerlidir. Kendi ayrı parolasıyla duran bir uygulama, kapatma listesinde ayrıca yer almalıdır — ve bu liste tutulmadığında sessiz erişimler kalır.
Kontrol listesi işe alım ve ayrılış kontrol listesi aracında; erişim birikiminin genel çerçevesi en az yetki ilkesi yazısında.
Kısaca
SSO, kimlik doğrulamayı uygulamalardan alıp tek bir sağlayıcıda toplar; parola hizmet sağlayıcıya hiç gitmez. Protokol olarak SAML ve OIDC yaygındır — OAuth 2.0 tek başına kimlik doğrulamaz.
Kazancı yönetim kolaylığı ve tek noktadan kapatma; bedeli o tek noktanın çok değerli hâle gelmesidir. Bu yüzden SSO ile MFA birlikte kurulur.