Müşteri Kimliği Koruması için Azure AD B2C'yi Yapılandırma

Müşteri Kimliği Koruması için Azure AD B2C'yi Yapılandırma

05/01/2025

Bu teknik ve eğitici makale, müşteri kimliklerini korumak ve yönetmek için güvenlik analistlerine, BT yöneticilerine ve sistem mühendislerine Azure AD B2C'yi (İşletmeden Tüketiciye) yapılandırma ve kullanma konusunda rehberlik etmeyi amaçlamaktadır. Müşteri deneyiminin çok önemli olduğu dijital bir dünyada güvenli, sezgisel ve özelleştirilebilir bir kayıt ve oturum açma süreci sunmak çok önemlidir. Azure AD B2C, müşterilerinizin sosyal kimliklerini (Google, Facebook gibi) veya yerel hesaplarını kullanarak uygulamalarınıza ve API'lerinize kaydolmalarına ve oturum açmalarına olanak tanıyan bir Müşteri Kimliği ve Erişim Yönetimi (CIAM) çözümüdür [1].

Giriş

Müşteri kimliği, modern dijital deneyimin temelidir. Web ve mobil uygulamalar, milyonlarca müşterinin kayıt, oturum açma ve profillerini yönetmek, güvenliği, ölçeklenebilirliği ve gizlilik düzenlemelerine uyumu sağlamak için sağlam bir sisteme ihtiyaç duyar. Dahili bir CIAM sisteminin geliştirilmesi ve sürdürülmesi karmaşık, pahalı ve güvenlik hatalarına açık bir iştir. Azure AD B2C gibi çözümler, müşteri kimlik yönetiminin tüm yönlerini ele alan bir hizmet olarak platform (PaaS) sağlayarak bu karmaşıklığı ortadan kaldırır [2].

Azure AD B2C, tüketiciye yönelik uygulamaların belirli ihtiyaçlarını karşılamak için Azure Active Directory'nin yeteneklerini genişletir. Kuruluşların, oturum açma ve kayıt sayfalarından toplanan özelliklere kadar müşteri kimlik deneyimini tamamen özelleştirmesine olanak tanır. Ek olarak, müşteri hesaplarını kaba kuvvet saldırıları ve güvenliği ihlal edilmiş kimlik bilgileri gibi yaygın tehditlere karşı korumak için çok faktörlü kimlik doğrulama (MFA), Koşullu Erişim ve Kimlik Koruması gibi gelişmiş güvenlik özellikleriyle bütünleşir [3].

Bu pratik kılavuz önkoşulları, B2C kavramlarını, bir B2C kiracısının nasıl oluşturulacağını ve yapılandırılacağını, uygulamaları kaydetmeyi, özelleştirilebilir kullanıcı akışlarını yapılandırmayı (kayıt, oturum açma, profil düzenleme, parola sıfırlama), uygulamalarla nasıl entegre edileceğini ve kimlik doğrulamanın nasıl test edilip doğrulanacağını kapsayacaktır. Okuyucunun bu özellikleri uygulayabilmesi, test edebilmesi ve doğrulayabilmesi için adım adım talimatlar, pratik örnekler ve kısa açıklamalar sağlanacaktır. Ayrıca müşterilerinizin kimliklerinin verimli, bağımsız, profesyonel ve güvenilir bir şekilde korunmasını ve yönetilmesini sağlamak için güvenlik ipuçları, uyumluluk kontrolleri ve en iyi uygulamalar tartışılacaktır.

Müşteri kimliklerini korumak için Azure AD B2C neden önemlidir?

  • Geliştirilmiş Müşteri Deneyimi: Sosyal oturum açma seçenekleri ve tam kullanıcı arayüzü özelleştirmesi sunarak akıcı ve tutarlı bir kullanıcı deneyimi sağlar.
  • Güçlü Güvenlik: Müşteri hesaplarını saldırılara karşı korumak için MFA, Koşullu Erişim ve Kimlik Koruması gibi kurumsal düzeyde güvenlik özelliklerini entegre eder.
  • Ölçeklenebilirlik ve Güvenilirlik: Milyonlarca kullanıcıyı ve milyarlarca kimlik doğrulamayı yönetecek şekilde tasarlanmış olup yüksek kullanılabilirlik ve performans sağlar.
  • Uyumluluk: Müşteri verilerinin depolanması ve işlenmesi üzerinde kontrol sağlayarak GDPR ve LGPD gibi veri gizliliği düzenlemelerinin karşılanmasına yardımcı olur.
  • Maliyet Azaltma: Karmaşık bir iç kimlik altyapısı oluşturma ve sürdürme ihtiyacını ortadan kaldırır.
  • Esneklik: Çok çeşitli kimlik doğrulama protokollerini (OpenID Connect, OAuth 2.0, SAML) destekler ve hemen hemen her uygulamayla entegre edilebilir.

Önkoşullar

Azure AD B2C'yi yapılandırmak için aşağıdaki öğelere ihtiyacınız olacak:

  1. Etkin Azure Aboneliği: Kaynakları oluşturmaya ve yönetmeye yönelik bir Azure aboneliği.
  2. Yönetim Erişimi: Azure aboneliğinde "Genel Yönetici" veya "Kullanıcı Yöneticisi" rolüne sahip bir hesap.
  3. Azure AD B2C Kiracısı: Kurumsal Azure AD kiracınızdan ayrı bir dizin olan yeni bir Azure AD B2C kiracısı.

Adım Adım: Azure AD B2C'yi Yapılandırma

Bir B2C kiracısı oluşturalım, bir uygulamayı kaydedelim ve bir kullanıcı akışı yapılandıralım.

1. Azure AD B2C Kiracısı Oluşturma

B2C kiracısı, müşterilerinizin kimliklerini saklayan ayrı bir dizindir.

  1. Tarayıcınızı açın ve Azure portalına gidin: https://portal.azure.com.
  2. İzinlere sahip bir hesapla oturum açıngerekli.
  3. Üstteki arama alanına Azure Active Directory B2C yazın ve sonuçlardan seçin.
  4. '+ Yeni bir Azure AD B2C kiracısı oluştur' seçeneğine tıklayın.

  5. B2C kiracısı oluşturun:

    • Kiracı Türü: 'Azure AD B2C Kiracısı'.
    • Kuruluş adı: Kuruluşunuz için bir ad verin (ör. "ŞirketimB2C").
    • İlk alan adı: Benzersiz bir alan adı seçin (ör. "mycompanyab2c.onmicrosoft.com").
    • Ülke/Bölge: Ülkenizi/bölgenizi seçin.
    • Abonelik: Azure aboneliğinizi seçin.
    • Kaynak grubu: Yeni bir kaynak grubu oluşturun (ör. rg-b2c) veya mevcut bir kaynak grubunu seçin.
  6. 'İncele + oluştur'u ve ardından Oluştur'u tıklayın.

    • Açıklama: B2C kiracısının oluşturulması birkaç dakika sürebilir. Oluşturulduktan sonra, yönetmek için bu yeni B2C dizinine geçmeniz gerekecektir.

2. Azure AD B2C'de Bir Uygulamayı Kaydetme

Kimlik doğrulama için Azure AD B2C kullanacak her uygulamanın kaydedilmesi gerekir.

  1. Azure portalında Azure AD B2C kiracısında olduğunuzdan emin olun (sağ üst köşedeki dizin seçiciyi kullanın).
  2. Sol gezinme bölmesinde, 'Yönet'in altında Uygulama Kayıtları'nı seçin.
  3. '+ Yeni kayıt'ı tıklayın.

  4. Bir başvuruyu kaydedin:

    • Ad: Uygulamanız için bir ad verin (ör. WebApp-MinhaEmpresa).
    • Desteklenen hesap türleri: 'Herhangi bir kuruluş dizinindeki veya kimlik sağlayıcı dizinindeki hesaplar (kullanıcı akışlarıyla kullanıcıların kimliğini doğrulamak için)' seçeneğini seçin.
    • Yönlendirme URI'si (isteğe bağlı): "Web"i seçin ve oturum açtıktan sonra kimlik doğrulama belirtecinin gönderileceği URL'yi girin (ör. yerel geliştirme için "https://localhost:5001/signin-oidc") veya uygulamanızın üretim URL'si).
    • İzinler: "Openid ve offline_access izinleri için yönetici izni ver" seçeneğini işaretleyin.
  5. Kaydol'a tıklayın.

  6. Kayıttan sonra Uygulama Kimliğini (istemci) ve Dizin Kimliğini (kiracı) not edin. Uygulamanızı yapılandırmak için bunlara ihtiyacınız olacak.

3. Kullanıcı Akışları Oluşturma

Kullanıcı akışları; kayıt, oturum açma, profil düzenleme ve parola sıfırlama için önceden tanımlanmış, özelleştirilebilir kimlik deneyimleridir.

  1. Azure AD B2C kiracınızın sol gezinme bölmesinde, "İlkeler"in altında Kullanıcı Akışları seçeneğini seçin.
  2. '+Yeni Kullanıcı Akışı'nı tıklayın.

  3. Kullanıcı akışı oluşturun:

    • Kullanıcı akış türü: "Kaydol ve oturum aç"ı seçin.
    • Sürüm: Önerilen.
    • Ad: Bir ad verin (ör. "B2C_1_signup_signin").
    • Kimlik Sağlayıcılar: "Yerel Hesap E-postası"nı (ve sosyal sağlayıcıları entegre etmek istiyorsanız "Google", "Facebook" gibi diğerlerini) seçin.
    • Kullanıcı Nitelikleri ve Belirteç Talepleri: Kayıt sırasında toplamak istediğiniz nitelikleri (ör. "E-posta Adresi", "Verilen Ad", "Soyadı") ve belirtece dahil edilecek talepleri seçin.
    • Multi-Factor Authentication (MFA): 'Devre Dışı' (bu örnek için, ancak ekstra güvenlik için etkinleştirilebilir).
    • Koşullu Erişim: 'Devre Dışı' (bu örnek için).
  4. Oluştur'u tıklayın.

  5. 'Parola Sıfırlama' (örneğin 'B2C_1_password_reset') ve 'Profil Düzenleme' (örneğin 'B2C_1_profile_edit') gibi diğer kullanıcı akışlarını oluşturmak için işlemi tekrarlayın.

    • Açıklama: Kullanıcı akışları, müşteri kimliği deneyiminin omurgasıdır. Kimlik doğrulama işlemi sırasında kullanıcının sahip olacağı ekranların ve etkileşimlerin sırasını tanımlarlar. Bu akışların görünümünü ve davranışını özelleştirebilirsiniz.

4. Kullanıcı Akışlarının Kullanıcı Arayüzünü (UI) Özelleştirme

Giriş ve kayıt sayfalarının görünümünü uygulamanızın markasına uyacak şekilde özelleştirebilirsiniz.

  1. Azure AD B2C kiracınızın sol gezinti bölmesinde Kullanıcı Akışları'nı seçin.
  2. Oluşturduğunuz kullanıcı akışına tıklayın (ör. "B2C_1_signup_signin").
  3. Sol gezinme bölmesinde Sayfa Düzenleri'ni seçin.
  4. Markanıza uyacak şekilde özel CSS veya HTML kullanarak her sayfanın düzenini (ör. "Birleşik Giriş Sayfası", "Yerel Hesap Kayıt Sayfası") özelleştirebilirsiniz.

    • Açıklama: Gelişmiş özelleştirme için kendi HTML/CSS/JavaScript dosyalarınızı bir Azure blob depolama alanında barındırabilir ve bunlara referans verebilirsiniz.onlar burada.

5. Azure AD B2C'yi Bir Uygulamayla Tümleştirme

Entegrasyon, uygulamanızı kimlik doğrulama için Azure AD B2C kullanacak şekilde yapılandırmayı içerir. Süreç, uygulamanızın platformuna ve çerçevesine bağlı olarak değişir. Bir web uygulaması için kavramsal bir örnek kullanacağız.

  1. Uygulamayı OpenID Connect Kullanacak Şekilde Yapılandırın: Uygulamanızın Azure AD B2C ile iletişim kurmak için bir OpenID Connect istemcisi kullanması gerekecektir.
  2. Yapılandırma Parametreleri: B2C kiracınızdan ve kayıtlı uygulamanızdan aşağıdaki parametrelere ihtiyacınız olacaktır:

    • İstemci Kimliği (Uygulama Kimliği): Kayıtlı uygulamanızın kimliği (ör. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
    • B2C Kiracı Kimliği (Kiracı Kimliği): B2C kiracınızın adı (ör. "mycompanyab2c.onmicrosoft.com").
    • Kullanıcı Akışı Adı (Politika Adı): Oturum açmak için kullanmak istediğiniz kullanıcı akışının adı (ör. "B2C_1_signup_signin").
    • Yönlendirme URI'si: Uygulama kaydında yapılandırdığınız URL (ör. https://localhost:5001/signin-oidc).
    • OpenID Connect Meta Veri Uç Noktası: Bu uç nokta, B2C yapılandırma bilgilerini sağlar. Biçim genellikle "https://.b2clogin.com/.onmicrosoft.com//v2.0/.well-known/openid-configuration" şeklindedir.

    • Yapılandırma örneği (ASP.NET Core web uygulaması için sahte kod): keskin // Startup.cs veya Program.cs services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(seçenekler => { Configuration.Bind("AzureAdB2C", seçenekler); options.Instance = "https://minhaemppresab2c.b2clogin.com"; options.Domain = "sirketimab2c.onmicrosoft.com"; options.ClientId = ""; options.SignUpSignInPolicyId = "B2C_1_signup_signin"; options.CallbackPath = "/signin-oidc"; options.SignedOutCallbackPath = "/signout-oidc"; options.ClientSecret = ""; // Yalnızca SPA olmayan web uygulamaları için }); ''''

    • Açıklama: "Microsoft.Identity.Web" kitaplığı, Azure AD B2C'nin .NET uygulamalarıyla entegrasyonunu basitleştirir. Diğer platformlar için eşdeğer SDK'lar ve kütüphaneler mevcuttur.

Doğrulama ve Test Etme

Kimlik doğrulama sürecini ve kullanıcı deneyimini test etmek çok önemlidir.

1. Kayıt ve Oturum Açma Kullanıcı Akışını Test Etme

  1. Senaryo: Azure AD B2C'yi kullanacak şekilde yapılandırılmış web uygulamanıza erişin. Yeni bir kullanıcı kaydetmeyi deneyin ve ardından yeni oluşturulan hesapla oturum açın.
  2. Beklenen Eylem: Azure AD B2C kayıt/oturum açma sayfasına yönlendirilmeniz, hesap oluşturabilmeniz, oturum açabilmeniz ve uygulamanıza başarılı bir şekilde geri yönlendirilebilmeniz gerekir.
  3. Doğrulama:
    • Azure portalında, B2C kiracınızda, "Yönet"in altında Kullanıcılar'a gidin. Yeni kullanıcı listede görünmelidir.
    • Kayıt ve oturum açma olaylarını onaylamak için Azure AD B2C denetim günlüklerini kontrol edin.

2. Parola Sıfırlamayı Test Etme

  1. Senaryo: Parola sıfırlama kullanıcı akışını kullanarak kullanıcının parolasını sıfırlamayı deneyin.
  2. Beklenen Eylem: Kullanıcı, parolasını sıfırlayabilmeli ve yeni parolayla oturum açabilmelidir.
  3. Doğrulama:
    • Parola sıfırlama olayını onaylamak için Azure AD B2C denetim günlüklerini kontrol edin.

3. Azure AD B2C'de denetim günlüklerini kontrol etme

  1. Azure portalında, B2C kiracınızda Azure Active Directory > İzleme > Denetim günlükleri'ne gidin.
  2. Günlükleri "Kategori" = "Çekirdek Dizin" ve "Etkinlik" = "Oturum Açma" veya "Kayıt Olma"ya göre filtreleyin.
  3. Kimlik doğrulama işlemlerinin başarısını onaylamak için etkinlik ayrıntılarını kontrol edin.

Güvenlik İpuçları ve En İyi Uygulamalar

  • MFA'yı etkinleştir: Oturum açma kullanıcı akışları için, özellikle ayrıcalıklara veya hassas verilere erişime sahip hesaplar için her zaman çok faktörlü kimlik doğrulamayı (MFA) etkinleştirin. MFA, kimlik bilgilerinin ele geçirilmesine yönelik saldırılara karşı en etkili savunmalardan biridir.
  • Koşullu Erişim Kullanın: Bilinmeyen konumlardan veya uyumlu olmayan cihazlardan oturum açma için MFA'nın zorunlu kılınması gibi risk tabanlı güvenlik ilkelerini uygulamak için Azure AD B2C'yi Koşullu Erişim ile entegre edin [3].
  • Kimlik Koruması:Sızan kimlik bilgileri veya anormal oturum açma bilgileri gibi kimlik risklerini algılamak ve düzeltmek için Azure AD B2C Kimlik Koruması özelliklerini kullanın.
  • Güvenli Kullanıcı Arayüzü Özelleştirmesi: Oturum açma/kayıt sayfalarını özelleştirirken, özel HTML/CSS/JavaScript'in güvenlik açıklarına (ör. XSS) yol açmadığından emin olun. Doğru yapılandırılmış CORS ile güvenli blob depolamayı kullanın.
  • Kullanıcı Özniteliklerini Kısıtla: Yalnızca uygulamanız ve işiniz için kesinlikle gerekli olan kullanıcı özniteliklerini toplayın. Bu, verilerin açığa çıkması riskini en aza indirir ve uyumluluğa yardımcı olur.
  • Günlük İzleme: Şüpheli etkinlikleri veya saldırı girişimlerini algılamak için Azure AD B2C denetim günlüklerini ve oturum açma günlüklerini sürekli olarak izleyin.
  • İstemci Sırrı Rotasyonu: Uygulamanız bir istemci sırrı kullanıyorsa, onu düzenli olarak döndürdüğünüzden ve güvenli bir şekilde sakladığınızdan emin olun (ör. Azure Key Vault).
  • Sosyal Sağlayıcılarla Entegrasyon: Google veya Facebook gibi sosyal kimlik sağlayıcılarını entegre ederken, bunları doğru şekilde yapılandırın ve her sağlayıcının güvenlik yönergelerine uyun.

Genel Sorun Giderme

  • B2C kiracısı oluşturulurken hata oluştu:
    • Azure aboneliğinizde gerekli izinlere sahip olup olmadığınızı kontrol edin.
    • Başlangıç ​​alan adının benzersiz olduğundan ve kullanımda olmadığından emin olun.
  • Giriş/kayıt sonrasında yönlendirme hatası:
    • Azure AD B2C'deki uygulama kaydında yapılandırılan "Yönlendirme URI'sinin" uygulamanızın dönüş URL'siyle tam olarak eşleştiğini doğrulayın.
    • Protokolün (HTTP/HTTPS) ve bağlantı noktasının doğru olduğundan emin olun.
  • Kullanıcı akışı çalışmıyor veya hata görüntülüyor:
    • Kullanıcı akışının doğru şekilde oluşturulduğunu ve kimlik sağlayıcıların ve kullanıcı özelliklerinin seçildiğini doğrulayın.
    • Sorunu belirlemek için kullanıcı akışını doğrudan Azure portalından test edin (kullanıcı akışı sayfasında 'Kullanıcı akışını çalıştır'a tıklayın).
    • Hata mesajları için denetim günlüklerini kontrol edin.
  • Kullanıcı arayüzü özelleştirmesi uygulanmaz:
    • Özel CSS/HTML dosyalarının URL'lerinin doğru ve genel olarak erişilebilir olduğunu (blob depolamada barındırılıyorsa) kontrol edin.
    • 'b2clogin.com' alanından erişime izin vermek için blob depolama alanınızda CORS'un doğru şekilde yapılandırıldığından emin olun.
    • En son değişikliklerin yüklendiğinden emin olmak için tarayıcınızın önbelleğini temizleyin.
  • Uygulama entegrasyonu sorunları:
    • Uygulamanızda "Müşteri Kimliği", "B2C Kiracı Kimliği" ve "Kullanıcı Akışı Adı"nın doğru şekilde yapılandırıldığını kontrol edin.
    • Uygulamanızdaki kimlik doğrulama kitaplıklarının güncel olduğundan emin olun.
    • Kimlik doğrulama hata mesajları için uygulama günlüklerinizi kontrol edin.

Sonuç

Azure AD B2C, müşterilerinizin kimliklerini yönetmeye ve korumaya yönelik, gelişmiş bir kullanıcı deneyimi ve sağlam güvenlik sunan güçlü ve esnek bir çözümdür. Kimlik yönetiminin karmaşıklığını Microsoft'a devrederek kuruluşlar ana işlerine odaklanabilir ve müşteri verilerinin güvenli ve uyumlu olmasını sağlayabilir. Kullanıcı akışlarının dikkatli bir şekilde uygulanması, en iyi güvenlik uygulamalarıyla entegrasyon ve sürekli izleme, Azure AD B2C'nin faydalarını en üst düzeye çıkarmak için kritik öneme sahiptir. Bu pratik kılavuzla güvenlik uzmanları ve BT yöneticileri, Azure AD B2C'yi yapılandırmak, doğrulamak ve yönetmek için iyi bir donanıma sahip olacak, müşterilerinin kimliklerini koruyacak ve uygulamalarının genel güvenlik duruşunu güçlendirecek.


Referanslar:

[1] Microsoft Learn. Azure Active Directory B2C belgeleri. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/ [2] Microsoft Learn. Azure AD B2C için en iyi uygulamalar. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/best-practices [3] Microsoft Learn. Azure AD B2C'de Kimlik Koruması ve Koşullu Erişim. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/conditional-access-identity-protection-overview [4] Microsoft Learn. Azure Active Directory B2C'ye bir web uygulaması kaydedin. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-register-applications [5] Microsoft Learn. Kullanıcı akışları ve özel ilkeler oluşturun - Azure Active Directory B2C. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/tutorial-create-user-flows [6] Microsoft Learn. Azure AD B2C'yi kullanarak örnek bir web uygulamasında kimlik doğrulamayı yapılandırın. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/configure-authentication-sample-web-app [7] Microsoft Learn. Azure AD B2C'deki Kimlik Koruması ile riskleri araştırın. Şu adreste bulunabilir: https://learn.microsoft.com/pt-br/azure/active-directory-b2c/identity-protection-investigate-risk