RADIUS > 설정 > 외부 데이터베이스 인증
imRAD 내부 데이터베이스에 존재하는 사용자 계정이 아닌 고객 데이터베이스 혹은 외부의 데이터베이스를 통해 인증을 처리하기 위한 기능입니다. RADIUS 클라이언트(스마트폰, 테블릿, 노트북, PC 등)에서 입력한 User-Name과 Password가 올바른지를 확인할때 imRAD는 외부 데이터베이스를 통해 시도할 수 있습니다. 고객사에 이미 구축되어있는 내부 데이터베이스를 이용하면 별도로 사용자를 등록하지 않아도 고객사 내부 구성원에 대해 인증처리를 할 수 있습니다.[1]
외부 데이터베이스 추가
외부 데이터베이스 인증 목록 하단의 "추가" 버튼을 클릭하여 외부 데이터베이스 정보를 등록 할 수 있습니다. 이 기능을 사용하려면 User-Name과 Password를 수신받아 올바른지를 처리할 수 있는 Stored Function(권장) 혹은 View Table이 준비되어 있어야 합니다. Password는 복호화된 plaintext입니다.
이름 | 필수 | 설명 |
---|---|---|
이름 | 아니오 | 표시되는 이름입니다. |
DBMS 종류 | 예 | DBMS를 선택하세요. |
서버 주소 | 예 | 데이터베이스 서버 IP 주소를 입력하세요. |
포트 | 예 | 데이터베이스 연결 포트를 입력하세요. |
사용자 아이디 | 예 | 데이터베이스 연결 ID를 입력하세요. |
비밀번호 | 예 | 데이터베이스 연결 비밀번호를 입력하세요.[2] |
데이터베이스 또는 SID | 예 | DBMS가 Oracle인 경우 SID를 입력하시고 나머지는 기본 데이터베이스 혹은 대상 데이터베이스를 입력하세요. |
외부 DB 쿼리 | 예 | User-Name과 Password를 확인 할 쿼리(Query)를 입력하세요. 쿼리 생성 방법은 아래 "외부 DB 쿼리"를 참고하세요. |
Stored Function을 이용한 외부 DB 쿼리
결과가 올바른 경우 반드시 'OK'를 반환 할 수 있도록 SELECT 구분을 사용하거니 Stored Function 내부에서 User-Name과 User-Password에 일치하는 레코드가 존재하면 'OK'를 반환하게 정의하세요.
User-Name은 ##SU_NAME##로 입력하고 User-Password는 ##U_PWD##로 입력하세요.
# 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##)
NAS-ID(무선랜 SSID) 기반 인증 허용
외부 데이터베이스를 통한 인증을 특정 NAS-ID(무선랜 SSID)에 연결된 사용자만 허용하게 하려면 외부 데이터베이스 인증 등록 혹은 상세 정보 화면 하단의 고급을 클릭 하신 후 NAS-Identifier를 선택하면 해당 NAS-ID로 연결된 사용자만 외부 데이터베이스 인증을 시도 할 수 있습니다.