다음을 통해 공유


헤더 기반 인증을 사용하여 애플리케이션을 Grit의 앱 프록시를 통해 Azure Active Directory B2C로 마이그레이션

이 샘플 자습서에서는 헤더 기반 인증을 사용하여 레거시 애플리케이션을 Grit의 앱 프록시를 사용하여 Azure AD B2C(Azure Active Directory B2C)로 마이그레이션하는 방법을 알아봅니다.

Grit의 앱 프록시를 사용하면 다음과 같은 이점이 있습니다.

  • 애플리케이션 코드 변경이 없고 배포가 쉬워 ROI가 빨라집니다.

  • 사용자가 Multi-Factor 인증, 생체 인식 및 암호 없는 것과 같은 최신 인증 환경을 사용하여 보안을 강화할 수 있습니다.

  • 레거시 인증 솔루션의 라이선스 비용 대폭 절약

필수 조건

시작하려면 다음이 필요합니다.

  • Grit의 앱 프록시에 대한 라이선스. 라이선스에 대한 자세한 내용은 Grit 지원에 문의하세요. 이 자습서에서는 라이선스가 필요하지 않습니다.

  • Azure 구독 계정이 없으면 체험 계정을 얻습니다.

  • Azure AD B2C 테넌트를 Azure 구독에 연결합니다.

시나리오 설명

Grit 통합에는 다음 구성 요소가 포함됩니다.

  • Azure AD B2C: 사용자 자격 증명을 확인하기 위한 권한 부여 서버 - 인증된 사용자는 Azure AD B2C 디렉터리에 저장된 로컬 계정을 사용하여 온-프레미스 애플리케이션에 액세스합니다.

  • Grit 앱 프록시: HTTP 헤더를 통해 애플리케이션에 ID를 전달하는 서비스입니다.

  • 웹 애플리케이션: 사용자가 액세스를 요청하는 레거시 애플리케이션입니다.

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

Screenshot shows the architecture diagram of the implementation.

  1. 사용자가 온-프레미스 애플리케이션에 대한 액세스를 요청합니다.

  2. Grit 앱 프록시는 Azure WAF(Web Application Firewall)을 통해 요청을 받아 애플리케이션으로 보냅니다.

  3. Grit 앱 프록시는 사용자 인증 상태를 확인합니다. 세션 토큰이 없거나 잘못된 토큰이 있으면 사용자는 인증을 위해 Azure AD B2C로 이동합니다.

  4. Azure AD B2C는 Azure AD B2C 테넌트에서 Grit 앱 프록시 등록 중에 지정된 엔드포인트로 사용자 요청을 보냅니다.

  5. Grit 앱 프록시는 액세스 정책을 평가하고 애플리케이션에 전달된 HTTP 헤더의 특성 값을 계산합니다. Grit 앱 프록시는 헤더 값을 설정하고 요청을 애플리케이션으로 보냅니다.

  6. 사용자는 애플리케이션에 대한 액세스 허용/거부로 인증됩니다.

Grit 앱 프록시로 온보딩

온보딩에 대한 자세한 내용은 Grit 지원에 문의하세요.

Azure AD B2C로 Grit의 앱 프록시 솔루션 구성

이 자습서의 경우 Grit에는 이미 백 엔드 애플리케이션과 Azure AD B2C 정책이 있습니다. 이 자습서는 백 엔드 애플리케이션에 액세스하기 위한 프록시 구성에 관한 것입니다.

UX를 사용하여 보안을 위해 백 엔드 애플리케이션의 각 페이지를 구성할 수 있습니다. 각 페이지에 필요한 인증 형식과 필요한 헤더 값을 구성할 수 있습니다.

사용자가 그룹 멤버 자격 또는 기타 조건에 따라 특정 페이지에 대한 권한을 거부해야 하는 경우 인증 사용자 경험에서 처리됩니다.

  1. https://proxyeditor.z13.web.core.windows.net/으로 이동합니다.

  2. 드롭다운이 나타나면 드롭다운을 선택하고 새로 만들기를 선택합니다.

  3. 문자와 숫자만 포함된 페이지의 이름을 입력합니다.

  4. B2C 정책 상자에 B2C_1A_SIGNUP_SIGNIN을 입력합니다.

  5. HTTP 메서드에서 GET을 선택합니다.

  6. 엔드포인트 필드에 'https://anj-grit-legacy-backend.azurewebsites.net/Home/Page'를 입력하면 레거시 애플리케이션에 대한 엔드포인트가 됩니다.

    참고 항목

    이 데모는 공개적으로 사용할 수 있으며 입력한 값이 공용으로 표시됩니다. 이 데모로 보안 애플리케이션을 구성하지 마세요.

    Screenshot shows the proxy configuration UI.

  7. ADD HEADER를 선택합니다.

  8. 대상 헤더 필드에 x-iss를 입력하여 애플리케이션으로 보내야 하는 유효한 HTTP 헤더를 구성합니다.

  9. B2C 정책의 클레임 이름인 값 필드에 given_name을 입력합니다. 클레임 값이 헤더로 전달됩니다.

  10. 원본으로 토큰을 선택합니다.

  11. SAVE SETTINGS를 선택합니다.

  12. 팝업에서 링크를 선택합니다. 로그인 페이지로 이동합니다. 등록 링크를 선택하고 필수 정보를 입력합니다. 등록 프로세스를 완료하면 레거시 애플리케이션으로 리디렉션됩니다. 등록 시 지정된 이름 필드에 입력한 이름이 애플리케이션에 표시됩니다.

흐름 테스트

  1. 온-프레미스 애플리케이션 URL로 이동합니다.

  2. Grit 앱 프록시는 사용자 흐름에서 구성한 페이지로 리디렉션됩니다. 목록에서 IdP를 선택합니다.

  3. 프롬프트에서 자격 증명을 입력합니다. 필요한 경우 Microsoft Entra 다단계 인증 토큰을 포함합니다.

  4. 애플리케이션 요청을 Grit의 앱 프록시 리디렉션 URI로 전달하는 Azure AD B2C로 리디렉션됩니다.

  5. Grit의 앱 프록시는 정책을 평가하고 헤더를 계산하며 사용자를 업스트림 애플리케이션으로 보냅니다.

  6. 요청한 애플리케이션이 나타납니다.

추가 리소스