RDBMS ====== .. note:: 이 기능을 사용하려면 Enterprise Edition이 필요합니다. 사용자 디렉토리를 RDBMS(Relational Database Management System: 관계형 데이터베이스 관리 시스템) 와 동기화 할 수 있습니다. RDBMS는 관계 모델을 기반으로 하는 데이터베이스 시스템입니다. 접속 테스트 하기 ----------------- 접속 테스트가 가능한 데이터베이스 종류는 다음과 같습니다. +-----------------------------------+-------------------+---------------+ | 지원가능한 동기화 서버유형 | 항목 | 접속 테스트 | +===================================+===================+===============+ | 관계형 데이터베이스 | Oracle Database | O | + +-------------------+---------------+ | | MYSQL | O | + +-------------------+---------------+ | | MSSQL/Sybase | O | + +-------------------+---------------+ | | IBM DB2 | O | + +-------------------+---------------+ | | Tibero | O | + +-------------------+---------------+ | | Altibase | O | + +-------------------+---------------+ | | CUBRID | O | +-----------------------------------+-------------------+---------------+ .. note:: **정책서버** 와 **동기화 서버** 간 정상적인 통신 여부를 우선적으로 확인하여 접속 테스트를 사전에 수행하시기 바랍니다. 동기화 설정하기 --------------------- #. 상단 항목의 **설정** 으로 이동합니다. #. 왼쪽 설정 항목에서 **사용자인증 > 정보 동기화** 로 이동합니다. #. **작업선택 > 생성** 을 클릭합니다. #. **ID** : 고유의 이름을 입력합니다. #. **동기화 수행주기** : 동기화에 대해 지정된 시간 또는주기적인 간격을 선택합니다. #. **정책적용여부** : 동기화 후 변경사항 반영을 위해 ``적용함`` 을 선택합니다 . 동기화 설정이 여러 개인 경우 ``적용안함`` 으로 설정하고 마지막 동기화만 사용하도록 설정 할 수 있습니다. #. **환경변수 설정** : 기본적인 동기화 작업 시에는 입력할 필요가 없습니다. 단, 외부 시스템과의 연동 등을 위해 별도로 작성된 커스텀 쉘 스크립트를 보조로 실행하는 경우, 해당 스크립트 내에서 공통적으로 참조할 변수 값을 정의할 때 사용합니다. .. warning:: **설정 주의**: 잘못된 환경변수 선언은 연동 스크립트의 오작동이나 시스템 오류를 유발할 수 있습니다. 설정 전에 스크립트 내에서 해당 변수가 올바르게 처리되는지 반드시 확인하십시오. **활용 시나리오: 로그 레벨 제어** 외부 스크립트 실행 시 **로그 레벨(Log Level)** 이나 **재시도 횟수** 등 단순 동작 옵션을 제어할 수 있는 경우 사용합니다. .. code-block:: bash export LOG_LEVEL='ERROR' #. **사용자정의쿼리** : 정보 동기화가 완료된 직후 수행할 SQL 쿼리를 입력합니다. 동기화된 정보를 바탕으로 특정 조건에 따라 2차 가공이 필요한 경우 작성합니다. .. warning:: **데이터 손실 위험**: 이 기능은 데이터베이스에 직접 영향을 미칩니다. 특히 ``UPDATE`` 나 ``DELETE`` 구문 사용 시 **되돌릴 수 없는 데이터 손실** 이 발생할 수 있습니다. **활용 시나리오: 재직 상태에 따른 계정 잠금 처리** 정보 동기화 후, 인사 정보의 '재직 상태' 코드에 따라 퇴사자(또는 휴직자)의 NAC 계정 사용을 자동으로 중지하고 싶은 경우 사용합니다. **선행 작업** 1. **[설정] > [속성관리] > [추가필드] > [사용자 추가필드]** 에서 재직상태를 관리할 필드(예: ``USER_CUSTOM08``)를 생성합니다. 2. **[정보동기화]** 의 **[사용자정보]** - **[추가정보]** 에 1번에서 생성한 사용자 추가필드를 할당합니다. **작성 예시** ``USER_CUSTOM08`` 값이 '001'(퇴사/휴직 등)인 경우, ``USER_STATUS`` 를 '0'(사용 중지)으로 업데이트합니다. .. code-block:: sql UPDATE USER SET USER_STATUS = 0 WHERE USER_CUSTOM08 = '001'; #. 메인창에서 **상세설정 > DB타입** 메뉴를 찾습니다. 데이터를 읽어올 **데이터베이스 타입** 을 선택 해 입력 정보를 설정합니다. #. 메인창에서 **상세설정 > 사용자정보, 부서정보, 직급정보, 노드정보, 장비수명주기정보** 항목들을 찾아 필요한 정보들을 추가합니다.(*CSV를 사용할 경우 비워 둡니다*). #. **생성** 버튼을 클릭합니다. #. **정보 동기화** 목록에서 동기화하고자 하는 항목을 선택합니다. #. **작업선택 > 즉시수행** 을 클릭합니다.