Azure Active Directory B2C 글로벌 ID 프레임워크

Azure Active Directory B2C는 하루에 수백만 명의 사용자와 수십억 개의 인증을 지원할 수 있는 CIAM(고객 ID 액세스 관리) 솔루션입니다. 인증 플랫폼의 스케일링 및 안전을 처리하고, 서비스 거부, 암호 스프레이 또는 무차별 암호 대입 공격과 같은 위협을 모니터링하여 자동으로 처리합니다.

Azure AD B2C(Azure Active Directory B2C)는 Microsoft Entra ID와 별도의 서비스입니다. Microsoft Entra ID와 동일한 기술을 기반으로 빌드되었지만 목적은 다릅니다. 이를 통해 기업은 고객 관련 애플리케이션을 빌드한 다음, 애플리케이션에 대한 셀프 서비스 등록을 허용합니다.

Azure AD B2C는 여러 구성 요소로 구성된 전역적으로 분산된 서비스입니다.

Azure AD B2C 솔루션을 만들 때 서비스를 호스트할 위치를 제공해야 합니다. 이 위치는 사용자 프로필 데이터가 저장되는 지역과만 관련되며 로그인을 처리하는 나머지 서비스는 전역적으로 실행됩니다.

일반적으로 사용자 기반과 가장 가까운 지역에 Azure AD B2C 테넌트를 배포합니다. 이렇게 하면 사용자 프로필이 선택한 지역에서만 복제되므로 데이터 상주법 준수를 보다 쉽게 유지할 수 있습니다. 또한 네트워크 대기 시간이 디렉터리 저장소에 최적화되어 있으므로 로그인하는 동안 최상의 성능을 제공합니다.

Azure AD B2C 디렉터리가 전 세계 사용자에게 서비스를 제공해야 하는 경우 지역 구조에 따른 문제가 발생합니다. Azure AD B2C 테넌트를 만들 위치를 결정해야 합니다. 선택한 지역 외부의 모든 사용자는 데이터 상주 요구 사항을 준수하지 않을 수 있으며 자격 증명을 확인하거나 사용자 프로필 데이터를 읽을 때 대기 시간이 증가할 수 있습니다.

예를 들어 오스트레일리아 및 북아메리카 사용자를 지원하는 애플리케이션을 고려해 보세요. Azure AD B2C 디렉터리는 북아메리카 지역에 만들어집니다. 오스트레일리아에서 로그인하는 사용자는 인증을 완료하는 데 더 긴 처리 시간이 발생할 수 있습니다.

데이터 상주 요구 사항을 더 잘 충족하고 성능 문제를 완화하려면 여러 Azure AD B2C 테넌트 배포해야 합니다. 비즈니스가 운영되는 각 지역에 테넌트를 배치하여 디렉터리에 대한 운영 대기 시간이 최적화됩니다. 그러나 이렇게 하면 솔루션은 각 지역에서 이러한 중요한 테넌트 리소스를 구성, 관리 및 보호하기 위한 다른 오버헤드를 만듭니다. 기타 오버헤드에는 다음이 포함됩니다.

  • 테넌트 관리

  • 테넌트 격리로 인해 전역으로 느껴지지 않는 최종 사용자 환경 구현

  • 결제

  • 정책/앱 등록/키를 관리하는 CI/CD 프로세스

이 문서에서는 전 세계 사용자에게 서비스를 제공하는 고객용 솔루션을 가장 잘 수용하는 Azure AD B2C의 아키텍처를 제안합니다. 이 솔루션은 다음과 같은 요구 사항을 해결합니다.

  • 사용자는 전 세계에서 애플리케이션에 액세스하는 위치에 관계없이 동일한 자격 증명 집합을 유지할 수 있습니다.

  • 사용자가 인증을 받는 위치에 관계없이 일관된 성능 및 대기 시간

  • 고객이 최소한의 구성이 필요한 개발자 팀에 프로세스, 프레임워크 또는 SDK를 쉽게 제공할 수 있도록 합니다.

  • 사용자가 전 세계를 여행하는 동안 사용자 프로필을 유지 관리할 수 있습니다. 이렇게 하면 모든 서비스 내의 사용자 상호 작용에 의해 생성된 분석에서 더 많은 가치가 생성됩니다.

  • 고객 사용자 데이터는 지역 데이터 저장소에 저장됩니다.

다음은 전역적으로 작동하는 비즈니스 모델에 Azure AD B2C 테넌트를 사용하여 ID 플랫폼을 구현할 때 고려해야 할 두 가지 접근 방식입니다.

  • 첫 번째 방법은 경계 및 애플리케이션이 지역에 맞게 특별히 구성되기 때문에 지리적 지역을 사용합니다.

  • 두 번째 방법은 애플리케이션에 대한 전역 경계를 유지하며 추가 Azure AD B2C 테넌트를 사용하여 지역 테넌트 간의 상호 작용을 오케스트레이션합니다.

지역 테넌트 오케스트레이션

이 모델에서 애플리케이션은 지역별로 호스트되거나 지역별 구성을 통해 지역 테넌트로 연결됩니다. 애플리케이션은 사용자를 지역별 테넌트로 직접 보냅니다. 테넌트 간 통신은 사용자가 다른 지역으로 이동했을 수 있는 경우 테넌트 간 인증 또는 테넌트 간 프로필 업데이트를 수행하는 데 사용됩니다.

Regional tenant orchestration

유입 경로 테넌트 오케스트레이션

이 모델에서 Azure AD B2C 테넌트는 사용자를 지역 Azure AD B2C 테넌트로 유입합니다. 유입 경로 테넌트는 다른 Azure AD B2C 테넌트로의 리디렉션 오케스트레이터로 작동합니다. 이는 Azure AD B2C 서비스의 전역적으로 분산된 구성 요소에 의해 처리되므로 성능은 영향을 받지 않습니다. 이 리디렉션은 OpenId Connect ID 공급자 페더레이션을 사용하여 수행됩니다.

테넌트 간 통신은 테넌트 간 인증 또는 테넌트 간 프로필 업데이트를 수행하는 데 사용됩니다. 유입 경로 테넌트는 애플리케이션에 통신할 단일 엔드포인트를 제공합니다.

Funnel tenant orchestration

솔루션을 모델링하기로 결정한 아키텍처는 설명된 두 모델 간의 절충안에 따라 선택해야 합니다. 예를 들어 유입 경로 모델을 사용하면 애플리케이션의 단일 인스턴스를 유지할 수 있습니다. 다음 섹션에서는 선택한 디자인에 영향을 미칠 수 있는 기능, 선택 기준 및 성능에 대해 설명합니다.

기능 및 고려 사항

다음 표에서는 지역 및 유입 경로 기반 설계를 사용하여 제공되는 기능에 대해 설명합니다.

기능 지역 기반 유입 경로 기반
로컬 계정 등록 및 로그인을 지원합니다. Checkbox Checkbox
페더레이션된 계정 등록 및 로그인을 지원합니다. Checkbox Checkbox
등록된 지역 외부에서 로그인하는 사용자의 로컬 계정 인증을 지원합니다. Checkbox Checkbox
테넌트 간 API 기반 조회를 사용하여 등록된 지역 외부에서 로그인하는 사용자의 페더레이션된 계정 인증을 지원합니다. Checkbox Checkbox
여러 다른 지역에서 등록 방지 Checkbox Checkbox
각 지역의 애플리케이션에는 연결할 엔드포인트 집합이 있습니다. Checkbox
모든 애플리케이션은 호스트되는 지역에 관계없이 단일 엔드포인트 집합에 연결됩니다. Checkbox
세분화된 조건부 액세스 정책을 지원합니다. Checkbox
비용에 최적화되었습니다. Checkbox

기능에 따라 다음 사항을 고려해야 합니다.

  • 지역 기반 접근 방식을 사용할 때 주요 고려 사항은 여러 지역에 걸쳐 있는 애플리케이션이 지역 Azure AD B2C 테넌트마다 해당 구성을 포함하도록 요구하는 방식을 따른다는 것입니다.

  • 유입 경로 기반 접근 방식을 사용하는 경우

    • 이중 토큰 비용이 있습니다.

    • 추가 HTTP 리디렉션이 도입되었습니다.

    • 많은 테넌트에 사용자 지정 도메인이 필요합니다.

    • 조건부 액세스는 애플리케이션 수준이 아닌 테넌트 수준에서 적용됩니다.

    • 여러 IdP를 통한 Single Sign Out이 수행될 때 문제가 발생할 수 있습니다.

선택하는 방법은 호스팅하는 애플리케이션 수와 애플리케이션에 대한 특정 액세스 요구 사항을 기준으로 합니다.

성능

지역 또는 유입 경로 기반 구성에서 여러 테넌트를 사용할 경우의 성능상 이점은 전역적으로 운영되는 비즈니스에 단일 Azure AD B2C 테넌트를 사용하는 것보다 더 나을 것입니다.

유입 경로 기반 방식을 사용하는 경우 유입 경로 테넌트는 하나의 특정 지역에 위치하며 전 세계적으로 사용자에게 서비스를 제공합니다. 유입 경로 테넌트 작업은 Azure AD B2C 서비스의 전역 구성 요소를 활용하므로 사용자가 로그인하는 위치에 관계없이 일관된 수준의 성능을 유지합니다.

Screenshot shows the Azure AD B2C architecture.

위의 다이어그램에 표시된 것처럼 유입 경로 기반 접근 방식의 Azure AD B2C 테넌트는 정책 엔진만 활용하여 지역 Azure AD B2C 테넌트로 리디렉션합니다. Azure AD B2C 정책 엔진 구성 요소는 전역적으로 배포됩니다. 따라서 유입 경로는 Azure AD B2C 유입 경로 테넌트가 프로비전되는 위치에 관계없이 성능 관점에서 제한되지 않습니다. 유입 경로 기반 접근 방식에서 유입 경로 및 지역 테넌트 간의 추가 리디렉션으로 인해 성능이 저하됩니다.

지역 기반 접근 방식에서 각 사용자는 로컬 Azure AD B2C로 이동되므로 로그인하는 모든 사용자에 대해 일관된 성능이 유지됩니다.

지역 테넌트는 유입 경로 기반 아키텍처와 지역 기반 아키텍처 모두에서 유일한 지역화된 구성 요소인 디렉터리 저장소에 대한 디렉터리 호출을 수행합니다.

추가 대기 시간은 사용자가 등록한 다른 지역에서 인증을 수행한 경우에만 발생합니다. 이것은 인증을 완료하기 위해 프로필이 있는 디렉터리 저장소에 도달하기 위해 지역 간에 호출이 수행되기 때문입니다.

다음 단계