Müşteri odaklı dijital uygulamalar geliştirirken en kritik tasarım kararlarından biri kimlik yönetimidir. Kullanıcılarınız nasıl kayıt olacak, nasıl giriş yapacak, şifrelerini unuttularında ne olacak, sosyal hesaplarıyla bağlanabilecekler mi? Bu soruların cevapları hem kullanıcı deneyimini hem de güvenliği doğrudan etkiler. Kendi kimlik altyapınızı sıfırdan yazmak mümkün olsa da, güvenlik, ölçeklenebilirlik ve uyumluluk gereksinimlerini düşündüğünüzde bu iş çok karmaşık ve riskli hale gelir. Azure AD B2C tam da bu ihtiyaca yanıt veren, müşteri kimlik ve erişim yönetimi (CIAM) platformudur.
Azure AD B2C ile Azure AD Farkı
Öncelikle sık karıştırılan bir ayrımı netleştirelim. Azure Active Directory (Azure AD, artık Microsoft Entra ID) kurumsal kimlik yönetimi içindir: çalışanlarınızın, iş ortaklarınızın ve kurumsal uygulamalarınızın kimlik doğrulamasını yönetir. Azure AD B2C ise müşterileriniz için tasarlanmıştır. E-ticaret sitenizin kullanıcıları, mobil uygulamanızın müşterileri, SaaS platformunuzun aboneleri gibi dış kullanıcılar için özelleştirilmiş kayıt, giriş ve profil yönetimi deneyimi sunar.
Teknik olarak Azure AD B2C ayrı bir tenant (kiracı) olarak çalışır. Kurumsal Azure AD tenant’ınızdan bağımsızdır ve milyonlarca müşteri hesabını barındırabilecek kapasitede tasarlanmıştır. Bu ayrım güvenlik açısından da mantıklıdır: müşteri hesaplarının kurumsal dizinle karışmaması hem yönetim hem de güvenlik açısından avantaj sağlar.
User Flows: Hazır Kimlik Akışları
Azure AD B2C’nin en kolay başlangıç noktası User Flow’lardır. Bunlar önceden tanımlanmış kimlik doğrulama akışlarıdır ve portaldan yapılandırılır, kod yazmayı gerektirmez.
Kayıt ve Giriş (Sign-up/Sign-in): Kullanıcıların e-posta veya sosyal hesapla kayıt olmasını ve sonradan giriş yapmasını sağlar. Kayıt formunda hangi bilgilerin isteneceğini (ad, soyad, telefon, doğum tarihi) belirleyebilirsiniz. E-posta doğrulama adımı otomatik olarak dahildir.
Profil Düzenleme (Profile Edit): Giriş yapmış kullanıcıların ad, soyad, adres gibi profil bilgilerini güncellemesine olanak tanır.
Şifre Sıfırlama (Password Reset): Kullanıcı şifresini unuttuğunda self-service olarak sıfırlama yapabilir. E-posta veya telefon doğrulaması ile kimlik teyidi yapıldıktan sonra yeni şifre belirlenir.
Custom Policies: Gelişmiş Senaryolar
User Flow’lar basit senaryolar için yeterli olsa da, gerçek dünya projeleri genellikle daha karmaşık akışlar gerektirir. Custom Policy’ler XML tabanlı yapılandırma dosyalarıdır ve kimlik doğrulama sürecinin her adımını ayrıntılı olarak kontrol etmenize imkan tanır.
Custom Policy ile yapabileceğiniz bazı gelişmiş senaryolar: kayıt sırasında harici bir API çağırarak kullanıcı bilgilerini doğrulama (örneğin TC kimlik numarası doğrulama), özel MFA akışları tasarlama, birden fazla kimlik sağlayıcısını zincirleme (chain), koşullu kimlik doğrulama adımları ekleme, kullanıcı yolculuğunu (user journey) tamamen özel hale getirme. Örneğin bir sigorta portalında kullanıcı giriş yaptıktan sonra poliçe numarasını doğrulayan ek bir adım ekleyebilirsiniz.
Custom Policy geliştirme eğrisi diktir ve XML yapısını iyi anlamak gerekir. Identity Experience Framework (IEF) starter pack ile başlangıç yapabilir, ardından ihtiyaçlarınıza göre özelleştirebilirsiniz.
Sosyal Hesap Entegrasyonu
Azure AD B2C, popüler sosyal platformlarla hazır entegrasyona sahiptir. Google, Facebook, Apple, Twitter ve Microsoft hesaplarını kimlik sağlayıcısı olarak ekleyebilirsiniz. Bunlara ek olarak herhangi bir OpenID Connect veya SAML 2.0 destekleyen kimlik sağlayıcısını da entegre edebilirsiniz. Bu esneklik, kurumsal müşterilerinizin kendi Active Directory’leri ile giriş yapmasına da olanak tanır.
Sosyal hesap girişi kullanıcı deneyimini önemli ölçüde iyileştirir. Kayıt formunu doldurmak yerine tek tıklamayla giriş yapabilmek dönüşüm oranlarını artırır. Araştırmalar gösteriyor ki, sosyal giriş seçeneği sunan platformlarda kayıt oranı yüzde 20-30 daha yüksek oluyor.
Çok Faktörlü Kimlik Doğrulama (MFA)
B2C ortamlarında MFA dengesini iyi kurmak gerekir. Çalışanlara MFA dayatmak kolaydır ancak müşterilere fazla zorlayıcı bir güvenlik adımı uygulamak onları kaybetmenize neden olabilir. Azure AD B2C bu konuda esneklik sunar: riskysa MFA iste, değilse isteme yaklaşımını uygulayabilirsiniz. Yeni cihaz veya yeni lokasyondan giriş yapılıyorsa MFA tetiklenir, bilinen cihaz ve lokasyondan giriş yapılıyorsa atlanır. MFA yöntemleri arasında SMS, e-posta kodu, authenticator uygulaması ve TOTP (zamana dayalı tek kullanımlık şifre) bulunur.
Sayfa Özelleştirme
Azure AD B2C varsayılan olarak Microsoft markalı sayfalar sunar ancak bu sayfaları tamamen özelleştirebilirsiniz. Kendi HTML, CSS ve JavaScript dosyalarınızı barındırarak login, kayıt ve şifre sıfırlama sayfalarını markanızla uyumlu hale getirebilirsiniz. Bu dosyaları Azure Blob Storage veya CDN üzerinde barındırmanız yeterlidir. B2C sayfayı yüklerken sizin şablonunuzu kullanır ve kimlik doğrulama bileşenlerini otomatik olarak sayfaya yerleştirir.
Ölçekleme ve Performans
Azure AD B2C, milyonlarca kullanıcıyı destekleyecek şekilde tasarlanmış küresel bir hizmettir. Coğrafi olarak dağıtılmış altyapısı sayesinde dünya genelinde düşük gecikme süresi sunar. İlk 50.000 kullanıcı aylık olarak ücretsizdir ve bunun üzerinde authentication başına ücretlendirme yapılır. Premium P1 ve P2 lisansları ek özellikler sunar: koşullu erişim, kimlik koruması ve gelişmiş raporlama gibi.
Token Yönetimi ve Oturum Güvenliği
Azure AD B2C kimlik doğrulama sonrasında JWT formatında token’lar döndürür: ID token (kullanıcı kimlik bilgileri), access token (API erişimi) ve refresh token (yeni token alma). Bu token’ların yaşam süreleri ve güvenlik ayarları doğru yapılandırılmalıdır.
ID token genellikle 1 saat geçerlidir ve kullanıcı bilgilerini taşır. Access token API çağrılarında Authorization header’ında gönderilir ve yine 1 saat geçerlidir. Refresh token ise daha uzun ömürlüdür (varsayılan 14 gün, maksimum 90 gün) ve önceki token’lar süresi dolduğunda yeni token almak için kullanılır. Token lifetime’larını uygulamanızın güvenlik gereksinimlerine göre ayarlayın: bankacılık uygulamaları için kısa ömürlü token’lar, e-ticaret siteleri için daha uzunları tercih edilebilir.
Refresh token’lar ele geçirildiğinde ciddi güvenlik riski oluşturur. Bu riski azaltmak için refresh token rotation özelliğini etkinleştirin: her kullanımda eski refresh token geçersiz kılınır ve yeni bir tane verilir. Ayrıca token binding ile token’ı belirli bir cihaza veya oturuma bağlayarak çalınmış token’ın farklı bir cihazda kullanılmasını engelleyebilirsiniz.
API Güvenliği ve Scope Yönetimi
Azure AD B2C ile korunan API’ler, scope (kapsam) mekanizmasıyla erişim kontrolü sağlar. API uygulamanız için scope’lar tanımlarsınız; örneğin read, write, admin gibi. İstemci uygulaması token talep ederken hangi scope’lara ihtiyaç duyduğunu belirtir ve kullanıcı onay verdiğinde (consent) ilgili scope’lar access token’a eklenir.
Bu mekanizmanın gerçek dünya karşılığı şudur: Bir müşteri portalı uygulamanız var. Standart kullanıcılar profil bilgilerini okuyabilmeli (profile.read) ve sipariş geçmişini görebilmeli (orders.read). Premium kullanıcılar ek olarak sipariş oluşturabilmeli (orders.write). Admin kullanıcılar ise tüm müşteri verilerine erişebilmeli (admin.all). Her scope kendi erişim kurallarını taşır ve API tarafında middleware ile doğrulanır.
Uygulama Entegrasyonu: MSAL Kütüphanesi
Azure AD B2C ile uygulamanızı entegre etmek için Microsoft Authentication Library (MSAL) kullanılır. MSAL; JavaScript, React, Angular, .NET, Java, Python ve iOS/Android platformları için SDK’lar sunar. MSAL token alımı, önbellekleme, yenileme ve hata yönetimini otomatik olarak halleder.
Tipik bir React uygulaması entegrasyonu şöyle görünür: @azure/msal-react paketini kurarsınız, B2C tenant bilgilerinizi ve policy adlarını yapılandırırsınız, MsalProvider ile uygulamanızı sararısınız. Ardından useMsalAuthentication hook’u ile login/logout işlemlerini, useAccount hook’u ile kullanıcı bilgilerini yönetirsiniz. Token alımı için acquireTokenSilent öncelikle önbellekten veya refresh token ile sessiz token alımı yapar; başarısız olursa acquireTokenRedirect veya acquireTokenPopup ile kullanıcıyı login sayfasına yönlendirir.
Kullanıcı Göçü (User Migration)
Mevcut bir uygulamayı Azure AD B2C’ye taşırken var olan kullanıcı veritabanını göç ettirmek (migrate) gerekir. İki yaklaşım mevcuttur. Toplu göç (bulk migration) ile tüm kullanıcılar Microsoft Graph API aracılığıyla B2C tenant’ına aktarılır; ancak kullanıcıların mevcut şifreleri hash formatında olduğundan, kullanıcılar ilk girişte veya bir kereye mahsus şifre sıfırlama yapmalıdır.
Kademeli göç (seamless migration) daha iyi bir kullanıcı deneyimi sunar. Custom Policy ile login akışında eğer kullanıcı B2C’de bulunamazsa eski kimlik sistemine REST API çağrısıyla sorgu yapılır. Kullanıcı doğrulanırsa B2C’de otomatik olarak oluşturulur ve sonraki girişlerde doğrudan B2C üzerinden kimlik doğrulama yapılır. Bu yaklaşımda kullanıcılar şifre değiştirmek zorunda kalmaz ve göç onlar için şeffaf olur.
Monitoring ve Analitik
Azure AD B2C kullanım metriklerini izlemek, güvenlik olaylarını takip etmek ve iş kararlarını desteklemek için raporlama önemlidir. Azure Monitor entegrasyonuyla kimlik doğrulama başarı ve başarısızlık oranlarını, en çok kullanılan kimlik sağlayıcılarını (yerel hesap mı, Google mı, Facebook mu?), coğrafi dağılımı ve saatlik kullanım trendlerini izleyebilirsiniz.
Güvenlik açısından başarısız giriş denemelerinin belirli bir eşiği aşması, aynı IP adresinden çok sayıda kayıt denemesi veya token doğrulama hataları gibi durumlar için Log Analytics’te alert kuralları oluşturmalısınız. Bu alarmlar potansiyel brute-force veya account takeover saldırılarını erken aşamada tespit etmenize yardımcı olur.
Fiyatlandırma Detayları
Azure AD B2C’nin fiyatlandırma modeli authentication (kimlik doğrulama) bazlıdır. İlk 50.000 authentication işlemi aylık olarak ücretsizdir. 50.000’in üzerinde her 1.000 authentication için MFA kullanılmadığında yaklaşık 0,003 USD, MFA ile yaklaşık 0,03 USD ücretlendirilir. Depolama ücreti yoktur, kullanıcı sayısına göre ek ücret alınmaz. Bu pricing modeli özellikle büyük kullanıcı tabanına sahip ancak aktif kullanıcı oranı düşük uygulamalar için çok avantajlıdır. Bir milyon kayıtlı kullanıcınız olsa bile ayda sadece 100.000’i aktif giriş yapıyorsa, yalnızca 100.000 authentication için ücret ödersiniz.
Sonuç
Azure AD B2C, müşteri kimlik yönetimini güvenli, ölçeklenebilir ve özelleştirilebilir hale getiren kapsamlı bir platformdur. Sosyal giriş, MFA, özelleştirilebilir sayfalar ve gelişmiş politikalarla müşterilerinize hem güvenli hem de akıcı bir dijital deneyim sunabilirsiniz. Kendi kimlik altyapınızı yönetme yükünden kurtulur, güvenlik sorumluluğunun büyük kısmını Microsoft’a devredersiniz.
Cloudspark kimlik ve erişim yönetimi çözümleri kapsamında Azure AD B2C entegrasyonu, custom policy geliştirme ve marka özelleştirme konularında destek sağlıyoruz.



