> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 애플리케이션 매핑

> IQL로 프로필 속성을 매핑하여 애플리케이션이 받는 ID 명세(SAML 어설션 또는 OIDC 토큰)를 구성합니다.

누군가 Iru를 통해 애플리케이션에 로그인하면, 앱은 사용자가 누구인지 알려주는
서명된 **ID 명세**(**SAML 어설션** 또는 **OIDC ID 토큰**)를 받습니다.
**애플리케이션 매핑**은 해당 명세에 무엇을 포함할지 결정하는 방법입니다. 앱이
기대하는 각 필드에 대해 사용자의 [프로필](/ko/identity/directory/schema)에서
가져온 값을 매핑합니다.

<Info>
  매핑되는 모든 값은 [Directory Sync 속성 매핑](/ko/identity/directory/attribute-mapping) 및
  [Auto Group](/ko/identity/directory/auto-groups) 규칙에 사용되는 것과 동일한 표현식 언어인
  **[IQL](/ko/identity/getting-started/iql-expressions)**(Iru Query Language)로
  작성됩니다. 값은 단일 프로필 필드(`user.email`)이거나 이를 변환하는 표현식
  (`user.email.lowerAscii()`)일 수 있습니다.
</Info>

<Frame caption="매핑 편집기: IQL 표현식으로 Subject와 각 속성을 설정하며, 사용 가능한 필드와 함수를 위한 IQL 탐색기가 함께 제공됩니다.">
  <img src="https://mintcdn.com/iru/Pd7a0-sHKi0jGjE6/assets/media/images/application-mapping.webp?fit=max&auto=format&n=Pd7a0-sHKi0jGjE6&q=85&s=deb4226eee66af9bb5dbd89dcbbd1342" alt="SAML 앱의 애플리케이션 Mapping 편집기: 이름 형식이 Unspecified인 IQL 표현식 user.id에서 매핑된 Subject와 이름 형식이 Basic인 user.primaryEmail.email에서 매핑된 Email 속성." width="1130" height="1136" data-path="assets/media/images/application-mapping.webp" />
</Frame>

## 매핑에 포함되는 항목

모든 애플리케이션은 전송하는 명세에 두 가지를 매핑합니다.

* **Subject:** 로그인한 사용자의 기본 식별자.
* **속성 또는 클레임:** 앱이 기대하는 추가 필드.

```mermaid theme={null}
flowchart LR
  profile["사용자 프로필<br/>속성"] --> expr["IQL 표현식"]
  expr --> subject["Subject"]
  expr --> attrs["속성 / 클레임"]
  subject --> stmt["서명된 어설션 / 토큰"]
  attrs --> stmt
  stmt --> app["애플리케이션"]
```

### Subject

Subject는 로그인한 사용자를 식별합니다. 기본값은 프로토콜에 따라 다릅니다.

| 프로토콜 | Subject | 기본값 |
| - | - | - |
| **SAML** | **NameID** | `user.username` |
| **OIDC** | **`sub`** 클레임 | `user.id` |

값을 가져오는 소스를 변경할 수 있으며, SAML의 경우 **NameID 형식**을 선택할 수
있습니다. 프로토콜별 옵션은 [SAML 애플리케이션](/ko/identity/applications/saml-applications) 및
[OIDC 애플리케이션](/ko/identity/applications/oidc-applications)을 참조하세요.

### 속성 및 클레임

Subject 외에 앱에 필요한 각 필드를 추가합니다. 각 필드에 대해 **이름**(앱이
기대하는 것), **값**(이를 생성하는 IQL 표현식), 프로토콜 세부 정보(SAML의 경우
**속성 이름 형식**, OIDC의 경우 **스코프**), 그리고 **활성화** 여부를 설정합니다.

## 매핑 구성 방법

<Steps>
  <Step title="앱의 매핑 열기">
    매핑은 프로토콜 설정과 함께 애플리케이션의 **초안**에 있습니다.
  </Step>

  <Step title="필드별 IQL 표현식 작성">
    Subject와 각 속성 또는 클레임에 대해
    [IQL](/ko/identity/getting-started/iql-expressions) 표현식을 작성합니다. 편집기는
    입력하는 동안 사용 가능한 `user` 필드와 함수를 제안하고 표현식을 검사하므로,
    게시하기 전에 오류가 드러납니다.
  </Step>

  <Step title="결과 미리 보기">
    실시간 **미리 보기**는 Iru가 전송할 정확한 어설션 또는 토큰을 렌더링하므로
    적용하기 전에 형태를 확인할 수 있습니다.
  </Step>

  <Step title="게시">
    초안을 **current**로 설정하여 매핑을 적용합니다. 버전 모델은
    [애플리케이션 개요](/ko/identity/applications/applications-overview)를 참조하세요.
  </Step>
</Steps>

<Tip>
  앱에 필요한 것만 매핑하세요. 각 앱은 매핑한 속성만 정확히 받으므로, 각 서비스는
  사용자 식별에 필요한 프로필 세부 정보만 볼 수 있습니다.
</Tip>

## 프로비저닝을 위한 매핑

매핑은 로그인 이상의 역할을 합니다.
[프로비저닝](/ko/identity/applications/provisioning)이 있는 앱의 경우 매핑에는
Iru가 앱에서 계정을 생성하거나 업데이트할 때 전송하는 프로필 속성을 제어하는
**프로비저닝 보기**도 있습니다.

## 다음 단계

<CardGroup cols={2}>
  <Card title="Iru 쿼리 언어" icon="brackets-curly" href="/ko/identity/getting-started/iql-expressions">
    전체 IQL 참조: 필드, 연산자, 함수 및 예제.
  </Card>

  <Card title="SAML 애플리케이션" icon="file-signature" href="/ko/identity/applications/saml-applications">
    SAML 앱의 NameID 형식 및 속성 매핑.
  </Card>

  <Card title="OIDC 애플리케이션" icon="id-card" href="/ko/identity/applications/oidc-applications">
    OIDC 앱의 Subject 및 클레임 매핑.
  </Card>

  <Card title="프로비저닝" icon="arrows-rotate" href="/ko/identity/applications/provisioning">
    Iru가 앱에서 계정을 생성하고 업데이트할 때 전송하는 속성을 매핑합니다.
  </Card>
</CardGroup>
