외부 인증 사용 - NICE DCV

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

외부 인증 사용

기본적으로 NICE DCV 클라이언트 인증이 기본 운영 체제에 위임됩니다. Windows NICE DCV 서버에서는 인증이 위임됩니다. WinLogon Linux NICE DCV 서버의 경우 인증이 Linux PAM에 위임됩니다.

외부 인증 서버를 사용하여 클라이언트를 인증하도록 NICE DCV를 구성할 수 있습니다. 이렇게 하면 기존 인증 시스템을 사용할 수 있습니다. NICE DCV는 외부 인증을 통해 기존 로그인 메커니즘을 활용하여 외부 인증 서버에 인증을 위임합니다.

외부 인증은 DCV 서버 액세스 권한이 있는 사용자를 인증하여 세션 생성을 사용할 수 있도록 합니다. 자체 외부 인증자를 직접 설정하지 않는 한 시스템 인증처럼 기본 OS에 대해 사용자를 인증하지 않습니다.

DCV Session Manager에는 외부 인증자가 내장되어 있습니다. 이 기능을 사용하려면 DCV 서버에서 세션 관리자 주소를 사용하여 auth-token-verifier매개 변수를 설정해야 합니다.

외부 인증자 서버를 사용하려면 다음을 갖추고 있어야 합니다.

  • 로그인 메커니즘 - 사용자가 로그인할 때 사용하는 프런트엔드 메커니즘입니다. 기존의 보안 인증 확인 시스템을 사용하여 사용자를 확인할 수 있어야 하며 토큰을 생성하여 NICE DCV 서버에 제공할 수 있어야 합니다. 자세한 설명은 토큰 사용 섹션을 참조하세요.

  • 인증 서버 - 로그인 메커니즘으로 생성된 토큰을 인증하는 서버입니다. 이 서버는 토큰이 포함된 NICE DCV 서버로부터 HTTP(S) POST 요청을 수신하고 필요한 인증을 수행한 다음, NICE DCV 서버로 응답을 다시 보낼 수 있어야 합니다. 인증 서버를 구현하는 방법에 대한 자세한 내용은 인증 서비스 요구 사항 섹션을 참조하세요.

  • NICE DCV 서버 구성 - NICE DCV 서버는 외부 인증 서버를 사용하도록 구성해야 합니다. 자세한 설명은 NICE DCV 서버 구성 섹션을 참조하세요.

NICE DCV 서버 구성

외부 인증 서비스를 사용하도록 NICE DCV 서버를 구성해야 합니다.

Linux NICE DCV server
Linux에서 외부 인증 서버를 지정하려면 다음과 같이 하세요.
  1. /etc/dcv/로 이동하고 원하는 텍스트 편집기에서 dcv.conf를 엽니다.

  2. [security] 섹션에서 auth-token-verifier 파라미터를 찾고 기존 값을 외부 인증 서버의 URL과 통신에 사용되는 포트로 바꿉니다. 이때 형식은 url:port와 같습니다. 예를 들어 를 DcvSimpleExternalAuthenticator 사용하는 경우 다음을 지정하십시오. http://127.0.0.1:8444

    auth-token-verifier 섹션에 [security] 파라미터가 없는 경우, 다음 형식을 사용하여 수동으로 추가합니다.

    [security] auth-token-verifier=url:port
  3. 파일을 저장하고 닫습니다.

Windows NICE DCV server
Windows에서 외부 인증 서버를 지정하려면 다음과 같이 하세요.
  1. Windows 레지스트리 편집기를 엽니다.

  2. HKEY_USERS/S-1-5-18/Software/GSettings/com/nicesoftware/dcv/ 키로 이동합니다.

  3. 보안 auth-token-verifier매개변수에서 매개변수를 찾습니다.

  4. 다음 중 하나를 수행합니다.

    • 값 데이터의 경우 외부 인증 서버의 URL과 통신할 포트를 url:port 형식으로 입력합니다.

      예를 들어 를 DcvSimpleExternalAuthenticator 사용하는 경우 다음을 지정하십시오http://127.0.0.1:8444.

    • 보안 섹션에 auth-token-verifier매개변수가 없는 경우 매개 변수를 에 추가하십시오 PowerShell. 구성 파라미터 수정을 참조하세요.

  5. Windows 레지스트리 편집기를 닫습니다.

  6. NICE DCV 서버를 중지하고 다시 시작합니다.

토큰 사용

토큰을 생성한 후에는 NICE DCV 서버로 보낼 수 있어야 합니다. 웹 브라우저 클라이언트를 사용하여 다음과 같이 연결 URL에 토큰을 추가합니다.

https://server_hostname_or_IP:port/?authToken=token#session_id

예:

https://my-dcv-server.com:8443/?authToken=1234567890abcdef#my-session

인증 서비스 요구 사항

사용자 지정 인증 서비스는 NICE DCV 서버의 동일한 호스트에서 실행하거나 별도의 호스트에서 실행할 수 있습니다. 인증 서비스는 NICE DCV 서버의 HTTP(S) POST 요청을 수신해야 합니다.

다음은 NICE DCV 서버에서 사용하는 POST 요청 형식을 보여줍니다.

POST / HTTP/1.1 Content-Type: application/x-www-form-urlencoded sessionId=session_id&authenticationToken=token&clientAddress=client_address

인증 서비스는 제공된 토큰이 유효한지 여부를 판단합니다.

토큰의 유효성을 검사한 후 인증 서버는 NICE DCV 서버에 응답을 반환해야 합니다. 응답 본문에는 인증 프로세스의 결과에 따라 다음 중 하나가 반드시 포함되어야 합니다.

  • 인증에 성공하면 인증 서비스는 결과 yes 및 사용자 식별자를 반환합니다. 예:

    <auth result="yes"><username>username</username></auth>
  • 인증에 실패하면 인증 서비스는 결과 no를 반환합니다. 예:

    <auth result="no"><message>message</message></auth>

DcvSimpleExternalAuthenticator

NICE DCV는 DcvSimpleExternalAuthenticator라는 참조 외부 인증 서버와 함께 제공됩니다. DcvSimpleExternalAuthenticator 는 사용자 지정 인증 서버를 만들기 위한 시작점으로 사용할 수 있는 단일 Python 스크립트입니다.

DcvSimpleExternalAuthenticator 서버는 HTTP 및 HTTPS를 지원하며 NICE DCV 서버가 설치된 동일한 서버에서 실행되어야 합니다. 기본적으로 는 포트에서 요청을 DcvSimpleExternalAuthenticator 수신합니다. 8444 필요한 경우 포트를 변경할 수 있습니다. 이렇게 하려면 원하는 텍스트 편집기로 /etc/dcv/simpleextauth.conf를 열고 EXTAUTH_PORT 파라미터를 찾은 다음 기존 값을 필요한 포트 번호로 바꾸세요.

사용하려면 DcvSimpleExternalAuthenticator nice-dcv-simple-external-authenticator 패키지를 설치해야 합니다. 자세한 설명은 NICEDCV서버 설치 섹션을 참조하세요.

단순 외부 인증자 사용

  1. 인증 디렉터리로 이동합니다.

    sudo mkdir -p /var/run/dcvsimpleextauth

  2. 인증 토큰을 생성합니다.

    이 예제에서 123456은 샘플 인증자 토큰, session-123은 샘플 세션 ID, 는 username은 사용자입니다.

    echo "123456" | sudo dcvsimpleextauth add-user —session session-123 --auth-dir /var/run/dcvsimpleextauth/ --user username -append

  3. 서버를 시작합니다.

    sudo dcvsimpleextauth --port 8444 --auth-dir /var/run/dcvsimpleextauth/ start-server

  4. 서버가 실행되면 구성을 테스트하여 유효성을 검사합니다.

    다시 한 번 이 예제를 사용하면 다음과 같이 테스트가 실행됩니다.

    curl -k http://localhost:8444 -d sessionId=session-123 -d authenticationToken=123456

    테스트에 성공하면 인증 결과로 yes를 받게 됩니다.