Single Sign-On (SSO), orta ve büyük ölçekli işletmelerde ve organizasyonlarda yaygın olarak kullanılan bir kimlik doğrulama yöntemidir ve kullanıcıların tek bir oturum açma ile birden fazla sisteme ve uygulamaya erişmesini sağlar.
Bu sistem, özellikle çeşitli platformlarda kullanıcı kimlik doğrulamasını sorunsuz bir şekilde yönetme kolaylığı nedeniyle tercih edilmektedir. Bu makalede, mekanizması, türleri ve artıları ve eksileri dahil olmak üzere Single Sign-On (SSO)'nun temellerini tanıtacağız.
Single Sign-On (SSO) Nedir?
Single Sign-On (SSO), orta ve büyük ölçekli işletmelerde ve organizasyonlarda yaygın olarak kullanılan bir kimlik doğrulama sistemidir. Kullanıcıların tek bir oturum açma kimlik bilgisiyle birden fazla sisteme ve uygulamaya erişmesini sağlar.
Örneğin, Microsoft Enterprise single sign-on (SSO) kullanan çalışanlar, yalnızca Microsoft hizmetlerine değil, aynı zamanda Salesforce, Google Workspace ve Slack gibi diğer üçüncü taraf hizmetlere de erişebilir ve bunların tümü, şirket tarafından atanan e-posta adreslerini (örneğin, kullanıcıadı@şirketadı.com) ve parolalarını kullanarak SSO ile entegre olacak şekilde yapılandırılmıştır. SSO aracılığıyla oturum açıldığında, kullanıcının organizasyonel ayarları ve erişim izinleri otomatik olarak uygulanır.
SSO Nasıl Çalışır?
SSO Mekanizması SSO'nun nasıl uygulandığına daha yakından bakalım. SSO'nun temel süreci, belirli uygulama yönteminden bağımsız olarak birkaç aşamaya ayrılabilir. İşte genel bir iş akışı:
İlk Kurulum:
- Sistem yöneticileri, kimlik doğrulama kimlik bilgilerini yönetmek için merkezi bir sunucu (Kimlik Sağlayıcı - IdP) yapılandırır. Bu sunucu, kullanıcı kimlik doğrulama bilgilerini depolar ve kimlik doğrulama sürecini denetler.
- Kullanıcıların erişeceği her hizmet veya uygulama bu merkezi sunucuya kaydedilir.
Kullanıcı Erişimi ve Yönlendirme:
- Bir kullanıcı belirli bir hizmete veya uygulamaya erişmeye çalıştığında, Hizmet Sağlayıcı (SP) kullanıcının kimliğinin doğrulanıp doğrulanmadığını kontrol eder.
- Kimliği doğrulanmamışsa, SP kullanıcıyı, kullanıcının erişmek istediği hizmetle ilgili bilgileri de içeren Kimlik Sağlayıcı'nın (IdP) oturum açma sayfasına yönlendirir.
Kimlik Doğrulama Süreci:
- IdP oturum açma sayfasında, kullanıcı kimlik doğrulama kimlik bilgilerini (genellikle kullanıcı adı ve parola) girer.
- IdP bu kimlik bilgilerini doğrular ve kullanıcının kimliğini doğrular.
- Akıllı telefonlara push bildirimleri veya parmak izi taramaları gibi Çok Faktörlü Kimlik Doğrulama (MFA) gibi ek kimlik doğrulama adımları, yapılandırılmışsa gerekli olabilir.
Token Oluşturma ve İletimi:
- Başarılı bir kimlik doğrulamasının ardından, IdP bir kimlik doğrulama token'ı oluşturur. Bu token, kullanıcı kimliği, kimlik doğrulama durumu ve son kullanma tarihi gibi bilgileri içerir.
- IdP bu token'ı kullanıcının tarayıcısı aracılığıyla SP'ye iletir.
Token Doğrulama ve İzin:
- SP, alınan token'ı doğrular. Token'ın geçerli ve güvenilir bir IdP tarafından verilmesini sağlar.
- Başarılı bir doğrulamanın ardından, SP kullanıcının ek kimlik doğrulaması gerektirmeden kaynaklara erişmesine izin verir.
Oturum Yönetimi:
- IdP, kullanıcının kimlik doğrulama oturumunu korur. Kullanıcı başka bir SP'ye erişmeye çalışırsa, IdP yeni bir kimlik doğrulama süreci gerektirmeden yeni bir token yayınlar ve hizmetler arasında sorunsuz erişimi kolaylaştırır.
Tek Oturum Kapatma (SLO):
- Kullanıcı oturumu kapatmayı seçerse, IdP oturum kapatma bildirimlerini tüm SP'lere gönderir. Bu, kullanıcının tek bir oturum kapatma işlemiyle tüm hizmetlerden oturumu kapatmasına olanak tanır, güvenliği artırır ve oturumların istenmeden açık kalma riskini azaltır.
Güvenlik ve İzleme:
- Tüm iletişimlerin şifrelenmesi (HTTPS) ile SSO sistemlerinde güvenlik çok önemlidir.
- Token'ların son kullanma tarihleri vardır ve düzenli olarak yenilenmeleri gerekir.
- Sistem yöneticileri, şüpheli etkinlikler için erişim günlüklerini periyodik olarak izler.
- Çok Faktörlü Kimlik Doğrulama (MFA) uygulamak güvenliği daha da artırır.
Single Sign-On (SSO) Türleri
Single Sign-On (SSO), farklı ortamlara ve gereksinimlere uygun çeşitli protokoller kullanır. İşte bazı yaygın SSO protokolleri:
SAML (Security Assertion Markup Language)
- SAML, öncelikle kurumsal ortamlarda kullanılan bir protokoldür. Kimlik Sağlayıcılar ve Hizmet Sağlayıcılar arasında kimlik doğrulama bilgilerinin alışverişini sağlar ve bu da onu tarayıcı tabanlı Single Sign-On uygulamaları için özellikle uygun hale getirir.

Operasyonel Akış
- Kullanıcı SP'ye erişir
- SP IdP'ye yönlendirir
- IdP kullanıcının kimliğini doğrular
- IdP, SAML onayını SP'ye gönderir
- SP, kullanıcıya erişim izni verir

SAML çeşitli avantajlar sunar. Kurumsal uygulamalar için çok önemli olan yüksek düzeyde bir güvenlik sağlar. Ek olarak, ayrıntılı öznitelik bilgilerinin alışverişine izin verir ve Hizmet Sağlayıcılara kimliği doğrulanmış kullanıcı hakkında daha fazla bağlam sağlar.
OAuth 2.0:
- Öncelikle, kullanıcılar adına uygulamalara kaynaklara erişim izni vermek için SSO'da kullanılan bir yetkilendirme protokolüdür.

OAuth 2.0, farklı senaryolara uyum sağlamak için birden fazla yetkilendirme türünü destekler.
- Yetkilendirme Kodu Akışı
- Örtülü Akış
- Kaynak Sahibi Parola Kimlik Bilgileri
- İstemci Kimlik Bilgileri
Bunlar arasında, sunucu tarafı uygulamalar için uygun olan Yetkilendirme Kodu Akışı bulunur. Örtülü Akış, istemci tarafı uygulamalar için tasarlanmıştır. Kaynak Sahibi Parola Kimlik Bilgileri yetkilendirme türü, kullanıcı ile istemci arasında yüksek düzeyde bir güven olduğunda kullanılır.
Son olarak, kullanıcı katılımının gerekli olmadığı makineden makineye iletişim için İstemci Kimlik Bilgileri yetkilendirme türü kullanılır.
OpenID Connect (OIDC):
- OpenID Connect, sağlam kimlik doğrulama yetenekleri ekleyerek OAuth 2.0'ı genişletir. Güvenli bilgi alışverişi için JSON Web Token'ları (JWT) kullanır ve bu da onu RESTful API'ler için özellikle uygun hale getirir. OAuth 2.0 üzerine kurulmuş, istemcilerin kullanıcı kimliğini doğrulamasına ve temel profil bilgilerini almasına olanak tanıyan bir kimlik doğrulama katmanı ekler.

Akış
- İstemci bir yetkilendirme isteği gönderir
- Kullanıcı kimlik doğrulaması yapar ve yetkilendirir
- Bir yetkilendirme kodu döndürülür
- İstemci bir erişim token'ı ve bir Kimlik token'ı alır.
- Kullanıcı Bilgilerini Al (İsteğe Bağlı)
Bu protokollerin her biri farklı kullanım durumlarına ve gereksinimlere uygundur, bu nedenle kuruluşunuzun ihtiyaçlarına ve mevcut altyapısına göre doğru protokolü seçmek önemlidir.
SSO'nun Avantajları ve Dezavantajları
Belirtildiği gibi, SSO, geliştirilmiş kullanıcı kolaylığı, gelişmiş güvenlik, azaltılmış yönetim maliyetleri, artan verimlilik, uyumluluk iyileştirmeleri, yeni uygulamalarla kolay entegrasyon, güvenlik olayları için risk azaltma ve cihazlar arasında tutarlı kimlik doğrulama gibi çok sayıda avantaj sunar.
Ancak, aynı zamanda tek bir arıza noktası, yoğunlaşmış güvenlik riskleri, uygulama karmaşıklığı ve ilk maliyetler, satıcıya bağımlılık, kullanıcı bağımlılığı, gizlilik endişeleri, uyumluluk karmaşıklıkları, oturum yönetimi sorunları ve MFA'yı etkili bir şekilde entegre etme karmaşıklığı gibi zorluklar da sunar.
Sonuç
Single Sign-On (SSO), kullanıcı kolaylığını gelişmiş güvenlikle dengelemek için modern dijital ortamlarda çok önemlidir. Mekanizmalarını, türlerini ve artıları ve eksilerini anlamak, kuruluşların ihtiyaçlarına göre doğru çözümü seçmelerine yardımcı olur.
SSO'nun etkili bir şekilde uygulanması, bir kuruluş içindeki verimliliği ve güvenliği önemli ölçüde artırabilir, ancak faydalarını en üst düzeye çıkarmak için devam eden güvenlik önlemleri ve kullanıcı eğitimi gerektirir.