자습서: Azure Active Directory B2C을 사용하여 Microsoft Dynamics 365 Fraud Protection 구성
조직은 Microsoft Dynamics 365 Fraud Protection(DFP)을 사용하여 사기성 계정 만들기 및 로그인 시도 중에 위험을 평가할 수 있습니다. 고객은 Microsoft DFP 평가를 사용하여 새 가짜 계정을 만들거나 계정을 손상시키려는 의심스러운 시도를 차단하거나 인증 질문을 합니다.
이 자습서에서는 Azure AD B2C(Azure Active Directory B2C)와 Microsoft DFP를 통합하는 방법을 알아봅니다. Microsoft DFP 디바이스 지문 인식과 계정 생성 및 로그인 평가 API 엔드포인트를 Azure AD B2C 사용자 지정 정책에 통합하는 방법에 관한 참고 자료가 있습니다.
자세한 정보: Microsoft Dynamics 365 Fraud Protection 개요
필수 조건
시작하려면 다음이 필요합니다.
- Azure 구독
- 아직 없으면 Azure 체험 계정을 얻을 수 있습니다.
- Azure 구독에 연결된 Azure AD B2C 테넌트
- Microsoft DFP 구독
- Dynamics 365 가격 책정 참조
- 평가판 클라이언트 버전을 설정할 수 있음
시나리오 설명
Microsoft EFP 통합에는 다음 구성 요소가 포함됩니다.
- Azure AD B2C 테넌트: 사용자를 인증하고 Microsoft DFP의 클라이언트 역할을 합니다. 대상 정책을 실행하는 사용자의 식별 및 진단 데이터를 수집하는 지문 인식 스크립트를 호스트합니다. Microsoft DFP에서 반환된 규칙 평가 결과에 따라 로그인 또는 등록 시도를 차단하거나 대응합니다.
- 사용자 지정 UI 템플릿: Azure AD B2C에서 렌더링되는 페이지의 HTML 콘텐츠를 사용자 지정합니다. 해당 페이지에는 Microsoft DFP 지문 인식에 필요한 JavaScript 코드 조각이 포함되어 있습니다.
- Microsoft DFP 지문 인식 서비스: 동적으로 포함된 스크립트이며, 디바이스 원격 분석 및 자체 어설션 사용자 세부 정보를 로그하여 사용자에 대한 고유하게 식별할 수 있는 지문을 만듭니다.
- Microsoft DFP API 엔드포인트: 의사 결정 결과를 제공하고 클라이언트 애플리케이션에서 수행하는 작업을 반영하는 최종 상태를 수락합니다. Azure AD B2C는 REST API 커넥터를 사용하여 Microsoft DFP 엔드포인트와 통신합니다. API 인증은 전달자 토큰을 얻기 위해 Microsoft DFP가 사용 허가되고 설치되는 Microsoft Entra 테넌트에 대한 client_credentials 권한 부여를 통해 발생합니다.
다음 아키텍처 다이어그램은 구현된 상황을 보여줍니다.
- 사용자가 로그인 페이지에 도착하고, 새 계정을 만드는 옵션을 선택하고, 정보를 입력합니다. Azure AD B2C는 사용자 특성을 수집합니다.
- Azure AD B2C는 Microsoft DFP API를 호출하고 사용자 특성을 전달합니다.
- Microsoft DFP API는 정보를 사용하고 처리한 후 Azure AD B2C에 결과를 반환합니다.
- Azure AD B2C는 Microsoft DFP API에서 정보를 수신합니다. 실패하면 오류 메시지가 나타납니다. 성공하면 사용자가 인증되고 디렉터리에 기록됩니다.
솔루션 설정
- Azure AD B2C 페더레이션을 허용하도록 구성된 Facebook 애플리케이션을 만듭니다.
- 만든 Facebook 비밀을 Identity Experience Framework 정책 키로 추가합니다.
Microsoft DFP에서 애플리케이션 구성
Microsoft DFP를 사용하도록 Microsoft Entra 테넌트를 설정합니다.
사용자 지정 도메인 설정
프로덕션 환경에서는 Azure AD B2C 및 Microsoft DFP 지문 인식 서비스를 위한 사용자 지정 도메인을 사용합니다. 브라우저 프라이버시 설정이 도메인 간 쿠키를 차단하는 것을 방지하려면 두 서비스에 대한 도메인이 동일한 루트 DNS 영역에 있어야 합니다. 이 구성은 비프로덕션 환경에서 필요하지 않습니다.
환경, 서비스 및 도메인의 예는 다음 표를 참조하세요.
Environment | 서비스 | 도메인 |
---|---|---|
개발 | Azure AD B2C | contoso-dev.b2clogin.com |
개발 | Microsoft DFP 지문 인식 | fpt.dfp.microsoft-int.com |
UAT | Azure AD B2C | contoso-uat.b2clogin.com |
UAT | Microsoft DFP 지문 인식 | fpt.dfp.microsoft.com |
생산 | Azure AD B2C | login.contoso.com |
생산 | Microsoft DFP 지문 인식 | fpt.login.contoso.com |
UI 템플릿 배포
- 제공된 Azure AD B2C UI 템플릿을 Azure Blob Storage와 같은 퍼블릭 인터넷 호스팅 서비스에 배포합니다.
https://<YOUR-UI-BASE-URL>/
값을 배포 위치의 루트 URL로 바꿉니다.
참고 항목
나중에 Azure AD B2C 정책을 구성하려면 기준 URL이 필요합니다.
ui-templates/js/dfp.js
파일에서<YOUR-DFP-INSTANCE-ID>
를 Microsoft DFP 인스턴스 ID로 바꿉니다.- Azure AD B2C 도메인 이름
https://{your_tenant_name}.b2clogin.com
또는your custom domain
에 대해 CORS를 사용하도록 설정했는지 확인합니다.
자세한 정보: UI 사용자 지정 설명서
Azure AD B2C 구성 업데이트
Microsoft DFP 클라이언트 앱 ID 및 비밀에 대한 정책 키 추가
- Microsoft DFP가 설정된 Microsoft Entra 테넌트에서 Microsoft Entra 애플리케이션을 만들고 관리자 동의를 부여합니다.
- 이 애플리케이션 등록에 대한 비밀 값을 만듭니다. 애플리케이션 클라이언트 ID 및 클라이언트 암호 값을 기록해 둡니다.
- 클라이언트 ID 및 클라이언트 암호 값을 Azure AD B2C 테넌트에 정책 키로 저장합니다.
참고 항목
나중에 Azure AD B2C 정책을 구성하려면 정책 키가 필요합니다.
구성 값 바꾸기
제공된 사용자 지정 정책에서 다음 자리 표시자를 찾아 인스턴스의 해당 값으로 바꿉니다.
자리 표시자 | Replace with | 주의 |
---|---|---|
{Settings:Production} | 프로덕션 모드에서 정책을 배포할지 여부 | true 또는 false |
{Settings:Tenant} | 테넌트 약식 이름 | your-tenant -your-tenant.onmicrosoft.com에서 |
{Settings:DeploymentMode} | 사용할 Application Insights 배포 모드 | Production 또는 Development |
{Settings:DeveloperMode} | Application Insights 개발자 모드에서 정책을 배포할지 여부 | true 또는 false |
{Settings:AppInsightsInstrumentationKey} | Application Insights 인스턴스의 계측 키* | 01234567-89ab-cdef-0123-456789abcdef |
{Settings:IdentityExperienceFrameworkAppId}Azure AD B2C 테넌트에 구성된 IdentityExperienceFramework 앱의 앱 ID | 01234567-89ab-cdef-0123-456789abcdef |
|
{Settings:ProxyIdentityExperienceFrameworkAppId} | Azure AD B2C 테넌트에 구성된 ProxyIdentityExperienceFramework 앱의 앱 ID | 01234567-89ab-cdef-0123-456789abcdef |
{Settings:FacebookClientId} | B2C와 페더레이션을 위해 구성된 Facebook 앱의 앱 ID | 000000000000000 |
{Settings:FacebookClientSecretKeyContainer} | Facebook의 앱 비밀을 저장한 정책 키의 이름 | B2C_1A_FacebookAppSecret |
{Settings:ContentDefinitionBaseUri} | UI 파일을 배포한 엔드포인트 | https://<my-storage-account>.blob.core.windows.net/<my-storage-container> |
{Settings:DfpApiBaseUrl} | DFP 포털에 있는 DFP API 인스턴스의 기본 경로 | https://tenantname-01234567-89ab-cdef-0123-456789abcdef.api.dfp.dynamics.com/v1.0/ |
{Settings:DfpApiAuthScope} | DFP API 서비스의 client_credentials 범위 | https://api.dfp.dynamics-int.com/.default or https://api.dfp.dynamics.com/.default |
{Settings:DfpTenantId} | DFP에 라이선스가 부여되고 설치된 Microsoft Entra 테넌트(B2C 아님)의 ID | 01234567-89ab-cdef-0123-456789abcdef 또는 consoto.onmicrosoft.com |
{Settings:DfpAppClientIdKeyContainer} | DFP 클라이언트 ID를 저장하는 정책 키의 이름 | B2C_1A_DFPClientId |
{Settings:DfpAppClientSecretKeyContainer} | DFP 클라이언트 암호를 저장하는 정책 키의 이름 | B2C_1A_DFPClientSecret |
{Settings:DfpEnvironment} | DFP 환경의 ID | 환경 ID는 데이터를 보내는 DFP 환경의 전역 고유 식별자입니다. 사용자 지정 정책은 쿼리 문자열 매개 변수 x-ms-dfpenvid=your-env-id> 를 포함하여 API 엔드포인트를 호출해야 합니다. |
*Microsoft Entra 테넌트 또는 구독에서 애플리케이션 인사이트를 설정할 수 있습니다. 이 값은 선택 사항이지만 디버깅을 지원하기 위해 권장됩니다.
참고 항목
특성 컬렉션 페이지에 동의 알림을 추가합니다. 계정 보호를 위해 사용자 원격 분석 및 ID 정보가 기록된다는 알림을 포함합니다.
Azure AD B2C 정책 구성
- 정책 폴더의 Azure AD B2C 정책으로 이동합니다.
- 사용자 지정 정책 스타터 팩의 지침에 따라 LocalAccounts 스타터 팩을 다운로드합니다.
- Azure AD B2C 테넌트에 대한 정책을 구성합니다.
참고 항목
테넌트에 연결하도록 제공된 정책을 업데이트합니다.
사용자 흐름 테스트
- Azure AD B2C 테넌트를 열고 정책에서 Identity Experience Framework를 선택합니다.
- 이전에 만든 SignUpSignIn을 선택합니다.
- 사용자 흐름 실행을 선택합니다.
- 애플리케이션: 등록된 앱(예: JWT).
- 회신 URL: 리디렉션 URL.
- 사용자 흐름 실행을 선택합니다.
- 등록 흐름을 완료하고 계정을 만듭니다.
팁
Microsoft DFP는 흐름 중에 호출됩니다. 흐름이 완료되지 않은 경우 사용자가 디렉터리에 저장되는지 확인합니다.
참고 항목
Microsoft DFP 규칙 엔진을 사용하는 경우 Microsoft DFP 포털에서 규칙을 업데이트합니다.