중요합니다
2025년 5월 1일부터 새 고객을 위해 Azure AD B2C를 더 이상 구매할 수 없습니다. FAQ에서 자세히 알아보세요.
이 자습서에서는 SSO(Single Sign-On) 및 세분화된 액세스 제어를 가능하게 하여 Azure AD B2C가 온-프레미스 레거시 애플리케이션을 보호하는 데 도움이 되는 DAP(Datawiza 액세스 프록시)와 Azure AD B2C(Azure Active Directory B2C)를 통합하는 방법을 알아봅니다. 이 솔루션을 통해 기업은 애플리케이션을 다시 작성하지 않고도 레거시에서 Azure AD B2C로 전환할 수 있습니다.
필수 조건
시작하려면 다음이 필요합니다.
- Microsoft Entra 구독
- 계정이 없는 경우 Azure 체험 계정을 가져올 수 있습니다.
- Azure 구독에 연결된 Azure AD B2C 테넌트
- DAB를 실행하려면 애플리케이션 개발, 제공 및 실행을 위한 개방형 플랫폼인 Docker가 필요합니다
- 응용 프로그램은 가상 머신 및 베어 메탈과 같은 플랫폼에서 실행할 수 있습니다
- 레거시 ID 시스템에서 Azure AD B2C로 전환하기 위한 온-프레미스 애플리케이션
- 이 자습서에서는 DAB가 애플리케이션과 동일한 서버에 배포됩니다
- 응용 프로그램은 localhost: 3001에서 실행되며 DAP는 localhost: 9772를 통해 응용 프로그램에 대한 트래픽을 프록시합니다.
- 애플리케이션 트래픽은 먼저 DAB에 도달한 다음 애플리케이션으로 프록시됩니다
시나리오 설명
Datawiza 통합에는 다음 구성 요소가 포함됩니다.
-
Azure AD B2C: 사용자 자격 증명을 확인하기 위한 권한 부여 서버
- 인증된 사용자는 Azure AD B2C 디렉터리에 저장된 로컬 계정을 사용하여 온-프레미스 애플리케이션에 액세스합니다
- Datawiza 액세스 프록시(DAP): HTTP 헤더를 통해 애플리케이션에 ID를 전달하는 서비스입니다
- Datawiza Cloud Management Console(DCMC): DAB용 관리 콘솔입니다. DCMC UI 및 RESTful API는 DAB 구성 및 액세스 제어 정책을 관리하는 데 도움이 됩니다.
다음 아키텍처 다이어그램은 구현을 보여줍니다.
- 사용자가 온-프레미스 애플리케이션에 대한 액세스를 요청합니다. DAB는 애플리케이션에 대한 요청을 프록시합니다.
- DAP는 사용자 인증 상태를 확인합니다. 세션 토큰이나 잘못된 토큰이 없으므로 사용자는 인증을 위해 Azure AD B2C로 이동합니다.
- Azure AD B2C는 Azure AD B2C 테넌트에서 DAP를 등록하는 동안 지정된 엔드포인트로 사용자 요청을 보냅니다.
- DAP는 액세스 정책을 평가하고 애플리케이션으로 전달된 HTTP 헤더의 속성 값을 계산합니다. DAP는 ID 공급자(IdP)를 호출하여 헤더 값을 설정하기 위한 정보를 검색할 수 있습니다. DAP는 헤더 값을 설정하고 애플리케이션에 요청을 보냅니다.
- 사용자는 응용 프로그램에 대한 액세스 권한을 통해 인증됩니다.
Datawiza를 통한 온보딩
레거시 온-프레미스 앱을 Azure AD B2C와 통합하려면 Datawiza에 문의하세요.
Azure AD B2C 테넌트 구성
docs.datawiza.com 로 이동하여 다음을 수행할 수 있습니다.
Azure AD B2C 테넌트에 웹 애플리케이션을 등록하고 등록 및 로그인 사용자 흐름을 구성하는 방법을 알아봅니다. 자세한 내용은 Azure AD B2C를 참조하세요.
Azure Portal에서 사용자 흐름을 구성합니다.
비고
DCM에서 DAB를 설정할 때 테넌트 이름, 사용자 흐름 이름, 클라이언트 ID 및 클라이언트 암호가 필요합니다.
DCMC에서 응용 프로그램 만들기
DCMC에서 응용 프로그램을 만들고 이 응용 프로그램에 대한
PROVISIONING_KEY및PROVISIONING_SECRET의 키 쌍을 생성합니다. Datawiza Cloud Management Console을 참조하십시오.Azure AD B2C를 사용하여 IdP를 구성합니다. I부: Azure AD B2C 구성을 참조하세요.
헤더 기반 응용 프로그램으로 DAB 실행
Docker 또는 Kubernetes를 사용하여 DAP를 실행할 수 있습니다. 사용자용 Docker 이미지를 사용하여 샘플 헤더 기반 애플리케이션을 만듭니다.
자세히 알아보기: DAP 및 SSO 통합을 구성하려면 앱을 사용하여 Datawiza 액세스 프록시 배포를 참조하십시오.
샘플 Docker 이미지가 docker-compose.yml file 제공됩니다. 컨테이너 레지스트리에 로그인하여 DAP 이미지와 헤더 기반 애플리케이션을 다운로드합니다.
앱과 함께 Datawiza Access Proxy를 배포합니다.
version: '3' services: datawiza-access-broker: image: registry.gitlab.com/datawiza/access-broker container_name: datawiza-access-broker restart: always ports: - "9772:9772" environment: PROVISIONING_KEY: ############################# PROVISIONING_SECRET: ############################# header-based-app: image: registry.gitlab.com/datawiza/header-based-app container_name: ab-demo-header-app restart: always environment: CONNECTOR: B2C ports: - "3001:3001"헤더 기반 애플리케이션에는 Azure AD B2C에서 SSO를 사용하도록 설정되어 있습니다.
브라우저를 열고 를 입력합니다
http://localhost:9772/.Azure AD B2C 로그인 페이지가 나타납니다.
헤더 기반 응용 프로그램에 사용자 속성 전달
DAB는 IdP에서 사용자 속성을 가져와 헤더 또는 쿠키를 사용하여 애플리케이션에 전달합니다. 사용자 속성을 구성하면 사용자 속성에 대한 녹색 확인 표시가 나타납니다.
자세히 알아보기: 이메일 주소, 이름 및 성과 같은 사용자 속성을 헤더 기반 애플리케이션에 전달합니다.
흐름 테스트
- 온-프레미스 애플리케이션 URL로 이동합니다.
- DAP는 사용자 흐름에서 구성한 페이지로 리디렉션됩니다.
- 목록에서 IdP를 선택합니다.
- 프롬프트에서 자격 증명을 입력합니다. 필요한 경우 Microsoft Entra 다단계 인증 토큰을 포함합니다.
- 애플리케이션 요청을 DAP 리디렉션 URI로 전달하는 Azure AD B2C로 리디렉션됩니다.
- DAB는 정책을 평가하고, 헤더를 계산하고, 사용자를 업스트림 애플리케이션으로 보냅니다.
- 요청된 애플리케이션이 나타납니다.