> For the complete documentation index, see [llms.txt](https://ia-cloud.gitbook.io/cloudia-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ia-cloud.gitbook.io/cloudia-manual/administrator/setting/ldap.md).

# 사용자 연동

**사용자 연동** 메뉴에서는 LDAP Provider를 등록해 Cloud:iA와 외부 LDAP 서버를 연동하고, **매퍼**를 통해 LDAP 속성과 Cloud:iA 사용자 속성 간 매핑을 관리할 수 있습니다.

LDAP Provider는 사용자 인증 및 동기화 기준을 정의하는 상위 설정이며, 매퍼는 Provider 상세 화면 하단에서 개별 속성 매핑 규칙을 관리하는 하위 설정입니다.

## LDAP Provider 목록

### 화면 개요

LDAP Provider 목록 화면에서는 등록된 LDAP Provider를 조회하고, 생성, 편집, 삭제, 활성화, 비활성화, 동기화, 연동 해제 같은 관리 작업을 수행합니다.

상단 도구 영역에는 `생성`, `편집`, `삭제`, `활성화`, `비활성화`, `더보기` 버튼이 표시됩니다. `더보기` 드롭다운에서는 `모든 사용자 동기화`, `변경된 사용자 동기화`, `연동 해제`, `가져온 사용자 삭제` 작업을 실행할 수 있습니다.

### 주요 작업

* `생성`: 새 LDAP Provider를 등록합니다.
* `편집`: 선택한 LDAP Provider를 편집합니다. 한 건을 선택했을 때만 사용할 수 있습니다.
* `삭제`: 선택한 LDAP Provider를 삭제합니다. 목록은 단일 선택이므로 한 건만 삭제할 수 있습니다.
* `활성화`: 선택한 LDAP Provider가 `비활성화` 상태일 때만 사용할 수 있습니다.
* `비활성화`: 선택한 LDAP Provider가 `활성화` 상태일 때만 사용할 수 있습니다.
* `더보기 > 모든 사용자 동기화`: 선택한 LDAP Provider 기준으로 전체 LDAP 사용자를 동기화합니다.
* `더보기 > 변경된 사용자 동기화`: 선택한 LDAP Provider 기준으로 변경되거나 새로 생성된 LDAP 사용자만 동기화합니다.
* `더보기 > 연동 해제`: 선택한 LDAP Provider의 LDAP 연동을 해제합니다.
* `더보기 > 가져온 사용자 삭제`: 해당 LDAP Provider를 통해 가져온 사용자를 삭제합니다.

### 목록 컬럼

| 컬럼     | 설명                                     |
| ------ | -------------------------------------- |
| 이름     | 클릭하면 LDAP Provider 상세 화면으로 이동하는 컬럼입니다. |
| ID     | LDAP Provider 식별자를 표시하는 컬럼입니다.         |
| 활성화    | 현재 LDAP Provider의 활성화 상태를 표시하는 컬럼입니다.  |
| 연결 URL | LDAP 서버 연결 URL을 표시하는 컬럼입니다.            |

### 사용 시 참고

* 목록은 로컬 페이지네이션으로 `10`건씩 표시됩니다.
* 목록은 한 번에 한 건만 선택할 수 있습니다.
* `활성화` 버튼은 선택한 LDAP Provider가 `비활성화` 상태일 때만 활성화됩니다.
* `비활성화` 버튼은 선택한 LDAP Provider가 `활성화` 상태일 때만 활성화됩니다.
* `더보기` 드롭다운은 LDAP Provider를 선택하지 않으면 비활성화됩니다.
* 삭제 확인 모달의 제목은 `사용자 연동 삭제`이며, 확인 버튼 라벨은 `삭제`입니다.
* `모든 사용자 동기화`, `변경된 사용자 동기화`, `연동 해제`, `가져온 사용자 삭제` 실행 모달의 제목은 `사용자 연동`이며, 확인 버튼 라벨은 `실행`입니다.

## LDAP Provider 생성 및 편집

### 화면 개요

LDAP Provider 생성 및 편집 화면은 `일반 옵션`, `연결 및 인증 설정`, `LDAP 검색 및 업데이트`, `동기화 설정`, `고급 설정` 다섯 개 섹션으로 구성됩니다.

저장 버튼은 각 섹션의 필수 조건을 만족해야 활성화됩니다. 특히 `연결 및 인증 설정`은 입력만으로는 저장 대상에 포함되지 않으며, `연결 테스트`, `인증 테스트`를 각각 성공해야 저장할 수 있습니다.

### 일반 옵션

* **이름**: 콘솔에 표시할 LDAP Provider 이름입니다.
* **공급업체**: LDAP 서버 유형을 선택합니다. 드롭다운 라벨은 `Active Directory`, `Other`이며, `Other`는 OpenLDAP 같은 일반 LDAP 서버나 커스텀 LDAP 서버를 포함합니다.

### 일반 옵션 입력 필드 유효성

| 필드       | 허용 값                           | 검증 규칙                                         | 비고 |
| -------- | ------------------------------ | --------------------------------------------- | -- |
| **이름**   | 영문 대/소문자, 숫자, `-`, `_` 조합의 문자열 | 필수입니다. 20자 이내로 입력합니다. 공백과 다른 특수문자는 허용되지 않습니다. |    |
| **공급업체** | `Active Directory`, `Other`    | 필수입니다. 제공된 값 중 하나를 선택합니다.                     |    |

### 연결 및 인증 설정

* **연결 URL**: LDAP 서버 접속 주소입니다. 툴팁에는 `ldap://호스트:389`, `ldaps://호스트:636` 형식 예시가 표시됩니다.
* **StartTLS 활성화**: 일반 LDAP 연결에서 StartTLS 사용 여부를 설정합니다.
* **Truststore SPI 사용**: Truststore SPI 사용 여부를 `Always`, `Never` 중에서 선택합니다.
* **연결 풀링**: LDAP 서버 접속 시 연결 풀링 사용 여부를 설정합니다. 기본값은 켜짐입니다.
* **연결 시간 초과**: LDAP 연결 대기 시간을 밀리초 단위로 입력합니다.
* **연결 테스트**: `연결 URL`과 `연결 시간 초과`가 유효한 상태에서만 실행할 수 있습니다. 성공하면 연결 관련 필드가 잠기고 버튼 라벨이 `재입력`으로 바뀝니다.
* **바인드 유형**: LDAP 바인드 인증 방식을 선택합니다. `simple`, `none` 중 하나를 선택할 수 있습니다.
* **바인드 DN**: LDAP 서버 접근에 사용할 관리자 DN입니다.
* **바인드 자격 증명**: LDAP 관리자의 비밀번호입니다.
* **인증 테스트**: `연결 URL`, `바인드 DN`, `바인드 자격 증명`이 입력된 상태에서만 실행할 수 있습니다. 성공하면 인증 관련 필드가 잠기고 버튼 라벨이 `재입력`으로 바뀝니다.

### 연결 및 인증 설정 입력 필드 유효성

| 필드                    | 허용 값                 | 검증 규칙                          | 비고                                    |
| --------------------- | -------------------- | ------------------------------ | ------------------------------------- |
| **연결 URL**            | 문자열                  | -                              | `연결 테스트` 성공 전에는 저장 대상에 포함되지 않습니다.     |
| **StartTLS 활성화**      | `켜짐`, `꺼짐`           | 선택 필드입니다.                      | `연결 테스트` 성공 후에는 `재입력` 전까지 수정할 수 없습니다. |
| **Truststore SPI 사용** | `Always`, `Never`    | 선택 필드입니다.                      | `연결 테스트` 성공 후에는 `재입력` 전까지 수정할 수 없습니다. |
| **연결 풀링**             | `켜짐`, `꺼짐`           | 선택 필드입니다.                      | `연결 테스트` 성공 후에는 `재입력` 전까지 수정할 수 없습니다. |
| **연결 시간 초과**          | `1` 이상의 정수 문자열 또는 공란 | `0`, 음수, 소수, 문자 입력은 허용되지 않습니다. | 단위 드롭다운은 `밀리초` 고정이며 비활성화됩니다.          |
| **바인드 유형**            | `simple`, `none`     | 필수입니다. 제공된 값 중 하나를 선택합니다.      | `인증 테스트` 성공 후에는 `재입력` 전까지 수정할 수 없습니다. |
| **바인드 DN**            | 문자열                  | 필수입니다.                         | `인증 테스트` 성공 후에는 `재입력` 전까지 수정할 수 없습니다. |
| **바인드 자격 증명**         | 문자열                  | 필수입니다.                         | -                                     |

### LDAP 검색 및 업데이트

* **편집 모드**: `READ_ONLY`, `WRITABLE`, `UNSYNCED` 중 하나를 선택합니다. 기본값은 `WRITABLE`입니다.
* **사용자 DN**: LDAP 사용자 검색 기준이 되는 상위 DN입니다. 예: `ou=users,dc=example,dc=com`
* **사용자명 LDAP 속성**: Cloud:iA 사용자명과 매핑할 LDAP 속성입니다. 예: `uid`, `sAMAccountName`, `cn`
* **RDN LDAP 속성**: 사용자 DN 구성에 사용할 RDN 속성입니다.
* **UUID LDAP 속성**: LDAP 객체의 고유 식별자로 사용할 속성입니다. 예: `entryUUID`, `objectGUID`
* **사용자 객체 클래스**: 사용자 레코드 판별과 생성 시 사용할 objectClass 목록입니다.
* **사용자 LDAP 필터**: 추가 LDAP 필터 문자열입니다. 필요 없으면 비워둘 수 있습니다. 툴팁에는 `(`로 시작하고 `)`로 끝나는 필터를 권장한다고 표시됩니다.
* **검색 범위**: `One Level`, `Subtree` 중 하나를 선택합니다. 기본값은 `Subtree`입니다.
* **읽기 시간 초과**: LDAP 응답 대기 시간을 밀리초 단위로 입력합니다.
* **페이지네이션**: 많은 사용자를 동기화할 때 권장되는 옵션입니다. 토글 라벨은 `사용함`, `사용 안 함`입니다.
* **참조**: LDAP referral 처리 방식을 선택합니다. `disabled`, `ignore`, `follow` 중 하나를 선택합니다.

### LDAP 검색 및 업데이트 입력 필드 유효성

| 필드               | 허용 값                                | 검증 규칙                          | 비고                                     |
| ---------------- | ----------------------------------- | ------------------------------ | -------------------------------------- |
| **편집 모드**        | `READ_ONLY`, `WRITABLE`, `UNSYNCED` | 필수입니다. 제공된 값 중 하나를 선택합니다.      | 기본값은 `WRITABLE`입니다.                    |
| **사용자 DN**       | 문자열                                 | 필수입니다.                         | LDAP 사용자 상위 DN을 입력합니다.                 |
| **사용자명 LDAP 속성** | 문자열                                 | 필수입니다.                         | 예: `uid`, `sAMAccountName`, `cn`       |
| **RDN LDAP 속성**  | 문자열                                 | 필수입니다.                         | LDAP DN 구성에 사용합니다.                     |
| **UUID LDAP 속성** | 문자열                                 | 필수입니다.                         | 예: `entryUUID`, `objectGUID`           |
| **사용자 객체 클래스**   | 문자열                                 | 필수입니다.                         | 쉼표로 구분해 여러 값을 입력할 수 있습니다.              |
| **사용자 LDAP 필터**  | 문자열                                 | -                              | 툴팁에서는 `(`와 `)`를 포함한 LDAP 필터 형식을 권장합니다. |
| **검색 범위**        | `One Level`, `Subtree`              | 필수입니다. 제공된 값 중 하나를 선택합니다.      |                                        |
| **읽기 시간 초과**     | `1` 이상의 정수 문자열 또는 공란                | `0`, 음수, 소수, 문자 입력은 허용되지 않습니다. | 단위 드롭다운은 `밀리초` 고정입니다.                  |
| **페이지네이션**       | `사용함`, `사용 안 함`                     | 선택 필드입니다.                      |                                        |
| **참조**           | `disabled`, `ignore`, `follow`      | 선택 필드입니다.                      | 기본값은 `disabled`입니다.                    |

### 동기화 설정

* **사용자 가져오기**: LDAP 사용자를 Cloud:iA에 가져올지 설정합니다. ON이면 첫 로그인이나 동기화 시 사용자 정보가 복제됩니다.
* **등록 동기화**: 사용자 등록 시 LDAP와 동기화할지 설정합니다.
* **배치 크기**: 한 트랜잭션에서 처리할 LDAP 사용자 수입니다.
* **주기적 전체 동기화**: 전체 사용자 동기화 주기 사용 여부를 설정합니다.
* **전체 동기화 주기**: `주기적 전체 동기화`를 켠 경우에만 표시됩니다.
* **주기적 변경된 사용자 동기화**: 변경되거나 새로 생성된 사용자 동기화 주기 사용 여부를 설정합니다.
* **변경된 사용자 동기화 주기**: `주기적 변경된 사용자 동기화`를 켠 경우에만 표시됩니다.

### 동기화 설정 입력 필드 유효성

| 필드                  | 허용 값       | 검증 규칙     | 비고                                                |
| ------------------- | ---------- | --------- | ------------------------------------------------- |
| **사용자 가져오기**        | `켜짐`, `꺼짐` | 선택 필드입니다. |                                                   |
| **등록 동기화**          | `켜짐`, `꺼짐` | 선택 필드입니다. |                                                   |
| **배치 크기**           | 문자열        |           | LDAP 사용자를 가져올 배치 크기입니다.                           |
| **주기적 전체 동기화**      | `켜짐`, `꺼짐` | 선택 필드입니다. |                                                   |
| **전체 동기화 주기**       | 문자열        |           | `주기적 전체 동기화`를 켠 경우에만 입력할 수 있습니다. 단위는 `초`입니다.      |
| **주기적 변경된 사용자 동기화** | `켜짐`, `꺼짐` | 선택 필드입니다. |                                                   |
| **변경된 사용자 동기화 주기**  | 문자열        |           | `주기적 변경된 사용자 동기화`를 켠 경우에만 입력할 수 있습니다. 단위는 `초`입니다. |

### 고급 설정

* **LDAPv3 암호 수정 활성화**: RFC-3062 기반 암호 수정 확장 작업 사용 여부를 설정합니다.
* **암호 정책 검증**: Cloud:iA 비밀번호 정책을 LDAP 업데이트에도 적용할지 설정합니다.
* **이메일 신뢰**: LDAP 이메일을 검증된 값으로 간주할지 설정합니다.
* **연결 추적**: LDAP 호출 시간과 상태 로깅 여부를 설정합니다.

### 고급 설정 입력 필드 유효성

| 필드                   | 허용 값       | 검증 규칙     | 비고 |
| -------------------- | ---------- | --------- | -- |
| **LDAPv3 암호 수정 활성화** | `켜짐`, `꺼짐` | 선택 필드입니다. |    |
| **암호 정책 검증**         | `켜짐`, `꺼짐` | 선택 필드입니다. |    |
| **이메일 신뢰**           | `켜짐`, `꺼짐` | 선택 필드입니다. |    |
| **연결 추적**            | `켜짐`, `꺼짐` | 선택 필드입니다. |    |

### 저장 조건

* `일반 옵션`이 유효해야 합니다.
* `연결 및 인증 설정`에서 `연결 테스트`를 성공해야 합니다.
* `연결 및 인증 설정`에서 `인증 테스트`를 성공해야 합니다.
* `LDAP 검색 및 업데이트`의 필수 항목이 모두 입력되어야 합니다.
* `동기화 설정`과 `고급 설정`은 별도 추가 검증 없이 현재 입력값을 저장 대상에 포함합니다.

### 사용 시 참고

* 편집 화면은 기존 저장값을 불러온 뒤 `연결 테스트`, `인증 테스트`가 모두 완료된 상태로 시작합니다.
* 편집 화면에서도 기존 값과 동일한 상태로 `편집` 버튼을 누를 수 있습니다.
* `재입력` 버튼을 누르면 해당 테스트 성공 상태가 해제되고 관련 입력 항목을 다시 수정할 수 있습니다.
* `연결 테스트`에 성공하기 전에는 연결 관련 입력값이 저장 대상에 포함되지 않습니다.
* `인증 테스트`에 성공하기 전에는 인증 관련 입력값이 저장 대상에 포함되지 않습니다.

## LDAP Provider 상세

### 화면 개요

LDAP Provider 상세 화면은 `일반 옵션`, `연결 및 인증 설정`, `LDAP 검색 및 업데이트`, `동기화 설정`, `고급 설정` 다섯 개 정보 박스와 하단의 `매퍼` 목록으로 구성됩니다.

### 표시 섹션

* **일반 옵션**: 이름, 공급업체를 표시합니다.
* **연결 및 인증 설정**: 연결 URL, StartTLS 활성화, Truststore SPI 사용, 연결 풀링, 연결 시간 초과, 바인드 유형, 바인드 DN, 바인드 자격 증명을 표시합니다.
* **LDAP 검색 및 업데이트**: 편집 모드, 사용자 DN, 사용자명 LDAP 속성, RDN LDAP 속성, UUID LDAP 속성, 사용자 객체 클래스, 사용자 LDAP 필터, 검색 범위, 읽기 시간 초과, 페이지네이션, 참조를 표시합니다.
* **동기화 설정**: 사용자 가져오기, 등록 동기화, 배치 크기, 전체 동기화 주기, 변경된 사용자 동기화 주기를 표시합니다.
* **고급 설정**: LDAPv3 암호 수정 활성화, 암호 정책 검증, 이메일 신뢰, 연결 추적을 표시합니다.

### 표시 규칙

* 상세 화면의 불리언 값은 `켜짐`, `꺼짐`으로 표시됩니다.
* `전체 동기화 주기`, `변경된 사용자 동기화 주기` 값이 `-1`이면 화면에는 `꺼짐`으로 표시됩니다.
* `바인드 자격 증명`도 상세 정보 영역에 그대로 표시됩니다.

## 매퍼 목록

### 화면 개요

매퍼 목록은 LDAP Provider 상세 화면 하단에 표시됩니다. 선택한 LDAP Provider에 연결된 사용자 속성 매퍼를 조회하고, 생성, 편집, 삭제 작업을 수행할 수 있습니다.

### 주요 작업

* `생성`: 새 매퍼를 등록합니다.
* `편집`: 선택한 매퍼를 편집합니다. 한 건을 선택했을 때만 사용할 수 있습니다.
* `삭제`: 선택한 매퍼를 삭제합니다. 한 건을 선택했을 때만 사용할 수 있습니다.

### 목록 컬럼

| 컬럼        | 설명                                   |
| --------- | ------------------------------------ |
| 이름        | 클릭하면 매퍼 상세 화면으로 이동하는 컬럼입니다.          |
| ID        | 매퍼 식별자를 표시하는 컬럼입니다.                  |
| 사용자 모델 속성 | LDAP 속성과 매핑되는 사용자 모델 속성을 표시하는 컬럼입니다. |
| LDAP 속성   | 매핑 대상 LDAP 속성 이름을 표시하는 컬럼입니다.        |
| 속성 기본값    | 매퍼에 저장된 기본값을 표시하는 컬럼입니다.             |

### 사용 시 참고

* 목록은 로컬 페이지네이션으로 `5`건씩 표시됩니다.
* 목록은 한 번에 한 건만 선택할 수 있습니다.
* 삭제 확인 모달의 제목은 `매퍼 삭제`이며, 확인 버튼 라벨은 `삭제`입니다.

## 매퍼 생성 및 편집

### 화면 개요

매퍼 생성 및 편집 화면에서는 LDAP 사용자 속성을 Cloud:iA 사용자 속성에 연결하는 규칙을 설정합니다.

생성 화면과 편집 화면은 거의 동일하지만, 편집 화면은 기존 값 대비 변경사항이 있을 때만 `편집` 버튼이 활성화됩니다.

### 입력 항목

* **이름**: 고정값이며 비활성 상태로 표시됩니다.
* **매퍼 유형**: 고정값이며 비활성 상태로 표시됩니다.
* **사용자 모델 속성**: `mobileNumber`, `username`, `email` 중 하나를 선택합니다.
* **LDAP 속성**: 매핑할 LDAP 속성 이름을 입력합니다. 예: `uid`, `mail`, `telephoneNumber`
* **읽기 전용**: LDAP에서 읽기만 하고 사용자 수정 시 LDAP로 되돌려 저장하지 않을지 설정합니다.
* **항상 LDAP에서 값 읽기**: 사용자 데이터베이스에 저장된 값보다 LDAP 값을 우선 사용할지 설정합니다.
* **LDAP에서 필수 여부**: 해당 속성이 LDAP에서 필수 항목인지 설정합니다.
* **속성 기본값**: 사용자 데이터베이스에 값이 없고 해당 속성이 LDAP에서 필수일 때 전파할 기본값입니다.
* **기본값 강제**: 기본값이 비어 있어도 필수 속성에 빈 기본값을 강제로 적용할지 설정합니다.
* **이진 속성 여부**: LDAP 속성이 바이너리 속성인지 설정합니다.

### 입력 필드 유효성

| 필드                 | 허용 값                                | 검증 규칙                     | 비고                                   |
| ------------------ | ----------------------------------- | ------------------------- | ------------------------------------ |
| **이름**             | `ldap-telephone-to-mobile`          | 조회 전용입니다. 수정할 수 없습니다.     | 생성/편집 화면 공통 고정값입니다.                  |
| **매퍼 유형**          | `user-attribute-ldap-mapper`        | 조회 전용입니다. 수정할 수 없습니다.     | 생성/편집 화면 공통 고정값입니다.                  |
| **사용자 모델 속성**      | `mobileNumber`, `username`, `email` | 필수입니다. 제공된 값 중 하나를 선택합니다. | 생성 기본값은 `mobileNumber`입니다.           |
| **LDAP 속성**        | 문자열                                 |                           | 예: `uid`, `mail`, `telephoneNumber`  |
| **읽기 전용**          | `켜짐`, `꺼짐`                          | 선택 필드입니다.                 |                                      |
| **항상 LDAP에서 값 읽기** | `켜짐`, `꺼짐`                          | 선택 필드입니다.                 |                                      |
| **LDAP에서 필수 여부**   | `켜짐`, `꺼짐`                          | 선택 필드입니다.                 | 켜짐이면 `속성 기본값`, `기본값 강제` 설정 의미가 커집니다. |
| **속성 기본값**         | 문자열                                 |                           | 생성 기본값은 `0100000000`입니다.             |
| **기본값 강제**         | `켜짐`, `꺼짐`                          | 선택 필드입니다.                 |                                      |
| **이진 속성 여부**       | `켜짐`, `꺼짐`                          | 선택 필드입니다.                 |                                      |

### 생성 화면 기본값

* **이름**: `ldap-telephone-to-mobile`
* **매퍼 유형**: `user-attribute-ldap-mapper`
* **사용자 모델 속성**: `mobileNumber`
* **LDAP 속성**: `telephoneNumber`
* **속성 기본값**: `0100000000`

### 사용 시 참고

* 편집 화면에서는 `이름`, `매퍼 유형`이 그대로 유지되며, 다른 항목만 수정할 수 있습니다.

## 매퍼 상세

### 화면 개요

매퍼 상세 화면은 `기본 정보`로 구성되며, 매퍼에 저장된 실제 속성 매핑 결과를 조회할 수 있습니다.

### 기본 정보

* **이름**: 매퍼 이름을 표시합니다.
* **ID**: 매퍼 식별자를 표시합니다.
* **사용자 모델 속성**: LDAP 속성과 연결된 사용자 모델 속성을 표시합니다.
* **LDAP 속성**: 매핑 대상 LDAP 속성 이름을 표시합니다.
* **읽기 전용**: 읽기 전용 여부를 표시합니다.
* **항상 LDAP에서 값 읽기**: LDAP 값 우선 사용 여부를 표시합니다.
* **LDAP에서 필수 여부**: LDAP 필수 속성 여부를 표시합니다.
* **속성 기본값**: 설정된 기본값을 표시합니다.
* **기본값 강제**: 기본값 강제 여부를 표시합니다.
* **이진 속성 여부**: 바이너리 속성 여부를 표시합니다.
