Konfigurace zabezpečení přenosu pomocí Azure Active Directory B2C pro ověřování bez hesla
V tomto kurzu se naučíte integrovat ověřování Azure Active Directory B2C (Azure AD B2C) se službou Transmit Security BindID, což je řešení ověřování bez hesla. BindID používá silné biometrické ověřování FIDO2 (Fast Identity Online) pro spolehlivé vícekanálové ověřování. Řešení zajišťuje bezproblémové přihlašování pro zákazníky na různých zařízeních a kanálech a současně snižuje podvody, útoky phishing a opakované použití přihlašovacích údajů.
Popis scénáře
Následující diagram architektury znázorňuje implementaci.
- Uživatel otevře přihlašovací stránku Azure AD B2C a přihlásí se nebo se zaregistruje.
- Azure AD B2C přesměruje uživatele na BindID pomocí požadavku OpenID Connect (OIDC).
- BindID ověřuje uživatele pomocí biometriky appless FIDO2, jako je otisk prstu.
- Decentralizovaná odpověď ověřování se vrátí do BindID.
- Odpověď OIDC předá Azure AD B2C.
- Uživateli je udělen nebo odepřen přístup k aplikaci na základě výsledků ověření.
Požadavky
Na začátek budete potřebovat:
- Předplatné Microsoft Entra
- Pokud ho nemáte, získejte bezplatný účet Azure.
- Tenant Azure AD B2C propojený s předplatným Azure
- Tenant BindID
- Začněte tím, že přejdete na transmitsecurity.com.
- Registrace webové aplikace v Azure Portal
- Vlastní zásady Azure AD B2C
- Pokud tyto zásady nemůžete použít, přečtěte si kurz: Vytváření toků uživatelů a vlastních zásad v Azure AD B2C.
Registrace aplikace v BindID
Jak začít:
- Přejděte na developer.bindid.io a nakonfigurujte aplikaci.
- Přidejte aplikaci do bindID Správa Portal. Přihlášení je povinné.
Vlastnost | Popis |
---|---|
Název | Název aplikace |
Doména | Zadejte your-B2C-tenant-name.onmicrosoft.com . Nahraďte your-B2C-tenant svým tenantem Azure AD B2C. |
Identifikátory URI pro přesměrování | https://jwt.ms/ |
Adresy URL pro přesměrování | Zadejte https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp . Nahraďte your-B2C-tenant svým tenantem Azure AD B2C. U vlastní domény nahraďte your-B2C-tenant-name.b2clogin.com vlastní doménou. |
- Při registraci se zobrazí ID klienta a tajný klíč klienta .
- Poznamenejte si hodnoty, které chcete použít později.
Konfigurace BindID jako zprostředkovatele identity v Azure AD B2C
Následující pokyny najdete v adresáři s tenantem Azure AD B2C.
- Přihlaste se k Azure Portal jako globální správce.
- Na panelu nástrojů portálu vyberte Adresáře a předplatná.
- V nastavení portálu | Na stránce Adresáře a předplatná vyhledejte v seznamu Název adresáře Azure AD adresář B2C.
- Vyberte Přepnout.
- V levém horním rohu Azure Portal vyberte Všechny služby.
- Vyhledejte a vyberte Azure AD B2C.
- Vyberte Zprostředkovatelé identit.
- Vyberte Nový poskytovatel OpenID Connect.
- Zadejte Název.
- Jako Adresa URL metadat zadejte
https://signin.bindid-sandbox.io/.well-known/openid-configuration
. - Jako ID klienta zadejte ID klienta, které jste zaznamenali.
- Jako Tajný klíč klienta zadejte tajný klíč klienta, který jste nahráli.
- Jako Obor zadejte
openid email
. - Jako Typ odpovědi vyberte kód.
- Jako Režim odpovědi vyberte form_post.
- V části Mapování deklarací identity zprostředkovatele identity jako ID uživatele vyberte
sub
. - Jako Email vyberte
email
. - Vyberte Uložit.
Vytvoření toku uživatele
- V tenantovi Azure AD B2C v části Zásady vyberte Toky uživatelů.
- Vyberte Nový tok uživatele.
- Vyberte Zaregistrovat se a přihlásit se typ toku uživatele.
- Vyberte Vytvořit.
- Zadejte Název.
- V části Zprostředkovatelé identit v části Místní účty vyberte Žádné. Tato akce zakáže ověřování e-mailů a hesel.
- V části Vlastní zprostředkovatelé identity vyberte vytvořeného zprostředkovatele identity BindID, například Přihlásit se pomocí BindID.
- Vyberte Vytvořit.
Testování toku uživatele
- V tenantovi Azure AD B2C vyberte Toky uživatelů.
- Vyberte vytvořený tok uživatele, například B2C_1_signupsignin.
- V části Aplikace vyberte webovou aplikaci, kterou jste zaregistrovali. Adresa URL odpovědi je
https://jwt.ms
. - Vyberte Spustit tok uživatele.
- Prohlížeč se přesměruje na přihlašovací stránku BindID.
- Zadejte e-mail s registrovaným účtem.
- Ověřuje se pomocí biometriky FIDO2 appless, jako je otisk prstu.
- Prohlížeč je přesměrován na
https://jwt.ms
. Zobrazí se obsah tokenu vráceného Azure AD B2C.
Vytvoření klíče zásady BindID
Přidejte tajný klíč klienta aplikace BindID jako klíč zásady. Následující pokyny najdete v adresáři s tenantem Azure AD B2C.
- Přihlaste se k webu Azure Portal.
- Na panelu nástrojů portálu vyberte Adresáře a předplatná.
- V nastavení portálu | Na stránce Adresáře a předplatná vyhledejte v seznamu Název adresáře Azure AD adresář B2C.
- Vyberte Přepnout.
- Na stránce Přehled v části Zásady vyberte Rozhraní prostředí identit.
- Vyberte Klíče zásad.
- Vyberte Přidat.
- V části Možnosti vyberte Ručně.
- Zadejte Název. Předpona
B2C_1A_
se připojí k názvu klíče. - Do pole Tajný kód zadejte tajný klíč klienta, který jste nahráli.
- V části Použití klíče vyberte Podpis.
- Vyberte Vytvořit.
Konfigurace BindID jako zprostředkovatele identity
Pokud chcete povolit přihlašování pomocí BindID, definujte BindID jako zprostředkovatele deklarací identity, se kterým Azure AD B2C komunikuje prostřednictvím koncového bodu. Koncový bod poskytuje deklarace identity používané Azure AD B2C k ověření uživatele ověřeného digitální identitou na zařízení.
Přidejte BindID jako zprostředkovatele deklarací identity. Začněte tím, že z GitHubu získáte vlastní úvodní balíčky zásad a pak aktualizujte soubory XML v úvodním balíčku SocialAndLocalAccounts názvem tenanta Azure AD B2C:
Otevřete složku zip active-directory-b2c-custom-policy-starterpack-main.zip nebo naklonujte úložiště:
git clone https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack
V souborech v adresáři LocalAccounts nahraďte řetězec
yourtenant
názvem tenanta Azure AD B2C.Otevřete třídu
LocalAccounts/ TrustFrameworkExtensions.xml
.Vyhledejte element ClaimsProviders . Pokud se nezobrazí, přidejte ho do kořenového elementu.
Přidejte nový ClaimsProvider podobný následujícímu příkladu:
<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>
Nastavte client_id pomocí ID aplikace BindID, které jste zaznamenali.
Vyberte Uložit.
Přidání cesty uživatele
Zprostředkovatel identity není na přihlašovacích stránkách. Pokud máte vlastní cestu uživatele, pokračujte přidáním zprostředkovatele identity do cesty uživatele, jinak vytvořte duplicitní cestu uživatele šablony:
- V úvodním balíčku otevřete
LocalAccounts/ TrustFrameworkBase.xml
soubor. - Vyhledejte a zkopírujte obsah elementu UserJourney , který obsahuje
Id=SignUpOrSignIn
. - Otevřete třídu
LocalAccounts/ TrustFrameworkExtensions.xml
. - Najděte element UserJourneys . Pokud žádný prvek neexistuje, přidejte ho.
- Vložte element UserJourney jako podřízený prvek UserJourneys element.
- Přejmenujte ID cesty uživatele.
Přidání zprostředkovatele identity na cestu uživatele
Přidejte nového zprostředkovatele identity na cestu uživatele.
- Najděte prvek kroku orchestrace, který zahrnuje
Type=CombinedSignInAndSignUp
, neboType=ClaimsProviderSelection
na cestě uživatele. Obvykle se jedná o první krok orchestrace. Element ClaimsProviderSelections obsahuje seznam zprostředkovatelů identity, pomocí kterého se uživatelé přihlašují. Pořadí prvků řídí pořadí tlačítek pro přihlášení. - Přidejte element XML ClaimsProviderSelection .
- Nastavte hodnotu TargetClaimsExchangeId na popisný název.
- Přidejte element ClaimsExchange .
- Nastavte ID na hodnotu ID cílového id výměny deklarací identity. Tato akce prováže tlačítko BindID na
BindID-SignIn
. - Aktualizujte hodnotu TechnicalProfileReferenceId na ID technického profilu, které jste vytvořili.
Následující kód XML ukazuje cestu uživatele k orchestraci se zprostředkovatelem identity.
<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>
Konfigurace zásad předávající strany
Zásady předávající strany, například SignUpOrSignIn.xml, určují cestu uživatele, Azure AD B2C spustí. Deklarace identity předávané vaší aplikaci můžete řídit úpravou elementu OutputClaimselementu PolicyProfile TechnicalProfile. V tomto kurzu aplikace obdrží atributy uživatele, jako jsou zobrazované jméno, křestní jméno, příjmení, e-mail, objectId, zprostředkovatel identity a tenantId.
Viz 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>
Nahrání vlastní zásady
- Přihlaste se k webu Azure Portal.
- Na panelu nástrojů portálu vyberte Adresáře a předplatná.
- V nastavení portálu | Na stránce Adresáře a předplatná vyhledejte v seznamu Název adresáře Azure AD adresář B2C.
- Vyberte Přepnout.
- V Azure Portal vyhledejte a vyberte Azure AD B2C.
- V části Zásady vyberte Identity Experience Framework.
- Vyberte Nahrát vlastní zásady.
- Nahrajte soubory v úvodním balíčku LocalAccounts v následujícím pořadí:
- Základní zásady, například
TrustFrameworkBase.xml
- Zásady lokalizace, například
TrustFrameworkLocalization.xml
- Zásady rozšíření, například
TrustFrameworkExtensions.xml
- Zásady předávající strany, například
SignUpOrSignIn.xml
Otestování vlastních zásad
Následující pokyny najdete v adresáři s tenantem Azure AD B2C.
- V tenantovi Azure AD B2C a v části Zásady vyberte Rozhraní prostředí identit.
- V části Vlastní zásady vyberte B2C_1A_signup_signin.
- V části Aplikace vyberte webovou aplikaci, kterou jste zaregistrovali. Adresa URL odpovědi je
https://jwt.ms
. - Vyberte Spustit.
- Prohlížeč se přesměruje na přihlašovací stránku BindID.
- Zadejte e-mail s registrovaným účtem.
- Ověřování pomocí biometriky FIDO2 appless, jako je otisk prstu.
- Prohlížeč je přesměrován na
https://jwt.ms
. Zobrazí se obsah tokenu vrácený Azure AD B2C.
Další kroky
Další informace najdete v následujících článcích: