(사용자 2명의 중간 판 16개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
__FORCETOC__ | __FORCETOC__ | ||
− | === RADIUS > 설정 > | + | === RADIUS > 설정 > 인증 데이터베이스 === |
+ | 사용자 인증 정보(User-Name / User-Password)를 저장하는 인증 데이터베이스는 imRAD N1 시스템 내부의 데이터베이스(로컬)와 고객 데이터베이스(외부)가 있습니다. | ||
+ | 사용자 인증 요청이 수신되면 로컬 데이터베이스에서 인증을 확인하여 존재하지 않으면 외부 데이터베이스를 확인하여 사용자 인증을 진행합니다. | ||
− | imRAD | + | ==== 로컬 데이터베이스 ==== |
− | 이 기능을 이용하면 고객사에 이미 구축되어있는 내부 데이터베이스를 이용하므로 별도로 사용자를 imRAD에 등록하지 않아도 고객사 내부 구성원에 대한 인증을 처리 할 수 있습니다.<ref>지원되는 DBMS 종류는 [[RADIUS | + | 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> | 외부 데이터베이스는 최대 4개까지 등록 할 수 있으며 2개 이상의 외부 데이터베이스가 등록되면 요청된 User-Name은 그 정보가 맞을때까지 모든 등록된 데이터베이스에 접속해 확인합니다.<br> | ||
이 기능을 수행하려면 암호화된 User-Password를 복호화해야 하는데 복호화 할 수 없는 [[RADIUS 인증 시험|EAP method]]로 ACCESS-REQUEST가 수신되면 외부 데이터베이스 인증을 수행 할 수 없습니다. | 이 기능을 수행하려면 암호화된 User-Password를 복호화해야 하는데 복호화 할 수 없는 [[RADIUS 인증 시험|EAP method]]로 ACCESS-REQUEST가 수신되면 외부 데이터베이스 인증을 수행 할 수 없습니다. | ||
+ | 따라서 안드로이드 단말의 경우 "2단계 인증"은 반드시 "GTC"를 사용해야 합니다.(MAC OS는 기본이 GTC입니다.) | ||
− | ==== 외부 데이터베이스 | + | {{note|외부 데이터베이스가 추가되면 1분내에 연결 상태가 자동으로 변경됩니다.}} |
+ | |||
+ | ===== 외부 데이터베이스 연결 속성 관리 ===== | ||
외부 데이터베이스 인증 목록 하단의 "추가" 버튼을 클릭하여 외부 데이터베이스 정보를 등록 할 수 있습니다.<br> | 외부 데이터베이스 인증 목록 하단의 "추가" 버튼을 클릭하여 외부 데이터베이스 정보를 등록 할 수 있습니다.<br> | ||
이 기능을 사용하려면 User-Name과 User-Password가 올바른지를 처리할 수 있는 Stored Function(권장) 혹은 View Table이 준비되어 있어야 합니다. Password는 복호화된 plaintext입니다. | 이 기능을 사용하려면 User-Name과 User-Password가 올바른지를 처리할 수 있는 Stored Function(권장) 혹은 View Table이 준비되어 있어야 합니다. Password는 복호화된 plaintext입니다. | ||
{| class="wikitable" | {| class="wikitable" | ||
! 이름 !! 필수 !! 설명 | ! 이름 !! 필수 !! 설명 | ||
+ | |- | ||
+ | | 사용자 인증 사용 || 예 || 설정된 외부 데이터베이스 인증 사용 여부를 선택합니다. | ||
|- | |- | ||
| 이름 || 아니오 || 표시되는 이름입니다. | | 이름 || 아니오 || 표시되는 이름입니다. | ||
17번째 줄: | 31번째 줄: | ||
| DBMS 종류 || 예 || DBMS를 선택하세요. | | DBMS 종류 || 예 || DBMS를 선택하세요. | ||
|- | |- | ||
− | | 서버 주소 || 예 || 데이터베이스 서버 IP 주소를 입력하세요. | + | | 서버 IP 주소 || 예 || 데이터베이스 서버 IP 주소를 입력하세요. |
|- | |- | ||
| 포트 || 예 || 데이터베이스 연결 포트를 입력하세요. | | 포트 || 예 || 데이터베이스 연결 포트를 입력하세요. | ||
25번째 줄: | 39번째 줄: | ||
| 비밀번호 || 예 || 데이터베이스 연결 비밀번호를 입력하세요.<ref>imRAD에 저장될때 암호화되어 저장됩니다.</ref> | | 비밀번호 || 예 || 데이터베이스 연결 비밀번호를 입력하세요.<ref>imRAD에 저장될때 암호화되어 저장됩니다.</ref> | ||
|- | |- | ||
− | | 데이터베이스 또는 SID || 예 || DBMS가 Oracle인 경우 | + | | 데이터베이스 또는 SID || 예 || DBMS가 Oracle인 경우 SID 또는 SERVICE_NAME을 선택하여 입력하시고<br>나머지는 기본 데이터베이스 혹은 대상 데이터베이스를 입력하세요. |
|- | |- | ||
− | | | + | | 쿼리 || 예 || User-Name과 Password를 확인 할 쿼리(Query)를 입력하세요.<br>쿼리 생성 방법은 아래 "외부 DB 쿼리"를 참고하세요. |
|- | |- | ||
|} | |} | ||
+ | |||
+ | ===== 고급 ===== | ||
+ | 인증 데이터베이스 저장 시 고급 옵션을 설정할 수 있으며, 기본값 설정을 권장합니다. | ||
+ | {| class="wikitable" | ||
+ | ! 이름 !! 필수 !! 설명 | ||
+ | |- | ||
+ | | NAS-ID || 예 || Any 또는 특정 nas-id 목록 | ||
+ | |- | ||
+ | | Retry Delay || 아니오 || retry delay(초) | ||
+ | |- | ||
+ | | LifeTime || 아니오 || life time(초) | ||
+ | |- | ||
+ | | Idle Timeout || 아니오 || idle timeout(초) | ||
+ | |- | ||
+ | | DB Pool Min || 아니오 || database pool min | ||
+ | |- | ||
+ | | DB Pool Max || 아니오 || database pool max | ||
+ | |- | ||
+ | | DB Pool Spare || 아니오 || database pool spare | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | <br> | ||
===== Stored Function을 이용한 외부 DB 쿼리 ===== | ===== Stored Function을 이용한 외부 DB 쿼리 ===== |
2024년 2월 22일 (목) 14:29 기준 최신판
RADIUS > 설정 > 인증 데이터베이스
사용자 인증 정보(User-Name / User-Password)를 저장하는 인증 데이터베이스는 imRAD N1 시스템 내부의 데이터베이스(로컬)와 고객 데이터베이스(외부)가 있습니다. 사용자 인증 요청이 수신되면 로컬 데이터베이스에서 인증을 확인하여 존재하지 않으면 외부 데이터베이스를 확인하여 사용자 인증을 진행합니다.
로컬 데이터베이스
radiusd(RADIUS 데몬 서비스)가 로컬 데이터베이스에 접속하기 위한 정보이며 변경 할 필요가 없으며 이중화를 구성하면 자동으로 변경됩니다.
로컬 데이터베이스에 연결이되지 않는 경우 경우 비밀번호를 다시 저장 후 "연결 시험" 버튼을 클릭하여 확인할 수 있습니다.
외부 데이터베이스
imRAD N1 로컬 데이터베이스에 존재하는 사용자 계정이 아닌 고객 데이터베이스 통해 인증을 처리하기 위한 기능으로 RADIUS 클라이언트(스마트폰, 테블릿, 노트북, PC 등)에서 입력한 User-Name과 User-Password가 올바른지를 외부 데이터베이스에 쿼리(Query)를 실행 해 그 결과를 확인합니다.
이 기능을 이용하면 고객사에 이미 구축되어있는 내부 데이터베이스를 이용하므로 별도로 사용자를 imRAD에 등록하지 않아도 고객사 내부 구성원에 대한 인증을 처리 할 수 있습니다.[1]
외부 데이터베이스는 최대 4개까지 등록 할 수 있으며 2개 이상의 외부 데이터베이스가 등록되면 요청된 User-Name은 그 정보가 맞을때까지 모든 등록된 데이터베이스에 접속해 확인합니다.
이 기능을 수행하려면 암호화된 User-Password를 복호화해야 하는데 복호화 할 수 없는 EAP method로 ACCESS-REQUEST가 수신되면 외부 데이터베이스 인증을 수행 할 수 없습니다.
따라서 안드로이드 단말의 경우 "2단계 인증"은 반드시 "GTC"를 사용해야 합니다.(MAC OS는 기본이 GTC입니다.)
외부 데이터베이스가 추가되면 1분내에 연결 상태가 자동으로 변경됩니다.
외부 데이터베이스 연결 속성 관리
외부 데이터베이스 인증 목록 하단의 "추가" 버튼을 클릭하여 외부 데이터베이스 정보를 등록 할 수 있습니다.
이 기능을 사용하려면 User-Name과 User-Password가 올바른지를 처리할 수 있는 Stored Function(권장) 혹은 View Table이 준비되어 있어야 합니다. Password는 복호화된 plaintext입니다.
이름 | 필수 | 설명 |
---|---|---|
사용자 인증 사용 | 예 | 설정된 외부 데이터베이스 인증 사용 여부를 선택합니다. |
이름 | 아니오 | 표시되는 이름입니다. |
DBMS 종류 | 예 | DBMS를 선택하세요. |
서버 IP 주소 | 예 | 데이터베이스 서버 IP 주소를 입력하세요. |
포트 | 예 | 데이터베이스 연결 포트를 입력하세요. |
사용자 아이디 | 예 | 데이터베이스 연결 ID를 입력하세요. |
비밀번호 | 예 | 데이터베이스 연결 비밀번호를 입력하세요.[2] |
데이터베이스 또는 SID | 예 | DBMS가 Oracle인 경우 SID 또는 SERVICE_NAME을 선택하여 입력하시고 나머지는 기본 데이터베이스 혹은 대상 데이터베이스를 입력하세요. |
쿼리 | 예 | User-Name과 Password를 확인 할 쿼리(Query)를 입력하세요. 쿼리 생성 방법은 아래 "외부 DB 쿼리"를 참고하세요. |
고급
인증 데이터베이스 저장 시 고급 옵션을 설정할 수 있으며, 기본값 설정을 권장합니다.
이름 | 필수 | 설명 |
---|---|---|
NAS-ID | 예 | Any 또는 특정 nas-id 목록 |
Retry Delay | 아니오 | retry delay(초) |
LifeTime | 아니오 | life time(초) |
Idle Timeout | 아니오 | idle timeout(초) |
DB Pool Min | 아니오 | database pool min |
DB Pool Max | 아니오 | database pool max |
DB Pool Spare | 아니오 | database pool spare |
Stored Function을 이용한 외부 DB 쿼리
결과가 올바른 경우 반드시 'OK'를 반환 할 수 있도록 SELECT 구문을 사용하거나 Stored Function을 통해 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로 연결된 사용자만 외부 데이터베이스 인증을 시도 할 수 있습니다.
- ↑ 지원되는 DBMS 종류는 ImRAD RADIUS를 참고하세요.
- ↑ imRAD에 저장될때 암호화되어 저장됩니다.