Share via


자습서: 안전한 하이브리드 액세스를 제공하도록 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 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 구성 및 액세스 제어 정책을 관리하는 데 도움이 됩니다.

다음 아키텍처 다이어그램은 구현된 상황을 보여줍니다.

Diagram of the architecture of an Azure AD B2C integration with Datawiza for secure access to hybrid applications.

  1. 사용자가 온-프레미스 애플리케이션에 대한 액세스를 요청합니다. DAB는 애플리케이션에 대한 요청을 프록시합니다.
  2. DAP는 사용자 인증 상태를 확인합니다. 세션 토큰이 없거나 잘못된 토큰이 있으면 사용자는 인증을 위해 Azure AD B2C로 이동합니다.
  3. Azure AD B2C는 Azure AD B2C 테넌트에서 DAP 등록 중에 지정된 엔드포인트로 사용자 요청을 보냅니다.
  4. DAP는 액세스 정책을 평가하고 애플리케이션에 전달된 HTTP 헤더의 특성 값을 계산합니다. DAP는 IdP(ID 공급자)를 호출하여 헤더 값을 설정하기 위한 정보를 검색할 수 있습니다. DAP는 헤더 값을 설정하고 요청을 애플리케이션으로 보냅니다.
  5. 사용자는 애플리케이션에 대한 액세스로 인증됩니다.

Datawiza를 사용하여 온보딩

레거시 온-프레미스 앱을 Azure AD B2C와 통합하려면 Datawiza에 문의하세요.

Azure AD B2C 테넌트 구성

docs.datawiza.com으로 이동하여 다음을 수행합니다.

  1. Azure AD B2C 테넌트에 웹 애플리케이션을 등록하고 등록 및 로그인 사용자 흐름을 구성하는 방법을 알아봅니다. 자세한 내용은 Azure AD B2C를 참조하세요.

  2. Azure Portal에서 사용자 흐름을 구성합니다.

참고 항목

DCM에서 DAB를 설정할 때 테넌트 이름, 사용자 흐름 이름, 클라이언트 ID 및 클라이언트 암호가 필요합니다.

DCMC에서 애플리케이션 만들기

  1. DCMC에서 애플리케이션을 만들고 이 애플리케이션에 대해 PROVISIONING_KEYPROVISIONING_SECRET의 키 쌍을 만듭니다. Datawiza 클라우드 관리 콘솔을 참조하세요.

  2. Azure AD B2C로 IdP를 구성합니다. 1부: Azure AD B2C 구성을 참조하세요.

    Screenshot of IdP configuration values.

헤더 기반 애플리케이션으로 DAB 실행

Docker 또는 Kubernetes를 사용하여 DAP를 실행할 수 있습니다. 사용자용 Docker 이미지를 사용하여 샘플 헤더 기반 애플리케이션을 만듭니다.

자세히 알아보기: DAP 및 SSO 통합을 구성하려면 앱과 함께 Datawiza 액세스 프록시 배포를 참조하세요.

샘플 Docker 이미지 docker-compose.yml file이 제공됩니다. 컨테이너 레지스트리에 로그인하여 DAP 이미지 및 헤더 기반 애플리케이션을 다운로드합니다.

  1. 앱으로 Datawiza 액세스 프록시 배포.

    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"
    
  2. 헤더 기반 애플리케이션에는 Azure AD B2C에서 SSO가 사용하도록 설정되어 있습니다.

  3. 브라우저를 열고 http://localhost:9772/를 입력합니다.

  4. Azure AD B2C 로그인 페이지가 나타납니다.

헤더 기반 애플리케이션에 사용자 특성 전달

DAB는 IdP에서 사용자 특성을 가져와 헤더 또는 쿠키와 함께 애플리케이션에 전달합니다. 사용자 특성을 구성한 후 사용자 특성에 대해 녹색 확인 표시가 나타납니다.

Screenshot of passed user attributes.

자세히 알아보기: 이메일 주소, 이름, 성과 같은 사용자 특성을 헤더 기반 애플리케이션에 전달합니다.

흐름 테스트

  1. 온-프레미스 애플리케이션 URL로 이동합니다.
  2. DAP는 사용자 흐름에서 구성한 페이지로 리디렉션됩니다.
  3. 목록에서 IdP를 선택합니다.
  4. 프롬프트에서 자격 증명을 입력합니다. 필요한 경우 Microsoft Entra 다단계 인증 토큰을 포함합니다.
  5. 애플리케이션 요청을 DAP 리디렉션 URI로 전달하는 Azure AD B2C로 리디렉션됩니다.
  6. DAB는 정책을 평가하고 헤더를 계산하며 사용자를 업스트림 애플리케이션으로 보냅니다.
  7. 요청한 애플리케이션이 나타납니다.

다음 단계