Azure Active Directory B2C에서 사용자 지정 특성 정의

시작하기 전에 이 페이지 맨 위의 정책 유형 선택 선택기를 사용하여 설정하려는 정책 유형을 선택합니다. Azure Active Directory B2C는 사용자가 애플리케이션과 상호 작용하는 방법을 정의하는 두 가지 방법, 즉 미리 정의된 사용자 흐름 또는 완전히 구성 가능한 사용자 지정 정책을 통해 제공합니다. 이 문서에서 필요한 단계는 각 방법마다 다릅니다.

사용자 지정 정책을 사용하여 클레임 추가 및 사용자 입력 사용자 지정 문서에서 기본 제공 사용자 프로필 특성을 사용하는 방법을 알아봅니다. 이 문서에서는 Azure AD B2C(Azure Active Directory B2C) 디렉터리에서 사용자 지정 특성을 사용하도록 설정합니다. 나중에 사용자 흐름이나 사용자 지정 정책에서 새 특성을 사용자 지정 클레임으로 동시에 사용할 수 있습니다.

Azure AD B2C 디렉터리에는 기본 제공 특성 집합이 함께 제공됩니다. 그러나 특정 시나리오를 관리하기 위해 고유한 특성을 만들어야 하는 경우가 많습니다. 예를 들면 다음과 같습니다.

  • 고객 대면 애플리케이션은 loyaltyId 특성을 유지해야 합니다.
  • ID 공급자에게는 고유한 사용자 ID uniqueUserGUID가 있으며, 이를 유지해야 합니다.
  • 다른 논리가 계속 작동하려면 사용자 지정 사용자 경험에서 사용자의 상태인 migrationStatus를 유지해야 합니다.

‘확장 속성’, ‘사용자 지정 특성’ 및 ‘사용자 지정 클레임’은 이 문서의 컨텍스트에서 동일한 항목을 참조합니다. 이름은 컨텍스트(예: 애플리케이션, 개체 또는 정책)에 따라 달라집니다.

Azure AD B2C를 사용하면 각 사용자 계정에 저장된 특성 집합을 확장할 수 있습니다. 또한 Microsoft Graph API를 사용하여 이러한 특성을 읽고 쓸 수도 있습니다.

필수 조건

사용자 지정 특성 만들기

  1. Azure AD B2C 테넌트의 전역 관리자로 Azure Portal에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
  3. Azure Portal의 왼쪽 상단 모서리에서 모든 서비스를 선택하고 Azure AD B2C를 검색하여 선택합니다.
  4. 사용자 특성을 선택한 후 추가를 선택합니다.
  5. 사용자 지정 특성(예: "ShoeSize")에 대해 이름을 제공합니다.
  6. 데이터 형식을 선택합니다. 문자열, 부울Int만 사용할 수 있습니다.
  7. 필요에 따라 정보 제공을 위해 설명을 입력합니다.
  8. 만들기를 실행합니다.

이제 사용자 지정 특성을 사용자 특성 목록 및 사용자 흐름에서 사용할 수 있습니다. 사용자 지정 특성은 사용자 특성 목록에 추가될 때가 아니라 사용자 흐름에 사용될 때 처음으로 만들어집니다.

사용자 흐름에 사용자 지정 특성 사용

  1. Azure AD B2C 테넌트에서 사용자 흐름을 선택합니다.
  2. 정책(예: "B2C_1_SignupSignin")을 선택하여 엽니다.
  3. 사용자 특성을 선택하고 사용자 지정 특성을 선택합니다(예: "ShoeSize"). 저장을 선택합니다.
  4. 애플리케이션 클레임을 선택하고 사용자 지정 특성을 선택합니다.
  5. 저장을 선택합니다.

사용자 흐름을 사용하여 새 사용자를 만든 후에는 사용자 흐름에서 사용자 흐름 실행 기능을 사용하여 고객 환경을 확인할 수 있습니다. 이제 등록 과정 동안 수집되는 특성 목록에 ShoeSize가 표시되며 애플리케이션으로 다시 전송되는 토큰에도 표시됩니다.

Azure AD B2C 확장 앱

확장 특성은 사용자에 대한 데이터를 포함할 수 있더라도 응용 프로그램 개체에만 등록할 수 있습니다. 확장 특성은 b2c-extensions-app이라는 응용 프로그램에 연결됩니다. 이 애플리케이션은 사용자 데이터 저장을 위해 Azure AD B2C에서 사용하므로 수정하지 않습니다. 이 응용 프로그램은 Azure AD B2C 앱 등록 아래에서 확인할 수 있습니다.

확장 앱의 애플리케이션 ID 가져오기

  1. Azure Portal에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
  3. 왼쪽 메뉴에서 Azure AD B2C를 선택합니다. 또는 모든 서비스를 선택하고 Azure AD B2C를 검색하여 선택합니다.
  4. 앱 등록을 선택하고 모든 응용 프로그램을 선택합니다.
  5. b2c-extensions-app. Do not modify. Used by AADB2C for storing user data. 애플리케이션을 선택합니다.
  6. 애플리케이션 ID를 복사합니다. 예: 11111111-1111-1111-1111-111111111111

확장 앱의 애플리케이션 속성 가져오기

  1. Azure Portal에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
  3. 왼쪽 메뉴에서 Azure AD B2C를 선택합니다. 또는 모든 서비스를 선택하고 Azure AD B2C를 검색하여 선택합니다.
  4. 앱 등록을 선택하고 모든 응용 프로그램을 선택합니다.
  5. b2c-extensions-app. 수정하지 마세요. AADB2C에서 사용자 데이터를 저장하는 데 사용됩니다. 애플리케이션을 선택합니다.
  6. 다음 식별자를 클립보드에 복사하고 저장합니다.
    • 애플리케이션 ID. 예: 11111111-1111-1111-1111-111111111111
    • 개체 ID - 예: 22222222-2222-2222-2222-222222222222

사용자 지정 정책 수정

정책에서 사용자 지정 특성을 사용하도록 설정하려면 AAD-Common 기술 프로필 메타데이터에 응용 프로그램 ID 및 응용 프로그램 개체 ID를 제공합니다. AAD-Common* 기술 프로필은 기본 Microsoft Entra ID 기술 프로필에 있으며 Microsoft Entra 사용자 관리에 대한 지원을 제공합니다. 다른 Microsoft Entra ID 기술 프로필에는 해당 구성을 사용하는 AAD-Common이 포함됩니다. 확장 파일의 AAD-Common 기술 프로필을 재정의합니다.

  1. 정책의 확장 파일을 엽니다. 예: SocialAndLocalAccounts/TrustFrameworkExtensions.xml.

  2. ClaimsProviders 요소를 찾습니다. ClaimsProviders 요소에 새 ClaimsProvider를 추가합니다.

  3. 여는 <Item Key="ClientId"> 요소와 닫는 </Item> 요소 사이에 이전에 기록한 응용 프로그램 ID를 삽입합니다.

  4. 여는 <Item Key="ApplicationObjectId"> 요소와 닫는 </Item> 요소 사이에 이전에 기록한 응용 프로그램 ObjectID를 삽입합니다.

    <!-- 
    <ClaimsProviders> -->
      <ClaimsProvider>
        <DisplayName>Azure Active Directory</DisplayName>
        <TechnicalProfiles>
          <TechnicalProfile Id="AAD-Common">
            <Metadata>
              <!--Insert b2c-extensions-app application ID here, for example: 11111111-1111-1111-1111-111111111111-->  
              <Item Key="ClientId"></Item>
              <!--Insert b2c-extensions-app application ObjectId here, for example: 22222222-2222-2222-2222-222222222222-->
              <Item Key="ApplicationObjectId"></Item>
            </Metadata>
          </TechnicalProfile>
        </TechnicalProfiles> 
      </ClaimsProvider>
    <!-- 
    </ClaimsProviders> -->
    

사용자 지정 정책 업로드

  1. Azure Portal에 로그인합니다.
  2. 여러 테넌트에 액세스할 수 있는 경우 상단 메뉴의 설정 아이콘을 선택하여 디렉터리 + 구독 메뉴에서 Azure AD B2C 테넌트로 전환합니다.
  3. Azure Portal의 왼쪽 상단 모서리에서 모든 서비스를 선택한 다음, 앱 등록을 검색하여 선택합니다.
  4. ID 경험 프레임워크를 선택합니다.
  5. 사용자 지정 정책 업로드를 선택한 후 변경한 TrustFrameworkExtensions.xml 파일을 업로드합니다.

참고 항목

Microsoft Entra ID 기술 프로필은 처음으로 디렉터리에 대한 클레임을 유지할 때 사용자 지정 특성이 존재하는지 확인합니다. 그렇지 않은 경우 사용자 지정 특성이 만들어집니다.

Azure Portal을 통해 사용자 지정 특성 만들기

기본 제공 정책과 사용자 지정 정책 간에 동일한 확장 특성을 공유합니다. 포털 환경을 통해 사용자 지정 특성을 추가하는 경우, 해당 특성은 모든 B2C 테넌트에 존재하는 b2c-extensions-app을 사용하여 등록됩니다.

사용자 지정 정책에서 사용하기 전후에 포털 UI를 사용하여 이러한 특성을 만들 수 있습니다. 포털에서 loyaltyId 특성을 만들 때 다음과 같이 참조해야 합니다.

이름 사용 대상
extension_loyaltyId 사용자 지정 정책
extension_<b2c-extensions-app-guid>_loyaltyId Microsoft Graph API

참고 항목

사용자 지정 정책에서 사용자 지정 특성을 사용하는 경우 Azure AD B2C 디렉터리 내에서 올바른 데이터 매핑이 수행되도록 하려면 클레임 형식 ID에 extension_ 접두사를 붙여야 합니다.

다음 예제에서는 Azure AD B2C 사용자 지정 정책 클레임 정의에서 사용자 지정 특성을 사용하는 방법을 보여 줍니다.

<BuildingBlocks>
  <ClaimsSchema>
    <ClaimType Id="extension_loyaltyId">
      <DisplayName>Loyalty Identification</DisplayName>
      <DataType>string</DataType>
      <UserHelpText>Your loyalty number from your membership card</UserHelpText>
      <UserInputType>TextBox</UserInputType>
    </ClaimType>
  </ClaimsSchema>
</BuildingBlocks>

다음 예제에서는 기술 프로필, 입력, 출력 및 지속형 클레임의 Azure AD B2C 사용자 지정 정책에서 사용자 지정 특성을 사용하는 방법을 보여 줍니다.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="extension_loyaltyId"  />
</InputClaims>
<PersistedClaims>
  <PersistedClaim ClaimTypeReferenceId="extension_loyaltyId" />
</PersistedClaims>
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="extension_loyaltyId" />
</OutputClaims>

Microsoft Graph 통해 확장 특성 관리

Microsoft Graph를 사용하여 사용자 지정 특성을 만들고 관리한 다음, 사용자에 대한 값을 설정할 수 있습니다. 확장 특성은 디렉터리 또는 Microsoft Entra 확장이라고도 합니다.

Microsoft Graph API의 사용자 지정 특성(디렉터리 확장)은 extension_{appId-without-hyphens}_{extensionProperty-name} 규칙을 사용하여 명명됩니다. 여기서 {appId-without-hyphens}는 0-9 및 A-Z 문자만으로 구성된 b2c-extensions-app에 대한 appId(Azure AD B2C 포털의 클라이언트 ID라고 함)의 제거된 버전입니다. 예를 들어, b2c-extensions-app 애플리케이션의 appId25883231-668a-43a7-80b2-5685c3f874bc이고 특성 이름이 loyaltyId인 경우 사용자 지정 특성 이름은 extension_25883231668a43a780b25685c3f874bc_loyaltyId입니다.

Microsoft Graph API를 사용하여 Azure AD B2C 테넌트에서 확장 특성을 관리하는 방법을 알아봅니다.

확장 특성 제거

사용자 지정 특성은 기본 제공 특성과 달리 제거할 수 있습니다. 확장 특성의 값도 제거할 수 있습니다.

Important

사용자 지정 특성을 제거하기 전에 디렉터리에 있는 각 계정에 대해 확장 특성 값을 null로 설정합니다. 이렇게 하면 확장 특성의 값을 명시적으로 제거할 수 있습니다. 그런 다음, 확장 특성 자체를 계속 제거합니다. Microsoft Graph API를 사용하여 사용자 지정 특성을 쿼리할 수 있습니다.

다음 단계를 사용하여 테넌트의 사용자 흐름에서 사용자 지정 특성을 제거합니다.

  1. Azure AD B2C 테넌트의 전역 관리자로 Azure Portal에 로그인합니다.
  2. Azure AD B2C 테넌트가 포함된 디렉터리를 사용하고 있는지 확인합니다.
    1. 포털 도구 모음에서 디렉터리 + 구독 아이콘을 선택합니다.
    2. 포털 설정 | 디렉터리 + 구독 페이지의 디렉터리 이름 목록에서 Azure AD B2C 디렉터리를 찾은 다음, 전환을 선택합니다.
  3. Azure Portal의 왼쪽 상단 모서리에서 모든 서비스를 선택하고 Azure AD B2C를 검색하여 선택합니다.
  4. 사용자 특성을 선택한 다음, 삭제할 특성을 선택합니다.
  5. 삭제를 선택한 다음, 를 선택하여 확인합니다.

Microsoft Graph API를 사용하여 사용자 지정 특성을 관리합니다.

다음 단계

사용자 지정 정책을 사용하여 소유권 클레임을 추가하고 사용자 입력을 사용자 지정하는 방법을 알아봅니다. 이 샘플에서는 기본 제공 클레임 'city'를 사용합니다. 사용자 지정 특성을 사용하려면 'city'를 고유의 사용자 지정 특성으로 바꿉니다.