> ## 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.

# Directory Sync

> HRIS 또는 디렉터리 솔루션을 연결하여 자동으로 동기화하거나 파일에서 사용자를 가져와 디렉터리를 최신 상태로 유지합니다.

조직 구성원에 대한 신뢰할 수 있는 정보 소스인 시스템에서
[디렉터리](/ko/identity/directory/directory-overview)를 채우고 최신 상태로 유지하세요.
두 가지 방법이 있습니다.

<CardGroup cols={2}>
  <Card title="소스 시스템 연결" icon="plug">
    **라이브 소스**(**Workday** 또는 **BambooHR**와 같은 **HRIS** 또는 다른
    **디렉터리 솔루션**)를 연결하면 Iru가 해당 소스에서 사용자를 가져와 일정에 따라
    동기화하며, 사용자를 자동으로 생성, 업데이트 및 제거합니다. 더 많은 공급자가
    추가될 예정입니다.
  </Card>

  <Card title="파일 가져오기(수동)" icon="file-csv" href="/ko/identity/directory/importing-users">
    시스템용 직접 커넥터가 없습니까? 레거시 HR 시스템, **학생 정보 시스템(SIS)** 또는
    파일을 생성할 수 있는 모든 시스템에서 사용자를 **CSV**로 내보내고 업로드하세요.
    목록이 변경될 때마다 업데이트된 내보내기 파일을 다시 업로드하여 사용자를 최신 상태로
    유지합니다.
  </Card>
</CardGroup>

라이브 소스를 연결하면 업데이트가 자동으로 Iru에 반영되므로, 누군가 채용되거나 역할이
변경되거나 퇴사할 때 수동 작업 없이 디렉터리가 이를 따라갑니다. 이 가이드의 나머지
부분에서는 소스 시스템 연결을 다룹니다. 수동 방법은
[CSV 가져오기](/ko/identity/directory/importing-users)를 참조하세요.

현재 HR 시스템 **Workday** 및 **BambooHR**를 연결할 수 있으며, 다른 디렉터리 솔루션을
포함한 더 많은 공급자가 추가될 예정입니다. 설정은 각 공급자에 대해 동일한 안내 흐름이며
공급자별로 몇 단계만 다릅니다.

<Note>
  소스 시스템을 연결하려면 Iru 테넌트에 대한 관리자 액세스 권한과 해당 시스템의 관리자
  계정이 필요합니다. 공급자에 따라 Iru에 통합 자격 증명을 입력하거나 공급자 자체 동의
  창에서 Iru를 승인합니다. 연결은 소스에서 사용자를 **읽기만** 하며 소스에 다시 쓰지
  않습니다.
</Note>

<Frame caption="연결된 소스는 Directory의 Sync 탭에 나열됩니다.">
  <img src="https://mintcdn.com/iru/Pd7a0-sHKi0jGjE6/assets/media/images/directory-sync-list.webp?fit=max&auto=format&n=Pd7a0-sHKi0jGjE6&q=85&s=bdfcf859acb179f4473455ec5f090787" alt="Iru의 Directory 페이지 Sync 탭에서 연결된 소스와 상태가 나열된 화면." width="2000" height="1098" data-path="assets/media/images/directory-sync-list.webp" />
</Frame>

## 한눈에 보는 작동 방식

1. 공급자를 **선택**합니다.
2. **연결:** Iru에 자격 증명을 입력하거나(Workday) 공급자에서 Iru를 승인하여(BambooHR)
   Iru가 사용자 데이터를 읽을 수 있도록 합니다.
3. **구성**(일부 공급자만 해당): 데이터가 있는 위치를 Iru에 알려줍니다.
4. 소스의 필드를 Iru 필드에 **매핑**합니다.
5. **활성화:** 동기화를 켜고 실행 빈도를 선택합니다.

```mermaid theme={null}
flowchart LR
  connect["연결<br/>+ 승인"] --> discover["Iru가 사용 가능한<br/>필드를 읽음"]
  discover --> map["필드 매핑<br/>소스 → Iru"]
  map --> enable["활성화"]
  enable --> sync["예약 또는<br/>요청 시 동기화"]
  sync -->|"생성 / 업데이트 / 제거"| dir["Directory"]
  sync -->|"문제"| errors["검토할 동기화 오류"]
```

연결이 활성화되면 Iru는 설정한 **간격**(**30분**마다부터 **주** 1회까지)에 따라
동기화하거나, 원하는 경우 **수동 전용**으로 설정하여 **지금 동기화**로 직접 동기화를 실행할
수 있습니다.

## 모든 연결에 적용되는 개념

* **소스 시스템이 주도합니다.** 연결되면 소스 시스템이 사용자 데이터에 대한 권한을
  가지며, Iru는 소스가 보내는 내용을 반영합니다.
* **모든 사용자에게는 안정적인 ID가 필요합니다.** 각 사용자를 고유하고 영구적으로
  식별하는 필드 하나를 선택하여 Iru가 항상 올바른 레코드를 업데이트하도록 합니다.
* **필드 정렬 방식은 사용자가 결정합니다.** Iru는 추측하지 않습니다. 각 소스 필드를
  일치하는 Iru 필드에 매핑하고, 값이 일대일로 일치하지 않는 경우 **IQL**로 값을 변환할
  수 있습니다.

## 설정

<Steps>
  <Step title="공급자 선택">
    **Directory → Sync**에서 **Connect Source**를 선택하고 공급자를 선택합니다:
    **Workday** 또는 **BambooHR**.

    <Frame caption="Connect Source에는 연결할 수 있는 소스 시스템이 나열됩니다.">
      <img src="https://mintcdn.com/iru/Pd7a0-sHKi0jGjE6/assets/media/images/connect-source.png?fit=max&auto=format&n=Pd7a0-sHKi0jGjE6&q=85&s=66f7f44acd51140036fbe7ae9707faa3" alt="Connect Source에서 열린 Select user source 선택기로, Workday, Bamboo 및 Coming Soon으로 표시된 Other Sources 옵션을 제공합니다." width="1188" height="764" data-path="assets/media/images/connect-source.png" />
    </Frame>
  </Step>

  <Step title="공급자에 연결">
    연결에 **표시 이름**(및 선택 사항인 **설명**)을 지정한 다음 Iru에 공급자에 대한 읽기
    액세스 권한을 부여합니다. 방법은 공급자에 따라 다릅니다.

    * **Workday:** Iru에 인스턴스 호스트, Workday 테넌트, Integration System User 및
      비밀번호를 입력합니다.
    * **BambooHR:** Iru에 **회사 도메인**을 입력한 다음 **BambooHR 창**에서 승인합니다.
      BambooHR에 로그인하고 **Share access with Iru Identity** 화면에서 **액세스 허용**을
      선택합니다. BambooHR 자격 증명은 Iru가 아닌 BambooHR로 전송되며 입력할 API 키가
      없습니다. **15분** 이내에 승인을 완료하거나, Iru로 돌아가 연결을 다시 시작하세요.

    정확한 필드와 화면은 [공급자 가이드](#choose-your-provider)를 참조하세요.

    <Frame caption="Workday 연결: Iru에 입력된 Integration System User 자격 증명.">
      <img src="https://mintcdn.com/iru/60YZAZS1iNMrBv2w/assets/media/images/iru-identity-connect-workday.png?fit=max&auto=format&n=60YZAZS1iNMrBv2w&q=85&s=637b56461035f9b7762f63e0d01daabb" alt="Integration user 및 Password를 요청하는 Connect with Workday 단계." width="1266" height="267" data-path="assets/media/images/iru-identity-connect-workday.png" />
    </Frame>

    <Tip>
      가능하면 전용 관리자/통합 계정을 사용하여 특정 사용자의 상태와 관계없이 연결이
      계속 작동하도록 하세요.
    </Tip>
  </Step>

  <Step title="데이터 위치 구성(일부 공급자)">
    일부 공급자는 Iru가 올바른 데이터 소스를 가리키도록 해야 합니다. **Workday**는
    원하는 작업자 필드를 노출하는 **보고서 이름**을 요청하며, 이전 단계의 Integration
    System User가 해당 보고서를 실행합니다. **BambooHR**는 표준 직원 디렉터리를 읽으므로
    이 단계를 건너뜁니다. 아래 [공급자 가이드](#choose-your-provider)를 참조하세요.
  </Step>

  <Step title="데이터를 Iru에 매핑">
    Iru는 공급자가 제공하는 필드를 읽고 매칭할 수 있도록 배치합니다. 아래
    [데이터 매핑](#map-your-data)을 참조하세요.
  </Step>

  <Step title="완료 및 활성화">
    매핑을 저장하여 설정을 완료합니다. 새 연결은 **비활성화** 상태로 시작되므로 검토하기
    전까지는 아무것도 동기화되지 않습니다. 그런 다음 **사용**하여 첫 번째 가져오기를
    실행합니다. 연결의 Configuration 탭에서 **동기화 간격**을 설정하거나, **Manual only**로
    두고 업데이트가 필요할 때 **지금 동기화**를 사용하세요.
  </Step>
</Steps>

## 데이터 매핑

매핑은 설정의 대부분이 이루어지는 곳으로, 소스의 필드를 Iru의 일치하는 필드에
연결합니다.

<Frame caption="Mapping 탭: 고유 식별자 표현식과 속성별 행이 있으며, 각 행은 소스 필드 또는 IQL 표현식으로 채워집니다.">
  <img src="https://mintcdn.com/iru/yv46VZ-WbN1GdStp/assets/media/images/sync-connection-mapping.webp?fit=max&auto=format&n=yv46VZ-WbN1GdStp&q=85&s=aad2660a55fb85c678742bdbc11b9596" alt="연결의 Mapping 탭으로, Unique user identifier 필드와 Bamboo 필드(firstName, lastName, workEmail)를 Iru 속성(name.firstName, name.lastName, primaryEmail.email)에 매핑하는 Attributes 목록이 표시되며 일부 값은 IQL 표현식으로 작성되었습니다." width="1888" height="1036" data-path="assets/media/images/sync-connection-mapping.webp" />
</Frame>

### 고유 식별자 설정

각 사용자를 고유하게 식별하는 필드를 선택합니다. 일반적으로 **직원 ID** 또는 이와
유사한 안정적인 식별자입니다. Iru는 이름이나 이메일이 변경되더라도 모든 동기화에서
*올바른* 레코드를 업데이트하기 위해 사용자당 하나의 안정적인 값에 의존합니다.

<Warning>
  사용자에 대해 절대 변경되지 않는 값을 선택하세요. **연결을 저장한 후에는 고유
  식별자를 변경할 수 없습니다.** 이를 변경하면 Iru가 이미 가져온 사용자를 인식하지
  못하게 됩니다.
</Warning>

### 필드를 Iru에 매칭

각 Iru 속성에 대해 해당 속성을 채울 소스 필드를 선택합니다. 네 가지 속성은
**필수**이며 항상 매핑됩니다.

* **이메일**
* **이름**
* **성**
* **사용자 이름**

[스키마](/ko/identity/directory/schema)에서 필수로 표시한 모든 속성도 여기에서
필수입니다. 그 외의 항목은 선택 사항이지만, 매핑하면 직함, 부서, 관리자, 위치 등 각
사용자의 전체 정보를 가져올 수 있습니다.

### IQL로 값 변환

대부분의 필드는 간단히 선택하면 됩니다. 원하는 값을 그대로 복사하지 않고 필드에서
*구성*해야 하는 경우 짧은 **IQL** 표현식을 작성하세요. 입력하는 동안 Iru는 사용 가능한
필드를 제안하고 표현식을 검사하므로, 동기화 중이 아니라 저장하기 *전에* 오타나 누락된
필드를 찾을 수 있습니다. 전체 구문은
[속성 매핑](/ko/identity/directory/attribute-mapping#writing-expressions) 및
[IQL 표현식](/ko/identity/getting-started/iql-expressions)을 참조하세요.

#### 필드 이름을 읽는 방식

IQL은 필드 이름을 코드로 읽습니다. 그대로 쓴 이름은 유효한 IQL 식별자일 때 작동합니다.
유효한 식별자는 ASCII 문자 또는 밑줄로 시작하고 이후의 모든 문자는 ASCII 문자, 숫자 또는
밑줄입니다. `first_name`은 이에 해당하므로 그대로 작성합니다. 점은 `name.givenName`처럼
유효한 이름을 연결하여 중첩된 값에 접근합니다. 이름 자체에 점이 포함된 필드는 하나의
키이므로 `__source["name.givenName"]`으로 조회합니다.

일부 소스 시스템은 이 규칙을 벗어나는 이름을 보냅니다.

* `Email - Work` 또는
  `urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:department`처럼 공백, 하이픈,
  콜론 또는 기타 기호가 포함된 이름
* `in`, `null`, `true`, `if`처럼 IQL 키워드이기도 한 이름

그대로 쓰면 `Email - Work`는 `Email` 빼기 `Work`로 읽히고, `in`은 멤버십 연산자로
읽힙니다. 필드를 읽으려면 소스의 모든 필드에 대한 맵인 `__source`에서 정확한 이름으로
조회하세요.

```
__source["Email - Work"]
```

매핑 편집기에서 이러한 필드 중 하나를 선택하거나 입력하면 Iru가 이를
`__source["…"]`로 다시 작성합니다. 이 형식은 모든 필드에 사용할 수 있으며, 다른 값과
마찬가지로 더 긴 표현식 안에서도 작동합니다.

```
__source["Email - Work"].lowerAscii()
```

필드 이름에 큰따옴표(`"`) 또는 백슬래시(`\`)가 포함된 경우 괄호 안에서 각 문자 앞에
백슬래시를 넣으세요. `Title "Legal"`이라는 필드는 `__source["Title \"Legal\""]`로
작성합니다. 편집기는 필드를 다시 작성할 때 이러한 백슬래시를 추가합니다.

일반적인 예(공급자 자체의 필드 이름을 사용하세요):

* **이메일에서 사용자 이름 생성**(`@` 앞의 모든 문자):
  `email.split("@")[0]`
* **두 필드를 하나의 값으로 결합**:
  `firstName + " " + lastName`
* 첫 번째 필드가 비어 있을 때 **한 필드를 우선 사용하고 다른 필드로 대체**:
  `optional.ofNonZeroValue(workEmail).orValue(homeEmail)`

<Tip>
  비어 있을 수 있는 텍스트 필드를 변환할 때는 표현식이 계속 실행되도록 값을 보호하세요. 변환하기 전에 `optional.ofNonZeroValue(...).orValue("")`로 감쌉니다. 예를 들어 이메일이 있는 경우에만 사용자 이름을 도출합니다:
  `optional.ofNonZeroValue(email).orValue("").split("@")[0]`

  **Boolean**, **Date**, **Integer** 또는 **Decimal** 사용자 지정 속성에 대해 비어 있거나 null인 매핑 값은 동기화를 실패시키지 않습니다. 기존 값을 지웁니다. [비어 있는 매핑 값](/ko/identity/directory/attribute-mapping#blank-mapped-values)을 참조하세요.
</Tip>

## 공급자 선택

흐름은 각 공급자에 대해 동일하며, 이 가이드에서는 다른 단계를 다룹니다.

<CardGroup cols={2}>
  <Card title="Workday 연결" icon="briefcase" href="/ko/identity/directory/hris-workday">
    Workday 보고서에서 작업자를 읽습니다. 보고서 및 통합 사용자 단계가 포함됩니다.
  </Card>

  <Card title="BambooHR 연결" icon="seedling" href="/ko/identity/directory/hris-bamboohr">
    BambooHR의 표준 직원 디렉터리에서 읽습니다. 구성할 보고서가 없습니다.
  </Card>
</CardGroup>

| 단계 | Workday | BambooHR |
| - | - | - |
| 연결 | Iru에 자격 증명 입력 | BambooHR에서 로그인 후 **액세스 허용** |
| 보고서 구성 | 예 | 아니요(표준 필드) |
| 필드 매핑(고유 ID, 필수 필드, IQL) | 예 | 예 |
| 활성화 및 일정에 따른 동기화 | 예 | 예 |

## 각 동기화에서 일어나는 일

활성화되면 Iru는 선택한 간격으로 동기화하고 디렉터리를 소스 시스템과 조정합니다.

| 소스의 변경 사항 | Iru의 동작 |
| - | - |
| 새 사용자가 나타남 | 디렉터리에 일치하는 사용자를 생성 |
| 사용자의 세부 정보가 변경됨 | 사용자의 프로필 속성을 업데이트 |
| 사용자가 더 이상 존재하지 않음 | 디렉터리에서 사용자를 제거 |

프로필이 도착하고 변경되면 [Auto Groups](/ko/identity/directory/auto-groups)가 멤버십을
자동으로 업데이트하므로 액세스가 수동 작업 없이 사용자를 따라갑니다.

<Frame caption="연결의 Effective Users: 현재 소스에서 동기화된 사용자.">
  <img src="https://mintcdn.com/iru/yv46VZ-WbN1GdStp/assets/media/images/sync-connection-effective-users.webp?fit=max&auto=format&n=yv46VZ-WbN1GdStp&q=85&s=811705e35cdd3db62a8016e32e0635fe" alt="연결의 Effective Users 탭으로, Ashley Adams 및 Charlotte Abbott와 같은 동기화된 사용자가 생성 날짜 및 ID와 함께 나열됩니다." width="1888" height="1036" data-path="assets/media/images/sync-connection-effective-users.webp" />
</Frame>

## 동기화 일정 및 요청 시 동기화

연결의 **구성** 탭에서 **Interval** 컨트롤로 **Sync frequency**를 설정합니다.
Iru가 최신 디렉터리를 가져오는 빈도를 선택하거나, **Manual only**로 설정하여 요청 시
동기화합니다.

사용 가능한 간격:

* Manual only(자동 동기화 없음)
* 30분마다
* 1시간마다
* 2시간마다
* 4시간마다
* 8시간마다
* 12시간마다
* 매일
* 2일마다
* 매주

<Frame caption="Iru가 연결을 동기화하는 빈도 선택.">
  <img src="https://mintcdn.com/iru/60YZAZS1iNMrBv2w/assets/media/images/iru-identity-sync-frequency.png?fit=max&auto=format&n=60YZAZS1iNMrBv2w&q=85&s=8f34a961b593788e00bde0adff90a0a8" alt="Interval 메뉴가 열린 Sync schedule 섹션으로, Manual only와 Every 30 minutes부터 Every week까지의 옵션이 나열됩니다." width="1012" height="716" data-path="assets/media/images/iru-identity-sync-frequency.png" />
</Frame>

**동기화** 탭에서 **지금 동기화**를 사용하여 즉시 실행을 시작하고, **Refresh**를 사용하여
동기화 실행 목록을 다시 불러옵니다. 각 실행은 디렉터리 소스에서 모든 사용자를 읽고
Iru에 추가하거나 업데이트합니다. 실행을 선택하면 수행된 작업과 동기화할 수 없었던
항목을 확인할 수 있습니다. 실패한 실행은 다음 예약된 동기화에서 다시 시도됩니다.

## 시간 경과에 따른 연결 관리

연결의 세부 정보 페이지에서 다음을 수행할 수 있습니다.

* **재인증:** 연결이 만료되거나 거부된 경우 매핑을 변경하지 않고 새 자격 증명을
  제출하거나 공급자에서 다시 액세스를 승인합니다.
* **구성 또는 매핑 편집:** 요구 사항이 변화함에 따라 가져오는 항목을 조정합니다.
* **동기화 간격 설정** 또는 **지금 동기화** 실행.
* **속성 강제 동기화**(Workday): 기다리지 않고 보고서에서 사용 가능한 최신 필드를 다시
  읽습니다.
* **활동, 유효 사용자 및 동기화 오류 검토:** 유입되는 내용을 확인하고 주의가 필요한
  항목을 찾습니다.
* 연결을 **활성화 또는 비활성화**하거나 제거합니다.

<Frame caption="연결의 세부 정보 페이지: 상태, 연결 상태 및 다시 인증.">
  <img src="https://mintcdn.com/iru/60YZAZS1iNMrBv2w/assets/media/images/iru-identity-start-reauthentication-bamboo.png?fit=max&auto=format&n=60YZAZS1iNMrBv2w&q=85&s=a3415b8304ce762d249f68120a108691" alt="Bamboo 연결의 Configuration 탭으로, Status Enabled, Needs re-authentication이 표시된 연결 세부 정보 및 행 메뉴의 다시 인증 작업이 표시됩니다." width="2048" height="527" data-path="assets/media/images/iru-identity-start-reauthentication-bamboo.png" />
</Frame>

<AccordionGroup>
  <Accordion title="연결 상태 및 재인증" icon="plug-circle-check">
    **Directory → Sync** 목록에서 각 연결은 **Enabled** 또는 **Disabled** 여부와 연결
    상태 값을 표시합니다.

    | 상태 | 의미 |
    | - | - |
    | **연결됨** | Iru가 소스에서 읽을 수 있도록 승인되었습니다. |
    | **Needs re-authentication** | 자격 증명 또는 공급자 승인이 누락, 만료, 취소 또는 거부되었습니다. 동기화가 성공하려면 먼저 재인증하세요. |
    | **Not connected** | 연결이 인증할 준비가 되지 않았습니다(예: 설정이 완료되지 않음). |

    연결의 **구성** 탭에서 **Connection details**는 해당 공급자에 대한 동일한
    상태를 표시합니다. **다시 인증**을 사용하여 현재 자격 증명을 입력하거나
    공급자에서 다시 액세스를 승인하세요. 속성 매핑은 영향을 받지 않습니다.

    * **BambooHR:** Iru가 여는 창에서 BambooHR에 다시 로그인한 다음
      **액세스 허용**을 선택합니다.
    * **Workday:** Integration user와 비밀번호를 다시 입력합니다.

    <Frame caption="현재 Integration System User 자격 증명으로 Workday 재인증.">
      <img src="https://mintcdn.com/iru/60YZAZS1iNMrBv2w/assets/media/images/iru-identity-reauthenticate-workday.png?fit=max&auto=format&n=60YZAZS1iNMrBv2w&q=85&s=c79cab0ae17064cc945d1b9c482edb1b" alt="Integration user 및 Password 필드가 있는 다시 인증 Workday 대화 상자로, 속성 매핑은 영향을 받지 않는다고 안내합니다." width="893" height="289" data-path="assets/media/images/iru-identity-reauthenticate-workday.png" />
    </Frame>
  </Accordion>

  <Accordion title="동기화 오류" icon="triangle-exclamation">
    동기화 문제는 두 단계에서 나타납니다. 어느 단계가 실패했는지 알면 먼저 확인할
    곳을 알 수 있습니다.

    * **가져오기 단계 오류**는 Iru가 소스에서 읽을 수 없을 때 발생합니다. 잘못되었거나
      만료된 자격 증명, 만료되거나 취소된 공급자 승인, 연결할 수 없는 인스턴스, 누락된
      보고서 또는 거부된 API 호출 등이 원인입니다. 연결을 수정한 다음(주로
      **다시 인증**을 사용하거나 보고서 또는 도메인 설정을 수정) 동기화를 다시
      실행하세요.
    * **적용 단계(동기화) 오류**는 Iru가 레코드를 가져온 후 디렉터리에서 특정 사용자를
      생성하거나 업데이트할 수 없을 때 발생합니다. Iru는 검토할 수 있는 **동기화
      오류**를 기록합니다. 발생 시간, 영향을 받은 사용자, Iru가 시도한 작업, 오류 코드
      및 메시지가 포함됩니다. 많은 레코드가 동일한 오류로 실패하는 경우 원인은 보통
      매핑입니다. 필수 속성이 매핑되지 않았거나 고유 식별자가 실제로 고유하지 않은
      경우입니다. 매핑을 수정한 다음 다음 동기화가 실행되도록 하세요.

    <Frame caption="Activity 탭의 실패한 동기화와 전체 오류 세부 정보. 여기서는 필수 속성이 누락되어 레코드가 거부되었습니다.">
      <img src="https://mintcdn.com/iru/yv46VZ-WbN1GdStp/assets/media/images/sync-connection-activity.webp?fit=max&auto=format&n=yv46VZ-WbN1GdStp&q=85&s=5ff12dfeabf47729bd45c799dc9cadf9" alt="연결의 Activity 탭으로, FAILED 항목과 필수 속성이 누락되어 사용자를 프로비저닝할 수 없었다는 펼쳐진 오류 세부 정보가 표시됩니다." width="1888" height="1036" data-path="assets/media/images/sync-connection-activity.webp" />
    </Frame>
  </Accordion>
</AccordionGroup>

## 관련 항목

<CardGroup cols={2}>
  <Card title="Workday 연결" icon="briefcase" href="/ko/identity/directory/hris-workday">
    보고서 단계를 포함한 Workday 관련 설정입니다.
  </Card>

  <Card title="BambooHR 연결" icon="seedling" href="/ko/identity/directory/hris-bamboohr">
    BambooHR 관련 설정입니다.
  </Card>

  <Card title="속성 매핑" icon="code" href="/ko/identity/directory/attribute-mapping">
    수신 값을 구성하는 데 사용하는 IQL입니다.
  </Card>

  <Card title="스키마" icon="table-list" href="/ko/identity/directory/schema">
    소스 필드가 매핑되는 속성입니다.
  </Card>
</CardGroup>
