다음을 통해 공유


클레임에서 디렉터리 확장 특성

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

참고 항목

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

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

디렉터리 확장 특성에 대한 식별자의 형식은 extension_xxxxxxxxx_AttributeName입니다. 여기서 xxxxxxxxx는 0~9 및 A~Z 문자만 사용하여 확장이 정의된 애플리케이션의 appId입니다.

디렉터리 확장 등록 및 사용

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

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)입니다.

Warning

디렉터리 확장 특성에 대한 클레임 매핑 정책을 정의할 때 이전 예와 같이 ClaimsSchema 배열 본문 내에서 ID 속성 대신 ExtensionID 속성을 사용합니다.

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

다음 단계