LDAP 변환 맵
변환 맵은 임포트 세트 테이블에서 대상 테이블(사용자 또는 그룹)로 데이터를 이동합니다.
기본 LDAP 변환 맵
| 변환 맵 | 소스 테이블 | 대상 테이블 | 설명 |
|---|---|---|---|
| LDAP 사용자 임포트 | [ldap_import] | [sys_user] | LDAP 요청 시 로그인의 일부로 LDAP 자격 증명에서 사용자 기록을 생성하기 위한 기본 변환 맵입니다. Active Directory LDAP 서버에 대한 매핑을 포함합니다. |
| LDAP 그룹 임포트 | [ldap_group_import] | [sys_user_group] | LDAP OU에서 그룹 기록을 생성하기 위한 기본 변환 맵. Active Directory LDAP 서버에 대한 매핑을 포함합니다. |
사용자 지정 LDAP 변환 맵에 대한 요구 사항
| 소스 테이블 | 소스 필드 | 대상 테이블 | 대상 필드 | 병합 | 설명 |
|---|---|---|---|---|---|
ldap_import |
u_source |
sys_user |
소스 | false | u_source 필드는 임포트한 사용자 또는 그룹의 LDAP DN을 식별합니다. 시스템은 이 필드를 사용하여 사용자에게 LDAP 인증이 필요한지, 사용자의 관리자를 찾고, 사용자를 그룹에 포함하는지 결정합니다. |
ldap_import |
다음 필드 중 하나를 선택합니다.
|
sys_user |
User_name |
true | LDAP가 Active Directory에 통합되면 u_samaccountname 소스 필드로 선택합니다. 다른 LDAP 디렉토리를 사용하는 경우 소스 필드로 u_dn 또는 u_cn 를 선택합니다. |
LDAP 변환 맵과 레거시 임포트 맵의 차이점
변환 맵을 사용하여 LDAP 매핑 관계를 지정할 때 관리자 및 부서에 대한 참조 필드를 설정하는 방식에 큰 차이가 있습니다.
변환 맵을 사용할 때는 참조를 생성하려면 변환 스크립트를 사용해야 합니다. 이는 "manager"와 같은 LDAP 속성과 연결된 값이 관리자의 DN(고유 이름)이기 때문입니다.
추가 논리가 없으면 LDAP에서 해당 사용자의 고유 이름인 관리자 이름을 가진 사용자 기록이 생성됩니다. 통합에는 이러한 참조를 쉽게 생성할 수 있도록 변환 스크립트가 포함됩니다. 기본 변환 맵 "LDAP 사용자 임포트"에는 이러한 참조에 대한 변환 스크립트가 포함되어 있습니다.
- 기존 매핑 관계
- 레거시 임포트 맵을 변환 맵으로 업데이트할 때 시스템 LDAP 애플리케이션을 추가하기 전에 존재했던 LDAP 매핑 관계를 유지할 수 있습니다. LDAP 서버에는 레거시 임포트 맵에 대한 참조인 맵 필드가 있습니다.주:변환 맵 사용으로 전환하려면 레거시 임포트 맵에 대한 참조를 선택 취소합니다.기본적으로 이 필드는 숨겨져 있으므로 표시하도록 양식을 구성해야 합니다.
- LDAP 임포트 맵 설정
- 속성을 확인하고 사용하여 통합이 LDAP 소스에서 임포트하는 필드를 제한합니다. 또한 user_name 필드를 사용자의 로그인 ID를 포함하는 LDAP 속성에 매핑하는 것이 중요합니다. Active Directory의 경우 일반적으로 sAMAccountName 특성입니다. 이진 특성(예: objectSID 또는 objectGUID)을 가져오고 병합하려면 사용자 지정 변환 스크립트를 만들어야 합니다.주:user_name 필드에 매핑된 모든 값은 고유해야 합니다.
변환 맵(예: LDAP 사용자 임포트)을 지정하지 않으면 통합에서 다음 기본 매핑을 사용합니다.
표 3. LDAP 임포트 기본 매핑 사용자 필드 또는 변수 LDAP 속성 user_name sAMAccountName(sAMAccountName) 이메일 메일 전화 telephoneNumber home_phone 집 전화 번호 mobile_phone 모바일 first_name 주어진이름 last_name sn 제목 제목 부서 부서 매니저 매니저 middle_name 이니셜 u_memberof 그룹 u_member 구성원 u_manager 매니저
LDAP 데이터 변환
LDAP 속성에 단순 데이터가 포함되어 있는 경우 변환 맵은 가져온 LDAP 속성을 대상 테이블(사용자 또는 그룹)의 적절한 필드에 링크합니다. 예를 들어 sAMAccountName 특성의 샘플 데이터는 사용자 테이블의 사용자 ID 필드에 매핑됩니다.
임포트한 LDAP 데이터가 참조 필드에 매핑되는 경우, 인스턴스는 기존의 일치 기록을 검색합니다. 일치하는 기록이 없으면 필드 매핑에서 달리 지정하지 않는 한 인스턴스는 참조 필드에 대한 새 기록을 만듭니다.
예를 들어, LDAP 속성 l이 사용자 테이블의 위치 참조 필드에 매핑된다고 가정합니다. 임포트에서 기존 위치 기록 값과 일치하지 않는 속성 값을 가져올 때마다 변환 맵이 새 위치 기록을 생성합니다. 새 위치 기록은 임포트한 속성과 동일한 값을 가지며, 이제 임포트한 사용자 기록에 새 위치 기록에 대한 링크가 있습니다.
일반적으로 관리자는 새 사용자가 기존 사용자와 연결되어 있지 않기 때문에 시스템이 DN 값에서 새 사용자를 만드는 것을 원하지 않습니다. 대신 관리자는 임포트를 통해 관리자의 기존 사용자 기록을 찾아 새로 임포트한 사용자와 연결하기를 원합니다. LDAPUtils 스크립트 포함에는 DN을 구문 분석하고 기존 사용자를 검색할 수 있는 setManager 및 processManagers 함수가 포함되어 있습니다. 최상의 결과를 얻으려면 이러한 함수를 사용하여 사용자 지정 변환 맵을 생성하십시오.
LDAP 사용자 임포트 변환 맵 스크립트는 setManager 함수를 호출합니다.
//
// The manager coming in from LDAP is the DN value for the manager.
// The line of code below will locate the manager that matches the
// DN value and set it into the target record. If you are not
// interested in getting the manager from LDAP then remove or
// comment out the line below
ldapUtils. setManager (source , target ) ;processManagers 함수를 호출할 수 있습니다. 예를 들어, LDAP 사용자 임포트 변환 맵은 onComplete 변환 스크립트를 사용하여 processManagers 함수를 호출합니다.// It is possible that the manager for a user did not exist in the database when // the user was processed and therefore we could not locate and set the manager field. // The processManagers call below will find all those records for which a manager could // not be found and attempt to locate the manager again. This happens at the end of the // import and therefore all users should have been created and we should be able to // locate the manager at this point
ldapUtils. processManagers ( ) ;LDAP 통합에서 manager 속성을 사용하지 않는 경우 setManager 및 processManagers 함수 호출을 제거하거나 주석 처리합니다.