자습서: 안전한 하이브리드 액세스를 제공하도록 Datawiza로 Azure Active Directory B2C 구성
이 자습서에서는 Azure AD B2C(Azure Active Directory B2C)를 DAP(Datawiza 액세스 프록시)와 통합하여 SSO(Single Sign-On) 및 세분화된 액세스 제어를 지원하여 Azure AD 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 디렉터리에 저장된 로컬 계정을 사용하여 온-프레미스 애플리케이션에 액세스합니다.
- DAP(Datawiza 액세스 프록시): HTTP 헤더를 통해 애플리케이션에 ID를 전달하는 서비스
- DCMC(Datawiza Cloud Management Console): DAB용 관리 콘솔입니다. DCMC UI 및 RESTful API는 DAB 구성 및 액세스 제어 정책을 관리하는 데 도움이 됩니다.
다음 아키텍처 다이어그램은 구현된 상황을 보여줍니다.
- 사용자가 온-프레미스 애플리케이션에 대한 액세스를 요청합니다. DAB는 애플리케이션에 대한 요청을 프록시합니다.
- DAP는 사용자 인증 상태를 확인합니다. 세션 토큰이 없거나 잘못된 토큰이 있으면 사용자는 인증을 위해 Azure AD B2C로 이동합니다.
- Azure AD B2C는 Azure AD B2C 테넌트에서 DAP 등록 중에 지정된 엔드포인트로 사용자 요청을 보냅니다.
- DAP는 액세스 정책을 평가하고 애플리케이션에 전달된 HTTP 헤더의 특성 값을 계산합니다. DAP는 IdP(ID 공급자)를 호출하여 헤더 값을 설정하기 위한 정보를 검색할 수 있습니다. 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 클라우드 관리 콘솔을 참조하세요.Azure AD B2C로 IdP를 구성합니다. 1부: Azure AD B2C 구성을 참조하세요.
헤더 기반 애플리케이션으로 DAB 실행
Docker 또는 Kubernetes를 사용하여 DAP를 실행할 수 있습니다. 사용자용 Docker 이미지를 사용하여 샘플 헤더 기반 애플리케이션을 만듭니다.
자세히 알아보기: DAP 및 SSO 통합을 구성하려면 앱과 함께 Datawiza 액세스 프록시 배포를 참조하세요.
샘플 Docker 이미지 docker-compose.yml file
이 제공됩니다. 컨테이너 레지스트리에 로그인하여 DAP 이미지 및 헤더 기반 애플리케이션을 다운로드합니다.
-
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는 정책을 평가하고 헤더를 계산하며 사용자를 업스트림 애플리케이션으로 보냅니다.
- 요청한 애플리케이션이 나타납니다.