다음을 통해 공유


클레임의 디렉터리 확장 특성

디렉터리 확장 특성은 사용자와 같은 디렉터리 개체에 더 많은 데이터를 저장하는 방법을 제공합니다. 사용자 개체의 확장 특성만 애플리케이션에 대한 클레임을 내보내는 데 사용할 수 있습니다. 이 문서에서는 토큰 클레임의 애플리케이션에 사용자 데이터를 보내기 위해 디렉터리 확장 특성을 사용하는 방법을 설명합니다.

비고

Microsoft Graph는 그래프 개체를 사용자 지정하는 세 가지 다른 확장 메커니즘을 제공합니다. 확장 특성 1-15, 개방형 확장 및 스키마 확장입니다. 자세한 내용은 Microsoft Graph 설명서를 참조하세요. 개방형 및 스키마 확장을 사용하여 Microsoft Graph 개체에 저장된 데이터는 토큰의 클레임에 대한 원본으로 사용할 수 없습니다.

디렉터리 확장 특성은 항상 테넌트에서 애플리케이션과 연결됩니다. 디렉터리 특성의 이름에는 해당 이름에 애플리케이션의 appId 가 포함됩니다.

디렉터리 확장 특성의 식별자는 형식 extension_xxxxxxxxx_AttributeName입니다. xxxxxxxxx는 확장이 정의된 애플리케이션의 appId이며, 이 ID는 0-9 및 A-Z 문자로만 구성됩니다.

디렉터리 확장 등록 및 사용

다음 방법 중 하나로 디렉터리 확장 특성을 등록합니다.

Microsoft Entra Connect의 데이터로 클레임 내보내기

Microsoft Entra Connect를 사용하여 만들고 동기화한 디렉터리 확장 특성은 항상 Microsoft Entra Connect에서 사용하는 애플리케이션 ID와 연결됩니다. 이러한 특성은 포털의 엔터프라이즈 애플리케이션 구성에서 클레임으로 구성함으로써 클레임의 소스로 사용할 수 있습니다. AD Connect를 사용하여 디렉터리 확장 특성을 만든 후에는 SAML SSO 클레임 구성에 표시됩니다.

Graph 또는 PowerShell을 사용하여 클레임 내보내기

디렉터리 확장 특성이 Microsoft Graph 또는 PowerShell을 사용하도록 등록된 경우 사용자가 로그인할 때 해당 특성의 데이터를 받도록 애플리케이션을 구성할 수 있습니다. 애플리케이션 매니페스트에서 설정할 수 있는 선택적 클레임 을 사용하여 애플리케이션에 등록된 디렉터리 확장의 데이터를 받도록 애플리케이션을 구성할 수 있습니다.

다중 테넌트 애플리케이션은 자체 사용을 위해 디렉터리 확장 특성을 등록할 수 있습니다. 애플리케이션이 테넌트에 프로비전되면 연결된 디렉터리 확장이 사용 가능해지고 해당 테넌트에서 사용자가 사용할 수 있게 됩니다. 디렉터리 확장을 사용할 수 있으면 Microsoft Graph를 사용하여 데이터를 저장하고 검색하는 데 사용할 수 있습니다. 디렉터리 확장은 Microsoft ID 플랫폼이 애플리케이션에 내보내는 토큰의 클레임에 매핑할 수도 있습니다.

애플리케이션이 다른 애플리케이션에 등록된 확장 특성의 데이터로 클레임을 보내야 하는 경우 클레임 매핑 정책을 사용하여 확장 특성을 클레임에 매핑해야 합니다.

디렉터리 확장 특성을 관리하기 위한 일반적인 패턴은 필요한 모든 디렉터리 확장에 특별히 애플리케이션을 등록하는 것입니다. 이 유형의 애플리케이션을 사용하는 경우 모든 확장의 이름에 동일한 appID가 있습니다.

예를 들어 다음 코드는 OAuth/OIDC 토큰의 디렉터리 확장 특성에서 단일 클레임을 내보내는 클레임 매핑 정책을 보여줍니다.

{
    "ClaimsMappingPolicy": {
        "Version": 1,
        "IncludeBasicClaimSet": "false",
        "ClaimsSchema": [{
                "Source": "User",
                "ExtensionID": "extension_xxxxxxx_test",
                "JWTClaimType": "http://schemas.contoso.com/identity/claims/exampleclaim"
            },
        ]
    }
}

xxxxxxx는 확장이 등록된 애플리케이션의 appID(또는 클라이언트 ID)입니다.

경고

디렉터리 확장 특성에 대한 클레임 매핑 정책을 정의할 때, 이전 예에서 보여준 것처럼, ExtensionID 배열 본문 내에서는 ID 속성 대신 ClaimsSchema 속성을 사용하십시오.

팁 (조언)

개체에 디렉터리 확장 특성을 설정할 때는 대/소문자 일관성이 중요합니다. 확장 특성 이름은 설정할 때 대/소문자를 구분하지 않지만 토큰 서비스에서 디렉터리에서 읽을 때는 대/소문자를 구분합니다. 확장 특성이 이름이 "LegacyId"인 사용자 개체와 이름이 "legacyid"인 다른 사용자 개체에 설정된 경우 특성이 "LegacyId"라는 이름을 사용하여 클레임에 매핑될 때 데이터가 성공적으로 검색되고 첫 번째 사용자에 대한 토큰에 포함된 클레임은 두 번째 사용자에 대한 토큰에 포함되지 않습니다.

다음 단계