Parolasız kimlik doğrulaması için Azure Active Directory B2C ile İletme Güvenliğini yapılandırma
Bu öğreticide, Azure Active Directory B2C (Azure AD B2C) kimlik doğrulamasını parolasız bir kimlik doğrulama çözümü olan İletme Güvenliği BindID ile tümleştirmeyi öğrenin. BindID, güvenilir çok kanallı kimlik doğrulaması için güçlü Fast Identity Online (FIDO2) biyometrik kimlik doğrulaması kullanır. Çözüm, cihazlar ve kanallar genelinde müşteriler için sorunsuz oturum açma deneyimi sağlarken sahtekarlık, kimlik avı ve kimlik bilgisi yeniden kullanımını azaltır.
Senaryo açıklaması
Aşağıdaki mimari diyagramında uygulama gösterilmektedir.
- Kullanıcı Azure AD B2C oturum açma sayfasını açar ve oturum açar veya kaydolr.
- Azure AD B2C, kullanıcıyı OpenID Connect (OIDC) isteği kullanarak BindID'ye yönlendirir.
- BindID, parmak izi gibi appless FIDO2 biyometrisini kullanarak kullanıcının kimliğini doğrular.
- BindID'ye merkezi olmayan bir kimlik doğrulama yanıtı döndürülür.
- OIDC yanıtı Azure AD B2C'ye geçer.
- Doğrulama sonuçlarına bağlı olarak kullanıcıya uygulamaya erişim izni verilir veya erişim reddedilir.
Önkoşullar
Başlamak için gerekli olanlar:
- Microsoft Entra aboneliği
- Hesabınız yoksa ücretsiz bir Azure hesabı edinin
- Azure aboneliğine bağlı bir Azure AD B2C kiracısı
- BindID kiracısı
- Başlamak için transmitsecurity.com gidin
- web uygulamasını Azure portal kaydetme
- Azure AD B2C özel ilkeleri
- İlkeleri kullanamıyorsanız bkz. Öğretici: Azure AD B2C'de kullanıcı akışları ve özel ilkeler oluşturma
BindID'de uygulama kaydetme
Başlamak için:
- Uygulamanızı Yapılandırmak için developer.bindid.io gidin.
- BindID Yönetici Portalı'nda bir uygulama ekleyin. Oturum açma gereklidir.
Özellik | Açıklama |
---|---|
Ad | Uygulama adı |
Etki alanı | your-B2C-tenant-name.onmicrosoft.com yazın. değerini Azure AD B2C kiracınızla değiştirinyour-B2C-tenant . |
Yeniden yönlendirme URI'leri | https://jwt.ms/ |
Yeniden Yönlendirme URL'leri | https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp yazın. değerini Azure AD B2C kiracınızla değiştirinyour-B2C-tenant . Özel etki alanı için değerini özel etki alanınızla değiştirin your-B2C-tenant-name.b2clogin.com . |
- Kayıt sonrasında bir İstemci Kimliği ve gizli dizi görüntülenir.
- Daha sonra kullanmak üzere değerleri kaydedin.
Azure AD B2C'de BindID'yi kimlik sağlayıcısı olarak yapılandırma
Aşağıdaki yönergeler için dizini Azure AD B2C kiracınızla birlikte kullanın.
- Azure portal Genel Yönetici olarak oturum açın.
- Portal araç çubuğunda Dizinler + abonelikler'i seçin.
- Portal ayarlarında | Dizinler + abonelikler sayfasındaki Dizin adı listesinde Azure AD B2C dizinini bulun.
- Değiştir'i seçin.
- Azure portal sol üst köşesinde Tüm hizmetler'i seçin.
- Azure AD B2C'yi arayın ve seçin.
- Kimlik sağlayıcıları'ı seçin.
- Yeni OpenID Connect sağlayıcısı'yı seçin.
- Bir Ad girin.
- Meta Veri URL'si için girin
https://signin.bindid-sandbox.io/.well-known/openid-configuration
. - İstemci Kimliği için kaydettiğiniz İstemci Kimliğini girin.
- gizli dizi için kaydettiğiniz gizli diziyi girin.
- Kapsam alanına girin
openid email
. - Yanıt türü olarak kodu seçin.
- Yanıt modu için form_post'ı seçin.
- Kimlik sağlayıcısı talep eşlemesi'nin altında Kullanıcı Kimliği için öğesini seçin
sub
. - Email için öğesini seçin
email
. - Kaydet’i seçin.
Kullanıcı akışı oluşturma
- Azure AD B2C kiracınızda, İlkeler'in altında Kullanıcı akışları'yı seçin.
- Yeni kullanıcı akışı’nı seçin.
- Kaydol'a tıklayın ve kullanıcı akışı türünde oturum açın.
- Oluştur’u seçin.
- Bir Ad girin.
- Kimlik sağlayıcıları'nın altında Yerel Hesaplar için Yok'a tıklayın. Bu eylem, e-posta ve parola tabanlı kimlik doğrulamasını devre dışı bırakır.
- Özel kimlik sağlayıcıları için BindID ile oturum açma gibi oluşturulan BindID Kimlik sağlayıcısını seçin.
- Oluştur’u seçin.
Kullanıcı akışını test etme
- Azure AD B2C kiracısında Kullanıcı akışları'nı seçin.
- Oluşturulan kullanıcı akışını ( B2C_1_signupsignin gibi) seçin.
- Uygulama için kaydettiğiniz web uygulamasını seçin. Yanıt URL'si şeklindedir
https://jwt.ms
. - Kullanıcı akışını çalıştır'ı seçin.
- Tarayıcı BindID oturum açma sayfasına yönlendirilir.
- Kayıtlı hesap e-postasını girin.
- Parmak izi gibi elma FIDO2 biyometrisini kullanarak kimlik doğrulaması yapar.
- Tarayıcı adresine
https://jwt.ms
yönlendirilir. İçeriği, Azure AD B2C tarafından döndürülen belirteç için görünür.
BindID ilke anahtarı oluşturma
BindID uygulaması İstemci Gizli Anahtarını ilke anahtarı olarak ekleyin. Aşağıdaki yönergeler için dizini Azure AD B2C kiracınızla birlikte kullanın.
- Azure Portal’ında oturum açın.
- Portal araç çubuğunda Dizinler + abonelikler'i seçin.
- Portal ayarlarında | Dizinler + abonelikler sayfasında, Dizin adı listesinde Azure AD B2C dizinini bulun.
- Değiştir'i seçin.
- Genel Bakış sayfasındaki İlkeler'in altında Kimlik Deneyimi Çerçevesi'ni seçin.
- İlke Anahtarları'nı seçin.
- Add (Ekle) seçeneğini belirleyin.
- Seçenekler için El ile'yi seçin.
- Bir Ad girin. Ön ek
B2C_1A_
anahtar adına eklenir. - Gizli dizi alanına kaydettiğiniz gizli diziyi girin.
- Anahtar kullanımı için İmza'yı seçin.
- Oluştur’u seçin.
BindID'yi kimlik sağlayıcısı olarak yapılandırma
BindID ile oturum açmayı etkinleştirmek için BindID'yi B2C'Azure AD bir uç nokta üzerinden iletişim kuran bir talep sağlayıcısı olarak tanımlayın. Uç nokta, Azure AD B2C tarafından bir cihazda dijital kimlikle kimlik doğrulaması yapılan bir kullanıcıyı doğrulamak için kullanılan talepleri sağlar.
BindID'yi talep sağlayıcısı olarak ekleyin. Başlamak için GitHub'dan özel ilke başlangıç paketlerini alın, ardından SocialAndLocalAccounts başlangıç paketindeki XML dosyalarını Azure AD B2C kiracı adınızla güncelleştirin:
Zip klasörünü açınactive-directory-b2c-custom-policy-starterpack-main.zip veya depoyu kopyalayın:
git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
LocalAccounts dizinindeki dosyalarda dizesini
yourtenant
Azure AD B2C kiracı adıyla değiştirin.LocalAccounts/ TrustFrameworkExtensions.xml
uygulamasını açın.ClaimsProviders öğesini bulun. Görünmezse, kök öğesinin altına ekleyin.
Aşağıdaki örneğe benzer yeni bir ClaimsProvider ekleyin:
<ClaimsProvider> <Domain>signin.bindid-sandbox.io</Domain> <DisplayName>BindID</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="BindID-OpenIdConnect"> <DisplayName>BindID</DisplayName> <Protocol Name="OpenIdConnect" /> <Metadata> <Item Key="METADATA">https://signin.bindid-sandbox.io/.well-known/openid-configuration</Item> <!-- Update the Client ID below to the BindID Application ID --> <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid email</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="AccessTokenResponseFormat">json</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_BindIDClientSecret" /> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Kaydettiğiniz BindID Uygulama Kimliği ile client_id ayarlayın.
Kaydet’i seçin.
Kullanıcı yolculuğu ekleme
Kimlik sağlayıcısı oturum açma sayfalarında değil. Özel bir kullanıcı yolculuğunuz varsa Kimlik sağlayıcısını bir kullanıcı yolculuğuna ekleme bölümüne geçin, aksi takdirde yinelenen bir şablon kullanıcı yolculuğu oluşturun:
- Başlangıç paketinden dosyayı açın
LocalAccounts/ TrustFrameworkBase.xml
. - öğesini içeren
Id=SignUpOrSignIn
UserJourney öğesinin içeriğini bulun ve kopyalayın. LocalAccounts/ TrustFrameworkExtensions.xml
uygulamasını açın.- UserJourneys öğesini bulun. Öğe yoksa bir öğe ekleyin.
- UserJourney öğesini UserJourneys öğesinin alt öğesi olarak yapıştırın.
- Kullanıcı yolculuğu kimliğini yeniden adlandırın.
Kimlik sağlayıcısını kullanıcı yolculuğuna ekleme
Yeni kimlik sağlayıcısını kullanıcı yolculuğuna ekleyin.
- veya kullanıcı yolculuğunda içeren
Type=CombinedSignInAndSignUp
Type=ClaimsProviderSelection
düzenleme adımı öğesini bulun. Bu genellikle ilk düzenleme adımıdır. ClaimsProviderSelections öğesinde kullanıcıların oturum açabilecekleri bir kimlik sağlayıcısı listesi vardır. Öğelerin sırası, oturum açma düğmelerinin sırasını denetler. - ClaimsProviderSelection XML öğesi ekleyin.
- TargetClaimsExchangeId değerini kolay bir ad olarak ayarlayın.
- ClaimsExchange öğesi ekleyin.
- Kimlik değerini hedef talep değişim kimliğinin değerine ayarlayın. Bu eylem BindID düğmesini öğesine
BindID-SignIn
bağlar. - TechnicalProfileReferenceId değerini oluşturduğunuz teknik profil kimliğiyle güncelleştirin.
Aşağıdaki XML, kimlik sağlayıcısıyla kullanıcı yolculuğunu düzenlemeyi gösterir.
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="BindIDExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="BindIDExchange" TechnicalProfileReferenceId="BindID-OpenIdConnect" />
</ClaimsExchanges>
</OrchestrationStep>
Bağlı olan taraf ilkesini yapılandırma
Bağlı olan taraf ilkesi, örneğin SignUpOrSignIn.xml, B2C'nin yürüttüğü Azure AD kullanıcı yolculuğunu belirtir. PolicyProfile TechnicalProfile öğesinin OutputClaims öğesini ayarlayarak uygulamanıza geçirilen talepleri denetleyebilirsiniz. Bu öğreticide uygulama görünen ad, verilen ad, soyadı, e-posta, objectId, kimlik sağlayıcısı ve tenantId gibi kullanıcı özniteliklerini alır.
Bkz. Azure-Samples/active-directory-b2c-custom-policy-starterpack
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignInWithBindID" />
<TechnicalProfile Id="BindID-OpenIdConnect">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" />
<OutputClaim ClaimTypeReferenceId="givenName" />
<OutputClaim ClaimTypeReferenceId="surname" />
<OutputClaim ClaimTypeReferenceId="email" />
<OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
<OutputClaim ClaimTypeReferenceId="identityProvider" />
<OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
</OutputClaims>
<SubjectNamingInfo ClaimType="sub" />
</TechnicalProfile>
</RelyingParty>
Özel ilkeyi karşıya yükleme
- Azure Portal’ında oturum açın.
- Portal araç çubuğunda Dizinler + abonelikler'i seçin.
- Portal ayarlarında | Dizinler + abonelikler sayfasındaki Dizin adı listesinde Azure AD B2C dizinini bulun.
- Değiştir'i seçin.
- Azure portal Azure AD B2C'yi arayın ve seçin.
- İlkeler'in altında Kimlik Deneyimi Çerçevesi'ne tıklayın.
- Özel İlkeyi Karşıya Yükle'yi seçin.
- LocalAccounts başlangıç paketindeki dosyaları aşağıdaki sırayla karşıya yükleyin:
- Temel ilke, örneğin
TrustFrameworkBase.xml
- Yerelleştirme ilkesi, örneğin
TrustFrameworkLocalization.xml
- Uzantı ilkesi, örneğin
TrustFrameworkExtensions.xml
- Bağlı olan taraf ilkesi, örneğin
SignUpOrSignIn.xml
Özel ilkenizi test etme
Aşağıdaki yönergeler için dizini Azure AD B2C kiracınızla birlikte kullanın.
- Azure AD B2C kiracısında ve İlkeler'in altında Kimlik Deneyimi Çerçevesi'ni seçin.
- Özel ilkeler'in altında B2C_1A_signup_signin'ı seçin.
- Uygulama için kaydettiğiniz web uygulamasını seçin. Yanıt URL'si şeklindedir
https://jwt.ms
. - Şimdi çalıştır'ı seçin.
- Tarayıcı BindID oturum açma sayfasına yönlendirilir.
- Kayıtlı hesap e-postasını girin.
- Parmak izi gibi elma FIDO2 biyometrisini kullanarak kimlik doğrulaması yapın.
- Tarayıcı adresine
https://jwt.ms
yönlendirilir. Azure AD B2C tarafından döndürülen belirteç içeriği görüntülenir.
Sonraki adımlar
Ek bilgi için aşağıdaki makaleleri gözden geçirin: