Azure AD B2C özel ilkesine genel bakış

Özel ilkeler, Azure Active Directory B2C (Azure AD B2C) kiracınızın davranışlarını tanımlayan yapılandırma dosyalarıdır. En yaygın kimlik görevleri için Azure AD B2C portalında kullanıcı akışları önceden tanımlanmış olsa da, birçok farklı görevi tamamlamak için özel ilkeler bir kimlik geliştiricisi tarafından tamamen düzenlenebilir.

Özel ilke tamamen yapılandırılabilir ve ilke temellidir. Özel ilke, standart protokollerdeki varlıklar arasında güveni düzenler. Örneğin, OpenID Bağlan, OAuth, SAML ve standart olmayan birkaç tane, örneğin REST API tabanlı sistemden sisteme talep alışverişleri. Çerçeve, kullanıcı dostu, beyaz etiketli deneyimler oluşturur.

Özel ilke, hiyerarşik bir zincirde birbirine başvuran bir veya daha fazla XML biçimli dosya olarak temsil edilir. XML öğeleri yapı taşları, kullanıcı ve diğer taraflarla etkileşimi ve iş mantığını tanımlar.

Özel ilke başlangıç paketi

Azure AD B2C özel ilke başlangıç paketi , hızlı bir şekilde çalışmaya başlamanızı sağlamak için önceden oluşturulmuş çeşitli ilkelerle birlikte gelir. Bu başlangıç paketlerinin her biri, açıklanan senaryolara ulaşmak için gereken en az sayıda teknik profili ve kullanıcı yolculuğunu içerir:

  • LocalAccounts - Yalnızca yerel hesapların kullanımını etkinleştirir.
  • SocialAccounts - Yalnızca sosyal (veya federasyon) hesaplarının kullanılmasını sağlar.
  • SocialAndLocalAccounts - Hem yerel hem de sosyal hesapların kullanılmasını sağlar. Örneklerimizin çoğu bu ilkeye başvurur.
  • SocialAndLocalAccountsWithMFA - Sosyal, yerel ve çok faktörlü kimlik doğrulama seçeneklerini etkinleştirir.

Azure AD B2C örnekleri GitHub deposunda, çeşitli gelişmiş Azure AD B2C özel CIAM kullanıcı yolculukları için örnekler bulacaksınız. Örneğin, yerel hesap ilkesi geliştirmeleri, sosyal hesap ilkesi geliştirmeleri, MFA geliştirmeleri, kullanıcı arabirimi geliştirmeleri, genel geliştirmeler, uygulama geçişi, kullanıcı geçişi, koşullu erişim, web testi ve CI/CD.

Temel bilgileri anlama

Talepler

Talep, Azure AD B2C ilkesi yürütme sırasında verilerin geçici olarak depolanmasını sağlar. Kullanıcı hakkında ad, soyadı veya kullanıcıdan veya diğer sistemlerden (talep değişimleri) alınan diğer talepler gibi bilgileri depolayabilir. Talep şeması, taleplerinizi bildirdiğiniz yerdir.

İlke çalıştırıldığında, Azure AD B2C iç ve dış taraflara talep gönderip alır ve ardından bu taleplerin bir alt kümesini belirtecin bir parçası olarak bağlı olan taraf uygulamanıza gönderir. Talepler şu yollarla kullanılır:

  • Talep, dizin kullanıcı nesnesine göre kaydedilir, okunur veya güncelleştirilir.
  • Bir dış kimlik sağlayıcısından talep alınır.
  • Talepler özel bir REST API hizmeti kullanılarak gönderilir veya alınır.
  • Veriler, kaydolma veya profil akışlarını düzenleme sırasında kullanıcıdan talep olarak toplanır.

Taleplerinizi düzenleme

Talep dönüştürmeleri , belirli bir talebi başka bir talepe dönüştürmek, talebi değerlendirmek veya talep değeri ayarlamak için kullanılabilen önceden tanımlanmış işlevlerdir. Örneğin, bir dize koleksiyonuna öğe ekleme, dizenin büyük/küçük harflerini değiştirme veya tarih ve saat talebini değerlendirme. Talep dönüştürme bir dönüştürme yöntemi belirtir.

Kullanıcı arabiriminizi özelleştirme ve yerelleştirme

Kullanıcılarınızdan web tarayıcılarında bir sayfa sunarak bilgi toplamak için , kendi kendine onaylanan teknik profili kullanın. Talep eklemek ve kullanıcı girişini özelleştirmek için kendi kendine onaylanan teknik profilinizi düzenleyebilirsiniz.

Kendi kendini onayladığınız teknik profilinizin kullanıcı arabirimini özelleştirmek için, içerik tanımı öğesinde özelleştirilmiş HTML içeriğine sahip bir URL belirtirsiniz. Kendi kendine onaylanan teknik profilde bu içerik tanımı kimliğine işaret edin.

Dile özgü dizeleri özelleştirmek için yerelleştirme öğesini kullanın. İçerik tanımı, yüklenmek üzere yerelleştirilmiş kaynakların listesini belirten bir yerelleştirme başvurusu içerebilir. Azure AD B2C, kullanıcı arabirimi öğelerini URL'nizden yüklenen HTML içeriğiyle birleştirir ve ardından sayfayı kullanıcıya görüntüler.

Bağlı olan taraf ilkesine genel bakış

SAML protokolünde hizmet sağlayıcısı olarak bilinen bağlı olan taraf uygulaması, belirli bir kullanıcı yolculuğunu yürütmek için bağlı olan taraf ilkesini çağırır. Bağlı olan taraf ilkesi, yürütülecek kullanıcı yolculuğunu ve belirtecin içerdiği taleplerin listesini belirtir.

Diagram showing the policy execution flow

Aynı ilkeyi kullanan tüm bağlı olan taraf uygulamaları aynı belirteç taleplerini alır ve kullanıcı aynı kullanıcı yolculuğundan geçer.

Kullanıcı yolculukları

Kullanıcı yolculukları , kullanıcının uygulamanıza erişmek için izleyeceği yol ile iş mantığını tanımlamanızı sağlar. Kullanıcı, uygulamanıza sunulacak talepleri almak için kullanıcı yolculuğuna alınır. Kullanıcı yolculuğu, bir dizi düzenleme adımından oluşturulur. Kullanıcının belirteç almak için son adıma ulaşması gerekir.

Aşağıdaki yönergeler, sosyal ve yerel hesap başlangıç paketi ilkesine düzenleme adımlarını nasıl ekleyebileceğinizi açıklamaktadır. Aşağıda eklenmiş bir REST API çağrısı örneği verilmiştir.

customized user journey

Düzenleme adımları

Düzenleme adımı, amaçlanan amacını veya işlevselliğini uygulayan bir yönteme başvurur. Bu yönteme teknik profil adı verilir. Kullanıcı yolculuğunuzun iş mantığını daha iyi temsil etmesi için dallanma gerektiğinde, düzenleme adımı alt yolculuğa başvurur. Alt yolculuk kendi düzenleme adımları kümesini içerir.

Bir kullanıcının belirteç almak için kullanıcı yolculuğundaki son düzenleme adımına ulaşması gerekir. Ancak kullanıcıların tüm düzenleme adımları boyunca seyahat etmelerine gerek olmayabilir. Düzenleme adımları, düzenleme adımında tanımlanan önkoşullara göre koşullu olarak yürütülebilir.

Düzenleme adımı tamamlandıktan sonra Azure AD B2C, çıktısı alınan talepleri talep çantasında depolar. Talep çantasındaki talepler, kullanıcı yolculuğundaki diğer düzenleme adımları tarafından kullanılabilir.

Aşağıdaki diyagramda, kullanıcı yolculuğunun düzenleme adımlarının talep paketine nasıl erişebileceği gösterilmektedir.

Azure AD B2C user journey

Teknik profil

Teknik profil, farklı taraf türleriyle iletişim kurmak için bir arabirim sağlar. Kullanıcı yolculuğu, iş mantığınızı tanımlamak için düzenleme adımları aracılığıyla teknik profilleri çağırmayı birleştirir.

Tüm teknik profil türleri aynı kavramı paylaşır. Giriş talepleri gönderir, talep dönüştürmeyi çalıştırır ve yapılandırılan tarafla iletişim kurarsınız. İşlem tamamlandıktan sonra teknik profil çıkış taleplerini talep çantasına döndürür. Daha fazla bilgi için bkz. teknik profillere genel bakış.

Doğrulama teknik profili

Kullanıcı kullanıcı arabirimiyle etkileşime geçtiğinde, toplanan verileri doğrulamak isteyebilirsiniz. Kullanıcıyla etkileşime geçmek için , kendinden onaylanan bir teknik profil kullanılmalıdır.

Kullanıcı girişini doğrulamak için, kendi kendini onaylayan teknik profilden bir doğrulama teknik profili çağrılır. Doğrulama teknik profili, etkileşimli olmayan herhangi bir teknik profili çağırma yöntemidir. Bu durumda, teknik profil çıkış taleplerini veya hata iletisini döndürebilir. Hata iletisi ekranda kullanıcıya işlenir ve kullanıcının yeniden denemesine olanak tanır.

Aşağıdaki diyagramda Azure AD B2C'nin kullanıcı kimlik bilgilerini doğrulamak için bir doğrulama teknik profilini nasıl kullandığı gösterilmektedir.

Validation technical profile diagram

Devralma modeli

Her başlangıç paketi aşağıdaki dosyaları içerir:

  • Tanımların çoğunu içeren bir Temel dosya. İlkelerinizin sorunlarını gidermeye ve uzun süreli bakıma yardımcı olmak için, bu dosyada yaptığınız değişikliklerin sayısını en aza indirmeyi deneyin.
  • Yerelleştirme dizelerini tutan bir Yerelleştirme dosyası. Bu ilke dosyası Temel dosyadan türetilir. Müşteri gereksinimlerinize uygun farklı dilleri barındırmak için bu dosyayı kullanın.
  • Kiracınız için benzersiz yapılandırma değişikliklerini barındıran bir Uzantılar dosyası. Bu ilke dosyası Yerelleştirme dosyasından türetilir. Yeni işlevler eklemek veya mevcut işlevselliği geçersiz kılmak için bu dosyayı kullanın. Örneğin, yeni kimlik sağlayıcılarıyla federasyon yapmak için bu dosyayı kullanın.
  • Web, mobil veya masaüstü uygulamalarınız gibi bağlı olan taraf uygulaması tarafından doğrudan çağrılan tek görev odaklı dosya olan Bağlı Taraf (RP) dosyası. Kaydolma, oturum açma veya profil düzenleme gibi her benzersiz görev kendi bağlı olan taraf ilke dosyasını gerektirir. Bu ilke dosyası uzantılar dosyasından türetilir.

Devralma modeli aşağıdaki gibidir:

  • Herhangi bir düzeydeki alt ilke üst ilkeden devralabilir ve yeni öğeler ekleyerek bunu genişletebilir.
  • Daha karmaşık senaryolar için daha fazla devralma düzeyi ekleyebilirsiniz (toplamda 10'a kadar).
  • Daha fazla bağlı olan taraf ilkesi ekleyebilirsiniz. Örneğin, hesabımı silin, telefon numarasını, SAML bağlı olan taraf ilkesini ve daha fazlasını değiştirin.

Aşağıdaki diyagramda ilke dosyaları ile bağlı olan taraf uygulamaları arasındaki ilişki gösterilmektedir.

Diagram showing the trust framework policy inheritance model

Rehberlik ve en iyi deneyimler

En iyi yöntemler

Azure AD B2C özel ilkesinde, ihtiyacınız olan kullanıcı deneyimlerini oluşturmak ve hizmetin işlevselliğini genişletmek için kendi iş mantığınızı tümleştirebilirsiniz. Başlamak için bir dizi en iyi uygulama ve önerimiz var.

  • Mantığınızı uzantı ilkesi veya bağlı olan taraf ilkesi içinde oluşturun. Aynı kimlikle temel ilkeyi geçersiz kılacak yeni öğeler ekleyebilirsiniz. Bu yaklaşım, Microsoft'un yeni başlangıç paketleri yayımlaması durumunda temel ilkeyi yükseltmeyi kolaylaştırırken projenizin ölçeğini genişletmenize olanak sağlar.
  • Temel ilkede değişiklik yapmaktan kaçınmanızı kesinlikle öneririz. Gerektiğinde, değişikliklerin yapıldığı yerde açıklamalar yapın.
  • Teknik profil meta verileri gibi bir öğeyi geçersiz kıldığınızda, temel ilkeden teknik profilin tamamını kopyalamaktan kaçının. Bunun yerine, öğesinin yalnızca gerekli bölümünü kopyalayın. Değişikliğin nasıl yapılacağını gösteren bir örnek için bkz. E-posta doğrulamayı devre dışı bırakma .
  • Temel işlevlerin paylaşıldığı teknik profillerin çoğaltılma oranını azaltmak için teknik profil ekleme özelliğini kullanın.
  • Oturum açma sırasında Azure AD dizinine yazmaktan kaçının; bu da azaltma sorunlarına yol açabilir.
  • İlkenizin REST API'leri gibi dış bağımlılıkları varsa bunların yüksek oranda kullanılabilir olduğundan emin olun.
  • Daha iyi bir kullanıcı deneyimi için, özel HTML şablonlarınızın çevrimiçi içerik teslimi kullanılarak genel olarak dağıtıldığından emin olun. Azure Content Delivery Network (CDN), yükleme sürelerini azaltmanıza, bant genişliğinden tasarruf etmenizi ve yanıt hızını artırmanızı sağlar.
  • Kullanıcı yolculuğunda değişiklik yapmak istiyorsanız, temel ilkedeki tüm kullanıcı yolculuğunu uzantı ilkesine kopyalayın. Kopyaladığınız kullanıcı yolculuğuna benzersiz bir kullanıcı yolculuğu kimliği girin. Ardından bağlı olan taraf ilkesinde, varsayılan kullanıcı yolculuğu öğesini yeni kullanıcı yolculuğuna işaret etmek üzere değiştirin.

Sorun giderme

Azure AD B2C ilkeleriyle geliştirme yaparken, kullanıcı yolculuğunuzu yürütürken hatalarla veya özel durumlarla karşılaşabilirsiniz. , Uygulama Analizler kullanılarak araştırılabilir.

Sürekli tümleştirme

Azure Pipelines'de ayarladığınız sürekli tümleştirme ve teslim (CI/CD) işlem hattını kullanarak Azure AD B2C özel ilkelerinizi yazılım teslimi ve kod denetimi otomasyonuna ekleyebilirsiniz. Geliştirme, test ve üretim gibi farklı Azure AD B2C ortamlarına dağıtım yaparken, el ile gerçekleştirilen işlemleri kaldırmanızı ve Azure Pipelines kullanarak otomatik test gerçekleştirmenizi öneririz.

Ortamınızı hazırlama

Azure AD B2C özel ilkesini kullanmaya başlarsınız:

  1. Azure AD B2C kiracısı oluşturma
  2. İlkenizi test edebilmeniz için Azure portal kullanarak bir web uygulaması kaydedin.
  3. Gerekli ilke anahtarlarını ekleyin ve Identity Experience Framework uygulamalarını kaydedin.
  4. Azure AD B2C ilkesi başlangıç paketini alın ve kiracınıza yükleyin.
  5. Başlangıç paketini karşıya yükledikten sonra kaydolma veya oturum açma ilkenizi test edin.
  6. Visual Studio Code (VS Code) indirip yüklemenizi öneririz. Visual Studio Code, masaüstünüzde çalışan ve Windows, macOS ve Linux için kullanılabilen basit ama güçlü bir kaynak kodu düzenleyicisidir. VS Code ile VS Code için Azure AD B2C uzantısını yükleyerek Azure AD B2C özel ilke XML dosyalarınızda hızla gezinebilir ve bunları düzenleyebilirsiniz

Sonraki adımlar

Azure AD B2C ilkenizi ayarlayıp test ettikten sonra ilkenizi özelleştirmeye başlayabilirsiniz. Nasıl yapılacağını öğrenmek için aşağıdaki makaleleri inceleyin: