LDAP (Active Directory)
Genian NAC는 LDAP 디렉토리를 사용자 및 조직 정보의 소스로 사용할 수 있습니다. LDAP 동기화를 통해 사용자 계정을 로컬에서 생성하여 관리 또는 정책에 사용 할 수 있습니다. LDAP 동기화는 일반적으로 Microsoft AD(Active Directory) 시스템에서 사용됩니다.
다음은 AD를 기반으로 사용자 및 조직 정보를 동기화하는 방법에 대해 설명합니다.
접속 테스트 하기
접속 테스트를 수행하기 위해서는 다음에 기본값이 입력되어야 합니다.
항목 |
설정값 |
설명 |
|---|---|---|
LDAP |
DB Server |
LDAP 서버 IP를 입력합니다. |
DB PORT |
LDAP 서버 접속 포트를 입력합니다. |
|
SSL OFF : 389 |
||
SSL ON : 636 |
||
SSL 접속 |
SSL 접속 유무를 설정합니다. |
|
DB USER |
Bind DN을 입력합니다. |
|
DB PASSWORD |
Bind Password를 입력합니다. |
|
데이터소스 구분값 |
다수의 동기화 서버 사용 시 설정합니다. |
Note
접속 테스트가 정상적으로 되지 않을 경우 정책서버 와 동기화 서버 간 정상적인 통신 여부를 우선적으로 확인하시기 바랍니다.
동기화 설정하기
상단 항목의 설정 으로 이동합니다.
왼쪽 설정 항목에서 사용자인증 > 정보 동기화 로 이동합니다.
작업선택 > 생성 을 클릭합니다.
기본설정 옵션
ID : 고유의 이름을 입력합니다.
동기화 수행주기 : 동기화에 대해 지정된 시간 또는주기적인 간격을 선택합니다.
정책적용여부 : 동기화 후 변경사항 반영을 위해
적용함을 선택합니다 . 동기화 설정이 여러 개인 경우적용안함으로 설정하고 마지막 동기화만 사용하도록 설정 할 수 있습니다.환경변수 설정 : 기본적인 동기화 작업 시에는 입력할 필요가 없습니다. 단, 외부 시스템과의 연동 등을 위해 별도로 작성된 커스텀 쉘 스크립트를 보조로 실행하는 경우, 해당 스크립트 내에서 공통적으로 참조할 변수 값을 정의할 때 사용합니다.
Warning
설정 주의: 잘못된 환경변수 선언은 연동 스크립트의 오작동이나 시스템 오류를 유발할 수 있습니다. 설정 전에 스크립트 내에서 해당 변수가 올바르게 처리되는지 반드시 확인하십시오.
- 활용 시나리오: 로그 레벨 제어
외부 스크립트 실행 시 로그 레벨(Log Level) 이나 재시도 횟수 등 단순 동작 옵션을 제어할 수 있는 경우 사용합니다.
export LOG_LEVEL='ERROR'
사용자정의쿼리 : 정보 동기화가 완료된 직후 수행할 SQL 쿼리를 입력합니다. 동기화된 정보를 바탕으로 특정 조건에 따라 2차 가공이 필요한 경우 작성합니다.
Warning
데이터 손실 위험: 이 기능은 데이터베이스에 직접 영향을 미칩니다. 특히
UPDATE나DELETE구문 사용 시 되돌릴 수 없는 데이터 손실 이 발생할 수 있습니다.- 활용 시나리오: 재직 상태에 따른 계정 잠금 처리
정보 동기화 후, 인사 정보의 '재직 상태' 코드에 따라 퇴사자(또는 휴직자)의 NAC 계정 사용을 자동으로 중지하고 싶은 경우 사용합니다.
- 선행 작업
[설정] > [속성관리] > [추가필드] > [사용자 추가필드] 에서 재직상태를 관리할 필드(예:
USER_CUSTOM08)를 생성합니다.[정보동기화] 의 [사용자정보] - [추가정보] 에 1번에서 생성한 사용자 추가필드를 할당합니다.
- 작성 예시
USER_CUSTOM08값이 '001'(퇴사/휴직 등)인 경우,USER_STATUS를 '0'(사용 중지)으로 업데이트합니다.
UPDATE USER SET USER_STATUS = 0 WHERE USER_CUSTOM08 = '001';
데이터베이스 옵션
DB타입 :
LDAPDB SERVER : Active Directory 서버의 IP 주소 또는 FQDN 을 입력합니다.
DB PORT: AD의 LDAP 서비스 포트를 입력합니다. 기본 LDAP 포트는
389입니다. LDAPS(LDAP over SSL)를 사용하는 경우 기본 포트는636입니다.SSL 접속 : LDAPS를 사용할 경우``On`` 을 선택합니다.
DB USER : Active Directory의 Bind DN을 입력합니다. 일반적으로
administrator@company.com과 같은 이메일 형식을 사용할 수 있습니다.DB PASSWORD : Bind DN 사용자 비밀번호를 입력합니다.
사용자정보 옵션
사용자테이블명 : 사용자의 기본 고유 이름(DN)을 입력합니다. 보통은,
CN=Users,DC=company,DC=com입니다.사용자조건문 : 사람 객체를 필터링하기 위해
(&(objectClass=user)(objectCategory=person))를 입력합니다.사용자ID컬럼명 :
sAMAccountName을 입력합니다.사용자이름컬럼명 :
displayName을 입력합니다.부서ID컬럼명 :
$distinguishedName, IF(LOCATE('OU=',$)>0,SUBSTRING($,LOCATE(',',$)+1),'')를 입력합니다.기타 추가 정보는 각 컬럼 이름에 LDAP 속성 이름을 사용할 수 있습니다.
부서정보 옵션
Table Name : OU(OrganizationUnit)의 기본 고유 이름(DN)을 입력합니다. 일반적으로
DC=company,DC=com입니다.부서조건문 : OU 객체를 필터링 하려면
objectClass=organizationalUnit를 입력합니다.출력정렬순서 : 부서명을 기준으로 출력하기 위해
@NAMEPATH을 입력합니다.부서ID컬럼명 :
distinguishedName을 입력합니다.부서이름컬럼명 :
name을 입력합니다.상위부서컬럼명 :
$distinguishedName, SUBSTRING($,LOCATE(',',$)+1)을 입력합니다.생성 버튼을 클릭합니다.
Attention
Active Directory는 userPassword 속성을 제공하지 않으므로 사용자 비밀번호를 동기화할 수 없습니다. 따라서 별도의 연동을 설정해야합니다. LDAP (Active Directory) 서버 연동 을 참조합니다.