다음을 통해 공유


Azure AD B2C 사용자 지정 정책 개요

중요합니다

2025년 5월 1일부터 새 고객을 위해 Azure AD B2C를 더 이상 구매할 수 없습니다. FAQ에서 자세히 알아보세요.

사용자 지정 정책은 Azure AD B2C(Azure Active Directory B2C) 테넌트의 동작을 정의하는 구성 파일입니다. 사용자 흐름은 가장 일반적인 ID 작업에 대해 Azure AD B2C 포털에 미리 정의되어 있지만 ID 개발자는 사용자 지정 정책을 편집하여 다양한 작업을 완료할 수 있습니다.

사용자 지정 정책은 완전히 구성 가능하며 정책 기반입니다. 사용자 지정 정책은 표준 프로토콜의 엔터티 간 신뢰를 오케스트레이션합니다. 예를 들어 OpenID Connect, OAuth, SAML 및 몇 가지 비표준 항목(예: REST API 기반 시스템 간 클레임 교환)이 있습니다. 이 프레임워크는 사용자 친화적이고 화이트 라벨이 지정된 경험을 만듭니다.

사용자 지정 정책은 하나 이상의 XML 형식 파일로 표시되며, 계층 체인에서 서로를 참조합니다. XML 요소는 빌딩 블록, 사용자 및 다른 당사자와의 상호 작용, 비즈니스 논리를 정의합니다.

사용자 지정 정책 시작 팩

Azure AD B2C 사용자 지정 정책 시작 팩 에는 빠르게 시작할 수 있도록 미리 빌드된 몇 가지 정책이 함께 제공됩니다. 이러한 각 시작 팩에는 설명된 시나리오를 달성하는 데 필요한 최소한의 기술 프로필 및 사용자 경험이 포함되어 있습니다.

  • LocalAccounts - 로컬 계정만 사용할 수 있습니다.
  • SocialAccounts - 소셜(또는 페더레이션된) 계정만 사용할 수 있습니다.
  • SocialAndLocalAccounts - 로컬 계정과 소셜 계정을 모두 사용할 수 있습니다. 대부분의 샘플은 이 정책을 참조합니다.
  • SocialAndLocalAccountsWithMFA - 소셜, 로컬 및 다단계 인증 옵션을 사용하도록 설정합니다.

Azure AD B2C 샘플 GitHub 리포지토리에서 몇 가지 향상된 Azure AD B2C 사용자 지정 CIAM 사용자 경험 및 시나리오에 대한 샘플을 찾을 수 있습니다. 예를 들어 로컬 계정 정책 개선, 소셜 계정 정책 개선, MFA 개선, 사용자 인터페이스 개선, 일반 개선 사항, 앱 마이그레이션, 사용자 마이그레이션, 조건부 액세스, 웹 테스트 및 CI/CD가 있습니다.

기본 사항 이해

클레임

클레임은 Azure AD B2C 정책 실행 중에 데이터의 임시 스토리지를 제공합니다. 클레임은 프로그래밍 언어의 변수와 비슷합니다. 이름, 성 또는 사용자 또는 다른 시스템(클레임 교환)에서 얻은 기타 클레임과 같은 사용자에 대한 정보를 저장할 수 있습니다. 클레임 스키마는 클레임을 선언하는 위치입니다.

정책이 실행되면 Azure AD B2C는 내부 및 외부 당사자와 클레임을 주고받은 다음, 이러한 클레임의 하위 집합을 토큰의 일부로 신뢰 당사자 애플리케이션에 보냅니다. 클레임은 다음과 같은 방식으로 사용됩니다.

  • 클레임은 디렉터리 사용자 개체에 대해 저장, 읽기 또는 업데이트됩니다.
  • 외부 ID 공급자로부터 클레임을 받습니다.
  • 클레임은 사용자 지정 REST API 서비스를 사용하여 보내거나 받습니다.
  • 데이터는 가입 또는 프로필 편집 흐름 중에 사용자로부터 클레임으로 수집됩니다.

클레임 조작

클레임 변환은 지정된 클레임을 다른 클레임으로 변환하거나, 클레임을 평가하거나, 클레임 값을 설정하는 데 사용할 수 있는 미리 정의된 함수입니다. 예를 들어 문자열 컬렉션에 항목을 추가하거나, 문자열의 대/소문자를 변경하거나, 날짜 및 시간 클레임을 평가합니다. 클레임 변환은 역시 미리 정의된 변환 메서드를 지정합니다.

UI 사용자 지정 및 지역화

웹 브라우저에 페이지를 표시하여 사용자로부터 정보를 수집하려면 자체 어설션된 기술 프로필을 사용합니다. 자체 어설션된 기술 프로필을 편집하여 클레임을 추가하고 사용자 입력을 사용자 지정할 수 있습니다.

자체 어설션된 기술 프로필에 대한 사용자 인터페이스를 사용자 지정하려면 사용자 지정된 HTML 콘텐츠를 사용하여 콘텐츠 정의 요소에 URL을 지정합니다. 자체 주장된 기술 프로필에서 이 콘텐츠 정의 ID를 가리킵니다.

언어별 문자열을 사용자 지정하려면 localization 요소를 사용합니다. 콘텐츠 정의에는 로드할 지역화된 리소스 목록을 지정하는 지역화 참조가 포함될 수 있습니다. Azure AD B2C는 사용자 인터페이스 요소를 URL에서 로드된 HTML 콘텐츠와 병합한 다음 사용자에게 페이지를 표시합니다.

신뢰 당사자 정책 개요

SAML 프로토콜에서 서비스 공급자라고 하는 신뢰 당사자 응용 프로그램은 신뢰 당사자 정책을 호출하여 특정 사용자 경험을 실행합니다. 신뢰 당사자 정책은 실행할 사용자 경험과 토큰에 포함된 클레임 목록을 지정합니다.

정책 실행 흐름을 보여주는 다이어그램

동일한 정책을 사용하는 모든 신뢰 당사자 응용 프로그램은 동일한 토큰 클레임을 받고 사용자는 동일한 사용자 경험을 거칩니다.

사용자 여정

User Journeys를 사용하면 사용자가 애플리케이션에 액세스하기 위해 따르는 경로를 사용하여 비즈니스 논리를 정의할 수 있습니다. 사용자는 사용자 경험을 통해 응용 프로그램에 제공될 클레임을 검색합니다. 사용자 경험은 일련의 오케스트레이션 단계에서 구축됩니다. 사용자는 토큰을 획득하기 위해 마지막 단계에 도달해야 합니다.

다음 지침에서는 소셜 및 로컬 계정 스타터 팩 정책에 오케스트레이션 단계를 추가하는 방법을 설명합니다. 다음은 추가된 REST API 호출의 예입니다.

사용자 맞춤형 사용자 여정

오케스트레이션 단계

오케스트레이션 단계는 의도된 용도 또는 기능을 구현하는 메서드를 참조합니다. 이 방법을 기술 프로필이라고 합니다. 사용자 여정이 비즈니스 논리를 더 잘 나타내기 위해 분기해야 하는 경우 오케스트레이션 단계는 sub 여정을 참조합니다. 하위 여정에는 고유한 오케스트레이션 단계 집합이 포함되어 있습니다.

사용자는 토큰을 획득하기 위해 사용자 경험의 마지막 오케스트레이션 단계에 도달해야 합니다. 그러나 사용자가 모든 오케스트레이션 단계를 거칠 필요는 없습니다. 오케스트레이션 단계는 오케스트레이션 단계에서 정의된 사전 조건에 따라 조건부로 실행할 수 있습니다.

오케스트레이션 단계가 완료되면 Azure AD B2C는 출력된 클레임을 클레임 백에 저장합니다. 클레임 백의 클레임은 사용자 경험의 추가 오케스트레이션 단계에서 사용할 수 있습니다.

다음 다이어그램에서는 사용자 경험의 오케스트레이션 단계가 클레임 백에 액세스하는 방법을 보여 줍니다.

Azure AD B2C 사용자 경험

기술 프로필

기술 프로필은 다양한 유형의 파티와 통신하는 인터페이스를 제공합니다. 사용자 경험은 오케스트레이션 단계를 통해 기술 프로필 호출을 결합하여 비즈니스 논리를 정의합니다.

모든 유형의 기술 프로필은 동일한 개념을 공유합니다. 입력 클레임을 보내고, 클레임 변환을 실행하고, 구성된 당사자와 통신합니다. 프로세스가 완료되면 기술 프로필은 출력 클레임을 클레임 백에 반환합니다. 자세한 내용은 기술 프로필 개요를 참조하세요.

유효성 검사 기술 프로필

사용자가 사용자 인터페이스와 상호 작용할 때 수집된 데이터의 유효성을 검사할 수 있습니다. 사용자와 상호 작용하려면 자체 어설션된 기술 프로필을 사용해야 합니다.

사용자 입력의 유효성을 검사하기 위해 자체 어설션된 기술 프로필에서 유효성 검사 기술 프로필 이 호출됩니다. 유효성 검사 기술 프로필은 비대화형 기술 프로필을 호출하는 방법입니다. 이 경우 기술 프로필은 출력 클레임 또는 오류 메시지를 반환할 수 있습니다. 오류 메시지가 화면에 사용자에게 렌더링되어 사용자가 다시 시도할 수 있습니다.

다음 다이어그램에서는 Azure AD B2C에서 유효성 검사 기술 프로필을 사용하여 사용자 자격 증명의 유효성을 검사하는 방법을 보여 줍니다.

유효성 검사 기술 프로필 다이어그램

상속 모델

스타터 팩 에는 다음 파일이 포함되어 있습니다.

  • 대부분의 정의가 포함된 기본 파일입니다. 정책의 문제 해결 및 장기 유지 관리에 도움이 되도록 이 파일에 대한 변경 횟수를 최소화하십시오.
  • 현지화 문자열을 포함하는 현지화 파일입니다. 이 정책 파일은 기본 파일에서 파생됩니다. 이 파일을 사용하여 고객 요구에 맞는 다양한 언어를 수용할 수 있습니다.
  • 테넌트에 대한 고유한 구성 변경 내용을 포함하는 확장 파일입니다. 이 정책 파일은 지역화 파일에서 파생됩니다. 이 파일을 사용하여 새 기능을 추가하거나 기존 기능을 재정의할 수 있습니다. 예를 들어 이 파일을 사용하여 새 ID 공급자와 페더레이션합니다.
  • RP(신뢰 당사자) 파일로, 웹, 모바일 또는 데스크톱 응용 프로그램과 같은 신뢰 당사자 응용 프로그램에 의해 직접 호출되는 단일 작업 중심 파일입니다. 등록, 로그인 또는 프로필 편집과 같은 각 고유 작업에는 고유한 신뢰 당사자 정책 파일이 필요합니다. 이 정책 파일은 확장 파일에서 파생됩니다.

상속 모델은 다음과 같습니다.

  • 모든 수준의 자식 정책은 부모 정책에서 상속하고 새 요소를 추가하여 확장할 수 있습니다.
  • 더 복잡한 시나리오의 경우 더 많은 상속 수준(총 10개)을 추가할 수 있습니다.
  • 신뢰 당사자 정책을 추가로 설정할 수 있습니다. 예를 들어 내 계정 삭제, 전화 번호, SAML 신뢰 당사자 정책 등을 변경합니다.

다음 다이어그램에서는 정책 파일과 신뢰 당사자 응용 프로그램 간의 관계를 보여 줍니다.

신뢰 프레임워크 정책 상속 모델을 보여주는 다이어그램

지침 및 모범 사례

모범 사례

Azure AD B2C 사용자 지정 정책 내에서 사용자 고유의 비즈니스 논리를 통합하여 필요한 사용자 환경을 빌드하고 서비스의 기능을 확장할 수 있습니다. 시작하기 위한 일련의 모범 사례와 권장 사항이 있습니다.

  • 확장 정책 또는 신뢰 당사자 정책 내에서 논리를 만듭니다. 동일한 ID를 참조하여 기본 정책을 재정의하는 새 요소를 추가할 수 있습니다. 이 방법을 사용하면 프로젝트를 확장할 수 있으며 나중에 Microsoft에서 새 시작 팩을 릴리스할 때 기본 정책을 더 쉽게 업그레이드할 수 있습니다.
  • 기본 정책 내에서는 변경하지 않는 것이 좋습니다. 필요한 경우 변경 사항이 있는 위치에 주석을 추가합니다.
  • 기술 프로필 메타데이터와 같은 요소를 재정의하는 경우 기본 정책에서 전체 기술 프로필을 복사하지 마세요. 대신 요소의 필수 섹션만 복사하십시오. 변경하는 방법에 대한 예는 이메일 확인 비활성화 를 참조하세요.
  • 핵심 기능이 공유되는 기술 프로필의 중복을 줄이려면 기술 프로필 포함을 사용합니다.
  • 로그인하는 동안 Microsoft Entra 디렉터리에 쓰지 마세요. 이로 인해 제한 문제가 발생할 수 있습니다.
  • 정책에 REST API와 같은 외부 종속성이 있는 경우 고가용성을 확인합니다.
  • 더 나은 사용자 경험을 위해 사용자 지정 HTML 템플릿이 온라인 콘텐츠 전달을 사용하여 전역적으로 배포되었는지 확인하십시오. Azure CDN(Content Delivery Network)을 사용하면 로드 시간을 줄이고, 대역폭을 절약하고, 응답 속도를 향상시킬 수 있습니다.
  • 사용자 경험을 변경하려면 기본 정책에서 확장 정책으로 전체 사용자 경험을 복사합니다. 복사한 사용자 경험에 고유한 사용자 여정 ID를 제공합니다. 그런 다음 신뢰 당사자 정책에서 새 사용자 경험을 가리키도록 기본 사용자 경험 요소를 변경합니다.

문제 해결

Azure AD B2C 정책을 사용하여 개발할 때 사용자 경험을 실행하는 동안 오류 또는 예외가 발생할 수 있습니다. Application Insights를 사용하여 조사할 수 있습니다.

연속 통합

Azure Pipelines에서 설정한 CI/CD(연속 통합 및 지속적인 업데이트) 파이프라인을 사용하여 소프트웨어 배달 및 코드 제어 자동화 에 Azure AD B2C 사용자 지정 정책을 포함할 수 있습니다 . 다양한 Azure AD B2C 환경(예: 개발, 테스트 및 프로덕션)에 배포할 때 수동 프로세스를 제거하고 Azure Pipelines를 사용하여 자동화된 테스트를 수행하는 것이 좋습니다.

환경 준비

Azure AD B2C 사용자 지정 정책을 시작합니다.

  1. Azure AD B2C 테넌트 만들기
  2. 정책을 테스트할 수 있도록 Azure Portal을 사용하여 웹 애플리케이션을 등록합니다.
  3. 필요한 정책 키를 추가하고 Identity Experience Framework 응용 프로그램을 등록합니다.
  4. Azure AD B2C 정책 시작 팩을 가져와서 테넌트에 업로드합니다.
  5. 스타터 팩을 업로드한 후 등록 또는 로그인 정책을 테스트합니다.
  6. VS Code( Visual Studio Code )를 다운로드하여 설치하는 것이 좋습니다. Visual Studio Code는 데스크톱에서 실행되며 Windows, macOS 및 Linux에서 사용할 수 있는 가볍지만 강력한 소스 코드 편집기입니다. VS Code를 사용하면 VS Code용 Azure AD B2C 확장을 설치하여 Azure AD B2C 사용자 지정 정책 XML 파일을 빠르게 탐색하고 편집할 수 있습니다

Azure AD B2C 정책을 설정하고 테스트한 후 정책 사용자 지정을 시작할 수 있습니다. 다음 문서를 통해 다음 방법을 알아보세요.