Birleşik Kimlik: SAML, OAuth ve OpenID Connect
SSO, SAML bildirimleri, OAuth 2.0 akışları ve OpenID Connect belirteçlerinin kullanıcıların birçok uygulamada güvenli biçimde tek seferde kimlik doğrulamasını nasıl sağladığını öğrenin.
Birleşik Kimlik: SAML, OAuth ve OpenID Connect, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
Etki Alanları Arasında Kimlik Sorunu
Modern kuruluşlarda çalışanların, her biri farklı kuruluşlar tarafından yönetilebilen düzinelerce uygulamaya — bulut uygulamalarına, SaaS araçlarına, iş ortağı portallarına ve iç sistemlere — erişmesi gerekir. Her biri için ayrı hesaplar oluşturmak ve yönetmek güvenli değildir (kimlik bilgilerinin çoğalmasına yol açar) ve verimsizdir. Federasyonlu kimlik, güvenilir ve yetkili bir kimlik kaynağı olan Identity Provider (IdP)'nin kullanıcıların kimliğini doğrulamasına ve doğrulanmış bu kimliği kuruluş sınırları arasındaki Service Providers (SPs) ile paylaşmasına olanak tanıyarak bu sorunu çözer. Kullanıcılar bir kez kimlik doğrulaması yapar ve kimlik bilgilerini yeniden girmeden birden çok sisteme erişir.
Tek Oturum Açma (SSO) Temelleri
Single Sign-On (SSO), kullanıcıların bir kez kimlik doğrulaması yaparak bir oturum içinde yeniden kimlik doğrulaması yapmadan birden çok uygulamaya erişmesini sağlar. Kullanıcı, Identity Provider'a (kurumsal Active Directory, Okta, Azure AD) giriş yapar, bir oturum belirteci veya assertion alır ve ziyaret ettiği her Service Provider'a bu belirteci sunar. SSO, kullanıcıların yönetmesi gereken parola sayısını azaltarak (parolaların yeniden kullanılmasını azaltır), merkezi kimlik doğrulama politikalarının uygulanmasını sağlayarak ve bir hesap IdP düzeyinde devre dışı bırakıldığında tüm entegre uygulamalardaki erişimi hemen iptal etmeye olanak tanıyarak güvenliği artırır.
SAML 2.0: XML Tabanlı Federasyon
SAML (Security Assertion Markup Language) 2.0, Identity Provider'lar ile Service Provider'lar arasında kimlik doğrulama ve yetkilendirme verilerinin değiş tokuşu için kullanılan XML tabanlı açık standarttır. SAML akışı şöyledir: (1) kullanıcı bir Service Provider'a (ör. Salesforce) erişir, (2) SP, Identity Provider'a (ör. Okta) yönlendirir, (3) kullanıcı IdP'de kimlik doğrulaması yapar, (4) IdP, kullanıcının kimliğini ve özniteliklerini içeren imzalı bir XML SAML Assertion yayımlar, (5) assertion SP'ye geri gönderilir, (6) SP, IdP'nin ortak anahtarını kullanarak assertion'ın imzasını doğrular ve erişim izni verir. SAML, web uygulamalarında kurumsal SSO için yaygın olarak kullanılır.
<!-- Simplified SAML Assertion structure -->
<saml:Assertion xmlns:saml='urn:oasis:names:tc:SAML:2.0:assertion'
IssueInstant='2026-06-21T10:00:00Z'
ID='_abc123'>
<saml:Issuer>https://idp.company.com</saml:Issuer>
<saml:Subject>
<saml:NameID>alice@company.com</saml:NameID>
</saml:Subject>
<saml:Conditions NotBefore='2026-06-21T10:00:00Z'
NotOnOrAfter='2026-06-21T10:05:00Z'/>
<saml:AttributeStatement>
<saml:Attribute Name='groups'>
<saml:AttributeValue>Sales</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
<!-- Signature verifies IdP signed this assertion -->
</saml:Assertion>SAML Rolleri: IdP, SP ve Principal
Bir SAML federasyonuna üç taraf katılır. Principal, erişim arayan kullanıcı veya sistemdir ve kimlik doğrulama sürecini başlatır. Identity Provider (IdP), principal'ın kimliğini doğrulayan ve assertion'lar yayımlayan yetkili kimlik kaynağıdır; Microsoft Azure AD, Okta, Ping Identity ve ADFS buna örnektir. Service Provider (SP), assertion'ı kullanır ve buna dayanarak erişim izni verir; Salesforce, Google Workspace, AWS ve SAML özellikli tüm uygulamalar buna örnektir. SP ve IdP, birbirlerinin uç nokta URL'lerini ve imzalama sertifikalarını içeren meta verileri önceden değiş tokuş ederek güven ilişkisi kurar.
OAuth 2.0: Yetkilendirme Çerçevesi
OAuth 2.0, bir üçüncü taraf uygulamanın kullanıcının kimlik bilgilerini açığa çıkarmadan kullanıcı adına kaynaklara erişmesine olanak tanıyan bir yetkilendirme çerçevesidir (kimlik doğrulama protokolü değildir). Klasik kullanım örneği şudur: 'Bu fotoğraf düzenleme uygulamasının Google Fotoğraflarınıza erişmesine izin verin.' OAuth 2.0 dört rol tanımlar: Resource Owner (kullanıcı), Client (üçüncü taraf uygulama), Authorization Server (belirteçleri yayımlar) ve Resource Server (korunan kaynağı barındırır). Kullanıcı Client'ı yetkilendirir; Client, kullanıcının gerçek parolasına hiçbir zaman ihtiyaç duymadan kaynak sunucusuna sunduğu bir erişim belirteci alır.
OAuth 2.0 Yetkilendirme Kodu Akışı
Authorization Code Flow, web uygulamaları için en güvenli OAuth 2.0 akışıdır. Akış şöyledir: (1) Client, istenen kapsamlarla kullanıcıyı Authorization Server'a yönlendirir; (2) User, Authorization Server'da kimlik doğrulaması yapar ve onay verir; (3) Authorization Server, kısa ömürlü bir authorization code ile geri yönlendirir; (4) Client, istemci kimlik bilgileriyle sunucudan sunucuya yapılan bir çağrı üzerinden kodu bir access token'a (ve isteğe bağlı olarak bir refresh token'a) dönüştürür; (5) Client, Resource Server'ı çağırmak için access token'ı kullanır. Kod değişimi sunucu tarafında gerçekleşir; böylece access token'ın tarayıcı geçmişinde veya günlüklerde açığa çıkması önlenir.
# OAuth 2.0 Authorization Code Flow (step 3-4)
# Step 3: User is redirected back to client with auth code
# GET https://app.example.com/callback?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz
# Step 4: Client exchanges code for access token (server-to-server)
curl -X POST https://auth.example.com/oauth2/token \
-d 'grant_type=authorization_code' \
-d 'code=SplxlOBeZQQYbYS6WxSbIA' \
-d 'redirect_uri=https://app.example.com/callback' \
-d 'client_id=client_abc' \
-d 'client_secret=secret_xyz'
# Response: {'access_token': 'MTQ0Nj...', 'token_type': 'Bearer', 'expires_in': 3600}OpenID Connect: OAuth'a Kimlik Doğrulama Ekleme
OpenID Connect (OIDC), OAuth 2.0 üzerine kurulmuş bir kimlik doğrulama katmanıdır. OAuth yalnızca yetkilendirme sağlar (access token'lar Client'ın neler yapabileceğini kanıtlar); OIDC ise kimlik doğrulaması ekler (bir ID token, kullanıcının kim olduğunu kanıtlar). OIDC, OAuth akışına bir openid kapsamı ekler ve access token'ın yanında imzalı bir JWT (JSON Web Token) ID Token döndürür. ID token, kullanıcıyı tanımlayan claims (ad, e-posta, sub [subject identifier]) içerir. OIDC, artık tüketiciye yönelik SSO için baskın protokoldür; 'Google/Apple/Microsoft ile oturum açın' düğmelerinin tümü OIDC kullanır.
# OIDC ID Token is a JWT with three base64url-encoded parts:
# header.payload.signature
# Decoded payload example:
# {
# 'iss': 'https://accounts.google.com',
# 'sub': '110169484474386276334',
# 'aud': 'client_id_abc123',
# 'exp': 1750000000,
# 'iat': 1749996400,
# 'email': 'alice@gmail.com',
# 'name': 'Alice Smith',
# 'email_verified': true
# }
# The signature is verified with the IdP's public key (from JWKS endpoint)JWT: Modern Kimlik Doğrulamada Belirteçler
JSON Web Tokens (JWT), taraflar arasındaki claims'leri temsil etmek için kullanılan, kısa ve URL güvenli bir biçimdir. Bir JWT, noktalarla ayrılmış, base64url ile kodlanmış üç bölümden oluşur: Header (algoritma ve belirteç türü), Payload (claims: iss, sub, aud, exp, iat ve özel claims) ve Signature (belirtecin bütünlüğünü doğrulayan kriptografik imza). JWT'ler kendi kendine yeterlidir; Resource Server, Authorization Server'a yeniden çağrı yapmadan bunları doğrulayabilir. Bu, performansı artırır ve durumsuz mimarileri mümkün kılar. Kritik güvenlik gereksinimi şudur: JWT Signature'ını her zaman doğrulayın ve exp (son kullanma) ile aud (hedef kitle) claims'lerini kontrol edin.
# Decode a JWT (header and payload are just base64 encoded)
import base64, json
jwt = 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkFsaWNlIiwiZXhwIjoxNzUwMDAwMDAwfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
parts = jwt.split('.')
print('Header:', json.loads(base64.b64decode(parts[0] + '==')))
print('Payload:', json.loads(base64.b64decode(parts[1] + '==')))
# Signature (parts[2]) must be verified with IdP public key!SAML ve OAuth ile OIDC: Hangisi Ne Zaman Kullanılır
Her standardın ne zaman uygulanacağını anlamak Security+ sınavı için kritik öneme sahiptir. SAML 2.0: web uygulamaları için kurumsal SSO, tarayıcı tabanlı akışlar ve XML assertion'ları. Eski olmasına rağmen kuruluşlarda yaygın olarak kullanılmaktadır. OAuth 2.0: API yetkilendirmesi; üçüncü taraf uygulamalara kaynaklara sınırlı erişim verme. Kullanıcıların kimliğini doğrudan doğrulamaz. OIDC: OAuth 2.0 üzerine kurulmuş, tüketici ve modern kurumsal kimlik doğrulaması (SSO). Kullanıcıyı tanımlayan JWT ID token'ları döndürür. Uygulamada kuruluş ortamları, uygulama SSO'su için genellikle SAML'yi, API ve mobil kimlik doğrulaması için OIDC'yi kullanır. Modern bulut öncelikli ortamlar, JSON/JWT biçimi ve daha iyi mobil desteği nedeniyle SAML yerine OIDC'yi tercih eder.
Federasyon Saldırı Vektörleri
Federasyonlu kimlik sistemleri belirli saldırı vektörlerini beraberinde getirir. Assertion replay saldırıları: saldırgan bir SAML assertion'ını ele geçirir ve erişim kazanmak için yeniden kullanır. Kısa assertion ömürleri ve tek kullanımlık assertion ID'leriyle azaltılır. XML signature wrapping (XSW): SAML'de saldırganlar bazen imzalı XML'i değiştirerek, özgün içerikteki imza geçerliliğini korurken claims'leri değiştirebilir. JWT algoritması karışıklığı: bir sunucu hem RS256 (asimetrik) hem de HS256 (simetrik) algoritmalarını kabul ederse saldırgan, sunucunun ortak anahtarını HS256 için HMAC gizli anahtarı olarak kullanarak JWT'ler üretebilir. Algoritma Header'ının beklenen algoritmayla eşleştiğini her zaman doğrulayın. Açık yönlendirme hizmetleri: belirtecin saldırganların denetimindeki sitelere yönlendirme yoluyla çalınmasını önlemek için OAuth yönlendirme URI'leri tam olarak eşleştirilmelidir.
Dizin Federasyonu ve SCIM
Kurumsal kimlik federasyonu çoğu zaman sistemler arasındaki kullanıcı kimliği verilerinin eşitlenmesini gerektirir. SCIM (System for Cross-domain Identity Management), bir Identity Provider ile bağlı Service Provider'lar arasında kullanıcı sağlama ve sağlamayı kaldırma işlemlerini otomatikleştiren bir REST API standardıdır. Azure AD'ye (IdP) yeni bir çalışan eklendiğinde SCIM, Salesforce, Slack, GitHub ve SCIM uyumlu diğer uygulamalarda bu çalışanın hesabını otomatik olarak oluşturur. Çalışanın işine son verildiğinde SCIM, tüm hesapları aynı anda devre dışı bırakır ve sahipsiz hesapların kötüye kullanılabileceği süreyi ortadan kaldırır. SCIM, SSO protokollerinin ele almadığı yaşam döngüsü yönetimini gerçekleştirerek SSO protokollerini (SAML/OIDC) tamamlar.
Hızlı Kontrol
Bu dersteki CompTIA Security+ (SY0-701) kavramlarını anlayıp anlamadığınızı sınayın.
Ders Özeti
Bu derste şunları öğrendiniz: SAML 2.0, kurumsal tarayıcı tabanlı SSO için XML assertion'larını kullanır; OAuth 2.0, API erişimi yetkilendirmesi için bir yetkilendirme çerçevesidir; OpenID Connect, OAuth üzerine kimlik doğrulaması (JWT ID token'ları) ekler; SCIM ise federasyonlu sistemler arasındaki kimlik yaşam döngüsü yönetimini otomatikleştirir. Bu, Kimlik Doğrulama ve Yetkilendirme kursunu tamamlar — sırada Ağ Güvenliği Temelleri konusunu inceleyeceğiz.
Yapay zeka eğitmeniyle Cloud & IT Cert Prep öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 150
- Dersler
- 600
Sıkça Sorulan Sorular
“Birleşik Kimlik: SAML, OAuth ve OpenID Connect” dersi ücretsiz mi?
Evet — “Birleşik Kimlik: SAML, OAuth ve OpenID Connect” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.
“Birleşik Kimlik: SAML, OAuth ve OpenID Connect” dersinde ne öğreneceğim?
SSO, SAML bildirimleri, OAuth 2.0 akışları ve OpenID Connect belirteçlerinin kullanıcıların birçok uygulamada güvenli biçimde tek seferde kimlik doğrulamasını nasıl sağladığını öğrenin. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Birleşik Kimlik: SAML, OAuth ve OpenID Connect” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Parola Politikaları ve Çok Faktörlü Kimlik Doğrulama
- Biyometri ve Belirteç Tabanlı Kimlik Doğrulama
- Yetkilendirme Modelleri: RBAC, MAC ve DAC
- Birleşik Kimlik: SAML, OAuth ve OpenID Connect