중요합니다
2025년 5월 1일부터 새 고객을 위해 Azure AD B2C를 더 이상 구매할 수 없습니다. FAQ에서 자세히 알아보세요.
시작하기 전 주의 사항:
Azure Active Directory B2C에는 애플리케이션과의 사용자 상호 작용을 정의하는 두 가지 방법, 즉 미리 정의된 사용자 흐름 또는 구성 가능한 사용자 지정 정책이 있습니다.
비고
Azure Active Directory B2C에서 사용자 지정 정책은 주로 복잡한 시나리오를 해결합니다. 대부분의 시나리오에서는 기본 제공 사용자 흐름을 사용하는 것이 좋습니다.
사용자 흐름 및 사용자 지정 정책 개요 참조
Azure AD B2C 및 BlokSec
Azure AD B2C(Azure Active Directory B2C) 인증을 BlokSec 탈중앙화 ID 라우터와 통합하는 방법을 알아봅니다. BlokSec 솔루션은 암호 없는 인증 및 토큰 없는 다단계 인증을 사용하여 사용자 로그인을 간소화합니다. 이 솔루션은 암호 스터핑, 피싱 및 중간 사용자와 같은 ID 관련 공격으로부터 고객을 보호합니다.
자세한 내용은 bloksec.com BlokSec Technologies Inc.로 이동하세요.
시나리오 설명
BlokSec 통합에는 다음 구성 요소가 포함됩니다.
- Azure AD B2C – B2C 애플리케이션에 대한 권한 부여 서버 및 IdP(ID 공급자)
-
BlokSec 탈중앙화 ID 라우터 - BlokSec DIaaS를 적용하여 인증 및 권한 부여 요청을 PIdP(사용자 개인 ID 공급자) 애플리케이션으로 라우팅하는 서비스에 대한 게이트웨이
- Azure AD B2C의 OIDC(OpenID Connect) ID 공급자입니다.
-
BlokSec SDK 기반 모바일 앱 - 탈중앙화 인증 시나리오의 사용자 PIdP입니다.
- BlokSec SDK를 사용하지 않는 경우 무료 BlokSec yuID용 Google Play로 이동합니다.
다음 아키텍처 다이어그램에서는 BlokSec 솔루션 구현의 등록, 로그인 흐름을 보여 줍니다.
- 사용자가 Azure AD B2C 애플리케이션에 로그인하고 Azure AD B2C 로그인 및 등록 정책으로 전달됩니다.
- Azure AD B2C는 OIDC 권한 부여 코드 흐름을 사용하여 사용자를 BlokSec 탈중앙화 ID 라우터로 리디렉션합니다.
- BlokSec 라우터는 인증 및 권한 부여 요청 세부 정보를 사용하여 사용자 모바일 앱에 푸시 알림을 보냅니다.
- 사용자가 인증 챌린지를 검토합니다. 허용된 사용자에게 지문 또는 얼굴 스캔과 같은 생체 분석을 요청하는 메시지가 표시됩니다.
- 응답은 사용자의 고유한 디지털 키로 디지털 서명됩니다. 인증 응답은 소유 증명, 현재 상태 및 동의를 제공합니다. 응답은 라우터로 돌아갑니다.
- 라우터는 분산 원장에 저장된 사용자의 변경할 수 없는 고유 공개 키에 대해 디지털 서명을 확인합니다. 라우터는 인증 결과로 Azure AD B2C에 회신합니다.
- 사용자에게 액세스 권한이 부여되거나 거부됩니다.
BlokSec 사용
- bloksec.com으로 가서 데모 요청 테넌트를 선택합니다.
- 메시지 필드에서 Azure AD B2C와 통합하려는 경우를 나타냅니다.
- 무료 BlokSec yuID 모바일 앱을 다운로드하고 설치합니다.
- 데모 테넌트가 준비되면 이메일이 도착합니다.
- BlokSec 애플리케이션이 있는 모바일 디바이스에서 yuID 앱에 관리자 계정을 등록하는 링크를 선택합니다.
필수 조건
시작하려면 다음이 필요합니다.
- Azure 구독
- 계정이 없는 경우 Azfree 계정을 가져옵니다.
- Azure 구독에 연결된 Azure AD B2C 테넌트
- BlokSec 데모
- 웹 애플리케이션 등록
참고 항목: 자습서: Azure AD B2C에서 사용자 흐름 및 사용자 지정 정책 만들기
BlokSec에서 애플리케이션 등록 만들기
BlokSec의 계정 등록 전자 메일에서 BlokSec 관리 콘솔에 대한 링크를 찾습니다.
- BlokSec 관리 콘솔에 로그인합니다.
- 기본 대시보드에서 애플리케이션 > 만들기 사용자 지정 추가를 선택합니다.
- 이름에 Azure AD B2C 또는 애플리케이션 이름을 입력합니다.
- SSO 형식의 경우 OIDC를 선택합니다.
- 로고 URI의 경우 로고 이미지에 대한 링크를 입력합니다.
-
리디렉션 URI의 경우
https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp을 사용하세요. 예:https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp. 사용자 지정 도메인에 대해 .를 입력합니다https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. -
로그아웃 후 리디렉션 URI에
https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/{policy}/oauth2/v2.0/logout를 입력합니다. - 만든 Azure AD B2C 애플리케이션을 선택하여 애플리케이션 구성을 엽니다.
- 앱 비밀 생성을 선택합니다.
자세한 정보: 로그아웃 요청 보내기
비고
Azure AD B2C에서 ID 공급자(IdP)를 구성하려면 애플리케이션 ID 및 애플리케이션 비밀이 필요합니다.
Azure AD B2C에서 새 ID 공급자 추가
다음 지침은 Azure AD B2C 테넌트가 포함된 디렉터리를 사용합니다.
- Azure AD B2C 테넌트에서 적어도 B2C IEF 정책 관리자로 Azure Portal에 로그인합니다.
- 포털 도구 모음에서 디렉터리 + 구독을 선택합니다.
- 포털 설정, 디렉터리 + 구독 페이지의 디렉터리 이름 목록에서 Azure AD B2C 디렉터리를 찾습니다.
- 전환을 선택합니다.
- Azure Portal의 왼쪽 위 모서리에서 모든 서비스를 선택합니다.
- Azure AD B2C를 검색하고 선택합니다.
- 대시보드>Azure Active Directory B2C>ID 공급자로 이동합니다.
- 새 OpenID Connect 공급자를 선택합니다.
- 추가를 선택합니다.
ID 공급자 구성
- ID 공급자 유형 > OpenID Connect 선택
- 이름에 BlokSec yuID 암호가 없거나 다른 이름을 입력합니다.
-
메타데이터 URL에
https://api.bloksec.io/oidc/.well-known/openid-configuration을 입력하세요. - 클라이언트 IDV의 경우 BlokSec 관리 UI의 애플리케이션 ID를 입력합니다.
- 클라이언트 암호의 경우 BlokSec 관리 UI에서 애플리케이션 비밀을 입력합니다.
- 범위의 경우 OpenID 전자 메일 프로필을 선택합니다.
- 응답 형식의 경우 코드를 선택합니다.
- 도메인 힌트의 경우 yuID를 선택합니다.
- 확인을 선택합니다.
- 이 ID 공급자의 클레임 매핑을 선택합니다.
- 사용자 ID의 경우 하위를 선택합니다.
- 표시 이름에 대해 이름을 선택합니다.
- 지정된 이름의 경우 given_name 사용합니다.
- 성으로 family_name을 사용합니다.
- 전자 메일의 경우 전자 메일을 사용합니다.
- 저장을 선택합니다.
사용자 등록
- 제공된 자격 증명을 사용하여 BlokSec 관리 콘솔에 로그인합니다.
- 이전에 만든 Azure AD B2C 애플리케이션으로 이동합니다.
- 오른쪽 위에서 기어 아이콘을 선택합니다.
- 계정 만들기를 선택합니다.
- 계정 만들기에서 사용자 정보를 입력합니다. 계정 이름을 확인합니다.
- 제출을 선택합니다.
사용자가 제공된 전자 메일 주소에서 계정 등록 이메일을 받습니다. BlokSec yuID 앱을 사용하여 모바일 디바이스에서 등록 링크를 선택하도록 사용자에게 지시합니다.
사용자 흐름 정책 만들기
다음 지침을 따라 BlokSec이 새로운 OIDC ID 공급자(IdP)인지 확인하십시오.
- Azure AD B2C 테넌트에서 정책 아래에서 사용자 흐름을 선택합니다.
- 새 사용자 흐름을 선택합니다.
- 가입 및 로그인>버전>만들기를 선택합니다.
- 정책 이름을 입력합니다.
- ID 공급자 섹션에서 만든 BlokSec ID 공급자를 선택합니다.
- 로컬 계정의 경우 없음을 선택합니다. 이 작업은 전자 메일 및 암호 기반 인증을 사용하지 않도록 설정합니다.
- 사용자 흐름 실행 선택
- 양식에 회신 URL(예:
https://jwt.ms)을 입력합니다. - 브라우저가 BlokSec 로그인 페이지로 리디렉션됩니다.
- 사용자 등록에서 계정 이름을 입력합니다.
- 사용자는 BlokSec yuID 애플리케이션을 사용하여 모바일 디바이스에서 푸시 알림을 받습니다.
- 사용자가 알림을 열고 인증 챌린지가 나타납니다.
- 인증이 수락되면 브라우저는 사용자를 회신 URL로 리디렉션합니다.
비고
Azure Active Directory B2C에서 사용자 지정 정책은 주로 복잡한 시나리오를 해결합니다. 대부분의 시나리오에서는 기본 제공 사용자 흐름을 사용하는 것이 좋습니다.
사용자 흐름 및 사용자 지정 정책 개요 참조
정책 키 만들기
Azure AD B2C 테넌트에 기록된 클라이언트 비밀을 저장합니다. 다음 지침을 위해 Azure AD B2C 테넌트에 연결된 디렉터리를 사용하세요.
- Azure Portal에 로그인합니다.
- 포털 도구 모음에서 디렉터리 + 구독을 선택합니다.
- 포털 설정, 디렉터리 + 구독 페이지의 디렉터리 이름 목록에서 Azure AD B2C 디렉터리를 찾습니다.
- 전환을 선택합니다.
- Azure Portal의 왼쪽 위 모서리에서 모든 서비스를 선택합니다.
- Azure AD B2C를 검색하고 선택합니다.
- 개요 페이지에서 Identity Experience Framework를 선택합니다.
- 정책 키를 선택합니다.
- 추가를 선택합니다.
- 옵션의 경우 수동을 선택합니다.
- 정책 키에 대한 정책 이름을 입력합니다. 예:
BlokSecAppSecret. 키 이름에 접두B2C_1A_사를 추가합니다. - 비밀에서 적어 두는 클라이언트 암호를 입력합니다.
- 키 사용의 경우 서명을 선택합니다.
- 선택하고생성합니다.
BlokSec을 ID 공급자로 구성
사용자가 BlokSec 탈중앙화 ID를 사용하여 로그인할 수 있도록 하려면 BlokSec을 클레임 공급자로 정의합니다. 이 작업을 수행하면 Azure AD B2C가 엔드포인트를 통해 통신합니다. Azure AD B2C는 엔드포인트 클레임을 사용하여 지문 또는 얼굴 스캔과 같은 생체 분석을 사용하여 사용자가 ID를 인증하는지 확인합니다.
BlokSec을 클레임 공급자로 정의하려면 정책 확장 파일의 ClaimsProvider 요소에 추가합니다.
TrustFrameworkExtensions.xml파일을 엽니다.ClaimsProviders 요소를 찾습니다. 요소가 표시되지 않으면 루트 요소 아래에 추가합니다.
새 ClaimsProvider를 추가하려면 다음을 수행합니다.
<ClaimsProvider> <Domain>bloksec</Domain> <DisplayName>BlokSec</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="BlokSec-OpenIdConnect"> <DisplayName>BlokSec</DisplayName> <Description>Login with your BlokSec decentriled identity</Description> <Protocol Name="OpenIdConnect" /> <Metadata> <Item Key="METADATA">https://api.bloksec.io/oidc/.well-known/openid-configuration</Item> <!-- Update the Client ID below to the BlokSec Application ID --> <Item Key="client_id">00001111-aaaa-2222-bbbb-3333cccc4444</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid profile email</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> <Item Key="UsePolicyInRedirectUri">false</Item> <Item Key="DiscoverMetadataByTokenIssuer">true</Item> <Item Key="ValidTokenIssuerPrefixes">https://api.bloksec.io/oidc</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_BlokSecAppSecret" /> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>애플리케이션 등록에서 애플리케이션 ID로 client_id 설정합니다.
저장을 선택합니다.
사용자 경험 추가
ID 공급자가 설정되어 있지만 로그인 페이지에는 없는 경우 다음 지침을 사용합니다. 사용자 지정 사용자 경험이없는 경우 템플릿 사용자 경험을 복사합니다.
- 시작 팩에서 파일을 엽니다
TrustFrameworkBase.xml. - ID=를 포함하는
SignUpOrSignIn요소의 내용을 찾아 복사합니다. -
TrustFrameworkExtensions.xml파일을 엽니다. - UserJourneys 요소를 찾습니다. 요소가 표시되지 않으면 요소를 추가합니다.
- UserJourneys 요소의 자식으로 복사한 UserJourney 요소의 내용을 붙여넣습니다.
- 사용자 여정 ID의 이름을 변경합니다. 예를 들어 ID=
CustomSignUpSignIn입니다.
사용자 경험에 ID 공급자 추가
사용자 여정이 있는 경우 새 ID 공급자를 추가합니다. 먼저 로그인 단추를 추가한 다음 사용자가 만든 기술 프로필인 작업에 연결합니다.
- 사용자 여정에서 Type=
CombinedSignInAndSignUp또는 Type=ClaimsProviderSelection를 포함하는 오케스트레이션 단계 요소를 찾습니다. 일반적으로 첫 번째 오케스트레이션 단계입니다. ClaimsProviderSelections 요소에는 사용자 로그인에 대한 ID 공급자 목록이 포함되어 있습니다. 요소의 순서는 사용자가 보는 로그인 단추의 순서를 제어합니다. - ClaimsProviderSelection XML 요소를 추가합니다.
- TargetClaimsExchangeId 값을 친숙한 이름으로 설정합니다.
- 다음 오케스트레이션 단계에서 ClaimsExchange 요소를 추가합니다.
- ID를 대상 클레임 교환 ID의 값으로 설정합니다.
- TechnicalProfileReferenceId의 값을 만든 기술 프로필의 ID로 업데이트합니다.
다음 XML은 ID 공급자를 사용하는 처음 두 사용자 경험 오케스트레이션 단계를 보여 줍니다.
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="BlokSecExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="BlokSecExchange" TechnicalProfileReferenceId="BlokSec-OpenIdConnect" />
</ClaimsExchanges>
</OrchestrationStep>
신뢰 당사자 정책 구성
신뢰 당사자 정책(예: SignUpSignIn.xml)은 Azure AD B2C가 실행하는 사용자 경험을 지정합니다.
- 신뢰 당사자에서 DefaultUserJourney 요소를 찾습니다.
- 사용자 여행 ID와 일치하도록 ReferenceId를 업데이트합니다. 여기에는 ID 공급자를 추가했습니다.
다음 예제에서는 사용자 여정에 대해 CustomSignUpOrSignIn ReferenceId가 CustomSignUpOrSignIn로 설정됩니다.
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
사용자 지정 정책 업로드
다음 지침을 위해 Azure AD B2C 테넌트에 연결된 디렉터리를 사용하세요.
- Azure Portal에 로그인합니다.
- 포털 도구 모음에서 디렉터리 + 구독을 선택합니다.
- 포털 설정, 디렉터리 + 구독 페이지의 디렉터리 이름 목록에서 Azure AD B2C 디렉터리를 찾습니다.
- 전환을 선택합니다.
- Azure Portal에서 Azure AD B2C를 검색하고 선택합니다.
- 정책에서 ID 환경 프레임워크를 선택합니다.
- 사용자 지정 정책 업로드를 선택합니다.
- 변경한 두 정책 파일을 다음 순서로 업로드합니다.
- 확장 정책(예:
TrustFrameworkExtensions.xml - 신뢰 당사자 정책(예:
SignUpSignIn.xml)
사용자 지정 정책 테스트
- 신뢰 당사자 정책을 선택하세요, 예를 들어
B2C_1A_signup_signin. - 애플리케이션의 경우 등록한 웹 애플리케이션을 선택합니다.
-
회신 URL은 다음과 같이
https://jwt.ms표시됩니다. - 지금 실행을 선택합니다.
- 등록 또는 로그인 페이지에서 Google 계정을 사용하여 로그인하려면 Google 을 선택합니다.
- 브라우저가
https://jwt.ms로 리디렉션됩니다. Azure AD B2C에서 반환된 토큰 콘텐츠를 참조하세요.
자세한 정보: 자습서: Azure Active Directory B2C에 웹 애플리케이션 등록