문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다: 사용자. 문서의 원본을 보거나 복사할 수 있습니다. __FORCETOC__ === RADIUS > 설정 > 인증 데이터베이스 === 사용자증 정보를 저장하는 인증 데이터베이스는 imRAD N1 시스템 내부의 데이터베이스(로컬)와 고객 데이터베이스(외부)가 있습니다. 사용자 인증 요청이 수신되면 로컬 데이터베이스에서 인증을 확인하여 존재하지 않으면 외부 데이터베이스를 확인하여 사용자 인증을 진행합니다. 인 ==== 로컬 데이터베이스 ==== radiusd(RADIUS 데몬 서비스)가 로컬 데이터베이스에 접속하기 위한 정보이며 변경 할 필요가 없으며 이중화를 구성하면 자동으로 변경됩니다.<br> 로컬 데이터베이스에 연결이되지 않는 경우 경우 비밀번호를 다시 저장 후 "연결 시험" 버튼을 클릭하여 확인할 수 있습니다. [[File:localdb.png|400px]] ==== 외부 데이터베이스 ==== imRAD N1 로컬 데이터베이스에 존재하는 사용자 계정이 아닌 고객 데이터베이스 통해 인증을 처리하기 위한 기능으로 RADIUS 클라이언트(스마트폰, 테블릿, 노트북, PC 등)에서 입력한 User-Name과 User-Password가 올바른지를 외부 데이터베이스에 쿼리(Query)를 실행 해 그 결과를 확인합니다.<br> 이 기능을 이용하면 고객사에 이미 구축되어있는 내부 데이터베이스를 이용하므로 별도로 사용자를 imRAD에 등록하지 않아도 고객사 내부 구성원에 대한 인증을 처리 할 수 있습니다.<ref>지원되는 DBMS 종류는 [[ImRAD RADIUS]]를 참고하세요.</ref><br> 외부 데이터베이스는 최대 4개까지 등록 할 수 있으며 2개 이상의 외부 데이터베이스가 등록되면 요청된 User-Name은 그 정보가 맞을때까지 모든 등록된 데이터베이스에 접속해 확인합니다.<br> 이 기능을 수행하려면 암호화된 User-Password를 복호화해야 하는데 복호화 할 수 없는 [[RADIUS 인증 시험|EAP method]]로 ACCESS-REQUEST가 수신되면 외부 데이터베이스 인증을 수행 할 수 없습니다. 따라서 안드로이드 단말의 경우 "2단계 인증"은 반드시 "GTC"를 사용해야 합니다.(MAC OS는 기본이 GTC입니다.) {{note|외부 데이터베이스가 추가되면 1분내에 연결 상태가 자동으로 변경됩니다.}} ===== 외부 데이터베이스 인증 추가 ===== 외부 데이터베이스 인증 목록 하단의 "추가" 버튼을 클릭하여 외부 데이터베이스 정보를 등록 할 수 있습니다.<br> 이 기능을 사용하려면 User-Name과 User-Password가 올바른지를 처리할 수 있는 Stored Function(권장) 혹은 View Table이 준비되어 있어야 합니다. Password는 복호화된 plaintext입니다. {| class="wikitable" ! 이름 !! 필수 !! 설명 |- | 이름 || 아니오 || 표시되는 이름입니다. |- | DBMS 종류 || 예 || DBMS를 선택하세요. |- | 서버 주소 || 예 || 데이터베이스 서버 IP 주소를 입력하세요. |- | 포트 || 예 || 데이터베이스 연결 포트를 입력하세요. |- | 사용자 아이디 || 예 || 데이터베이스 연결 ID를 입력하세요. |- | 비밀번호 || 예 || 데이터베이스 연결 비밀번호를 입력하세요.<ref>imRAD에 저장될때 암호화되어 저장됩니다.</ref> |- | 데이터베이스 또는 SID || 예 || DBMS가 Oracle인 경우 SID를 입력하시고 나머지는 기본 데이터베이스 혹은 대상 데이터베이스를 입력하세요. |- | 외부 DB 쿼리 || 예 || User-Name과 Password를 확인 할 쿼리(Query)를 입력하세요.<br>쿼리 생성 방법은 아래 "외부 DB 쿼리"를 참고하세요. |- |} ===== Stored Function을 이용한 외부 DB 쿼리 ===== 결과가 올바른 경우 반드시 ''''OK''''를 반환 할 수 있도록 SELECT 구문을 사용하거나 Stored Function을 통해 Function 내부에서 User-Name과 User-Password에 일치하는 레코드가 존재하면 'OK'를 반환하게 정의하세요.<br> User-Name은 '''##SU_NAME##'''로 입력하고 User-Password는 '''##U_PWD##'''로 입력하세요. <pre> # mysql의 stored function인 test는 User-Name과 User-Password에 일치하는 레코드가 존재하면 'Y'를 반환 SELECT 'OK' WHERE test(##SU_NAME##, ##U_PWD##) = 'Y' # oracle의 stored function인 FNC_USER는 User-Name과 User-Password에 일치하는 레코드가 존재하면 1을 반환 SELECT 'OK' FROM DUAL WHERE FNC_USER(##SU_NAME##, ##U_PWD##) = 1 # mssql의 stored function인 fnc_mssql_user는 User-Name과 User-Password에 일치하는 레코드가 존재하면 'OK'를 반환 SELECT dbo.fnc_mssql_user(##SU_NAME##, ##U_PWD##) </pre> ===== NAS-ID(무선랜 SSID) 기반 인증 허용 ===== 외부 데이터베이스를 통한 인증을 특정 NAS-ID(무선랜 SSID)에 연결된 사용자만 허용하게 하려면 외부 데이터베이스 인증 등록 혹은 상세 정보 화면 하단의 고급을 클릭 하신 후 [[NAS Identifier|NAS-Identifier]]를 선택하면 해당 [[NAS Identifier|NAS-ID]]로 연결된 사용자만 외부 데이터베이스 인증을 시도 할 수 있습니다. <br><hr> 이 문서에서 사용한 틀: 틀:Note (원본 보기) 인증 데이터베이스 문서로 돌아갑니다.