SSO
Tek Oturum Açma (Single Sign-On)
- Türkçe karşılığı
- çoklu oturum açma
Günlük kullanımda çoğunlukla İngilizcesi tercih edilir.
Kısaca
SSO, kullanıcının merkezi bir kimlik sağlayıcıyla bir kez oturum açıp birçok ayrı uygulamaya yeniden kimlik bilgisi girmeden erişmesini sağlar.
SSO nedir?
SSO, yani tek oturum açma (single sign-on), insanların tek bir hesap ve tek bir girişle birçok uygulamaya ulaşmasını sağlar. Her uygulamanın kendi kullanıcı adlarını ve parolalarını tutması yerine hepsi, hesapları saklayan ve kimlik bilgilerini denetleyen servis olan merkezi bir kimlik sağlayıcıya (IdP) güvenir. Kimlik sağlayıcıda bir kez oturum açtığınızda diğer uygulamalar bu girişi kabul eder; böylece parolanızı yeniden yazmadan e-postanızı, sohbeti ve dahili araçları açabilirsiniz.
Arka planda SSO standart protokollere dayanır. Bir uygulamayı, yani servis sağlayıcıyı (service provider) ziyaret ettiğinizde, sizi kimlik sağlayıcıya yönlendirir; kimliğinizi doğruladıktan sonra kimlik sağlayıcı, kim olduğunuzu kanıtlayan imzalı bir assertion, yani bir SAML yanıtı ya da OpenID Connect ID token'ı geri gönderir. Uygulama imzayı doğrular, kendi oturumunu oluşturur ve parolanızı asla görmez. OpenID Connect, OAuth 2.0 üzerine kuruludur ve modern web ve mobil uygulamalar için yaygın tercihtir; SAML ise eski kurumsal yazılımlarda yaygındır.
İyi bir benzetme, müzik festivalindeki bilekliktir: biletinizi ve kimliğinizi girişte bir kez gösterirsiniz ve her sahnedeki görevliler yalnızca bilekliğe bakar. SSO, şirketlerde çalışan araçları için, okullarda ve üniversitelerde ve başka bir yerde zaten sahip olduğunuz hesapla oturum açmanıza izin veren tüketici uygulamalarında kullanılır.
SSO sıklıkla OAuth ve parola yöneticileriyle karıştırılır. OAuth, bir uygulamaya kaynaklara erişim izni vermekle ilgilidir; SSO ise oturum açmakla ilgilidir ve OpenID Connect bu giriş katmanını OAuth'un üzerine ekler. Parola yöneticisi sizi yine her siteye ayrı parolalarla ayrı ayrı giriş yaptırırken, SSO tek bir kimlik sağlayıcıya dayanır; bu sağlayıcı, güçlü çok faktörlü kimlik doğrulamayla korunması gereken yüksek değerli bir hedef hâline gelir.
Önemli noktalar
- Merkezi bir kimlik sağlayıcıdaki tek giriş, birçok uygulamaya erişim sağlar.
- Uygulamalar kullanıcının parolasını değil, imzalı bir SAML assertion'ı veya OpenID Connect ID token'ı alır.
- OpenID Connect, OAuth 2.0 üzerine kuruludur; SAML kurumsal yazılımlarda yaygındır.
- Merkezi hesaplar, ayrılan bir kullanıcının erişimini her yerde aynı anda kapatmayı kolaylaştırır.
- Kimlik sağlayıcı yüksek değerli bir hedeftir ve güçlü MFA gerektirir.
Örnek
// Step 1: redirect the user to the identity provider to log in
const params = new URLSearchParams({
client_id: "my-app",
response_type: "code",
scope: "openid email profile",
redirect_uri: "https://app.example.com/callback",
state: crypto.randomUUID(), // checked on return to prevent CSRF
});
res.redirect(`https://idp.example.com/authorize?${params}`);
// Step 2: at /callback, exchange the code for an ID token, verify its
// signature, and start the app's own session. Production apps also use
// PKCE and a nonce; a well-tested OpenID Connect library handles these steps.Sık sorulan sorular
SSO, OAuth ile aynı şey midir?
Tam olarak değil. OAuth 2.0, bir uygulamaya kaynaklara sınırlı erişim vermek için bir protokoldür; SSO ise birçok uygulama için bir kez oturum açma deneyimidir. SSO genellikle OAuth 2.0'ın üzerine kimlik doğrulama ekleyen OpenID Connect ile ya da SAML ile uygulanır.
SSO güvenli midir?
SSO güvenliği artırabilir; çünkü kullanıcılar tek bir güçlü kimlik bilgisi yönetir, MFA tek bir yerden zorunlu kılınır ve erişim merkezi olarak iptal edilebilir. Bunun bedeli, ele geçirilmiş bir SSO hesabının birçok kapıyı açmasıdır; bu yüzden kimlik sağlayıcı phishing'e dirençli MFA ile korunmalıdır.
SAML ile OpenID Connect arasındaki fark nedir?
İkisi de bir kimlik sağlayıcının uygulamaya kullanıcının kim olduğunu söylemesini sağlar. SAML, XML assertion'ları kullanır ve eski kurumsal araçlarda yaygındır; OpenID Connect ise JSON tabanlı JWT ID token'ları kullanır ve modern web ve mobil uygulamalar için olağan tercihtir.
Sık karşılaştırılanlar
İlgili sayfalar
- Kimlik DoğrulamaGüvenlik, s. 19Kimlik doğrulama, bir kullanıcının, cihazın veya servisin gerçekten iddia ettiği kişi olduğunu, örneğin parola ya da passkey kontrol ederek doğrulama işlemidir.
- OAuthGüvenlik, s. 21OAuth, bir uygulamanın kullanıcının parolasını hiç görmeden başka bir servisteki verilerine erişmesini sağlayan açık bir yetkilendirme standardıdır.
- JWTGüvenlik, s. 17JWT, kullanıcı kimliği ve son kullanma zamanı gibi bilgileri taşıyan, imzalı ve kompakt bir token'dır; sunucunun oturum aramadan istekleri doğrulamasını sağlar.
- İki Faktörlü Kimlik DoğrulamaGüvenlik, s. 16İki faktörlü kimlik doğrulama, kimliği doğrulamak için parola artı bir kod ya da güvenlik anahtarı gibi iki farklı türde kanıt isteyen bir giriş yöntemidir.
- Zero TrustGüvenlik, s. 49Zero trust, varsayılan olarak hiçbir kullanıcı, cihaz veya ağa güvenmeyip her isteği kimliğe, cihaz sağlığına ve bağlama göre doğrulayan güvenlik modelidir.
- OturumBackend ve API'ler, s. 33Oturum, sunucunun bir kullanıcıyı birçok istek boyunca hatırlama yöntemidir; genellikle veriler sunucuda tutulur ve tarayıcıya bir oturum kimliği verilir.
- SAMLGüvenlik, s. 33SAML, XML tabanlı bir tek oturum açma (SSO) standardıdır: kimlik sağlayıcı kullanıcıyı doğrular ve uygulamaya onu giriş yaptıran imzalı bir beyan gönderir.
- OpenID ConnectGüvenlik, s. 22OpenID Connect (OIDC), OAuth 2.0 üzerine kurulu bir kimlik katmanıdır: uygulama, kullanıcıyı kimlik sağlayıcıyla oturum açtırıp imzalı bir ID token alır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin