使用外部身份验证 - NICE DCV
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用外部身份验证

默认情况下,NICE DCV 客户端身份验证工作委派给底层操作系统。使用 Windows NICE DCV 服务器,身份验证工作委派给 WinLogon。使用 Linux NICE DCV 服务器,身份验证工作委派给 Linux PAM。

您可以将 NICE DCV 配置为使用外部身份验证服务器对客户端进行身份验证。这使您能够使用现有的身份验证系统。通过外部身份验证,NICE DCV 利用现有的登录机制,并将身份验证委派给外部身份验证服务器。

要使用外部身份验证服务器,您必须安装以下内容:

  • 登录机制-这是您的用户用于登录的前端机制。它应该能够通过使用现有的凭据验证系统验证您的用户,并且它应该能够生成令牌并将其提供给 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. 找到auth-token-verifier中的参数[security]部分,并将现有值替换为外部身份验证服务器的 URL 和要通信的端口,格式如下:url:port。 例如,如果您使用的是 DCVSIME 外部身份验证器,则指定以下内容:http://127.0.0.1:8444

    如果 auth-token-verifier 部分中没有 [security] 参数,则使用以下格式手动添加此参数:

    [security] auth-token-verifier=url:port
  3. 保存并关闭 文件。

Windows NICE DCV server

在 Windows 上指定外部身份验证服务器的步骤

  1. 打开 Windows 注册表编辑器,并导航到HKEY_USERS/S-1-5-18/Software/GSettings/com/nicesoftware/dcv/安全性/密钥。

  2. 打开auth-token-verifier参数。适用于Value data中,输入外部身份验证服务器的 URL 以及要通信的端口,格式如下:url:port。 例如,如果您使用的是 DCVSIME 外部身份验证器,则指定以下内容:http://127.0.0.1:8444

    注意

    如果该参数不存在,则创建新的 String 参数并将其命名为auth-token-verifier

  3. 关闭 Windows 注册表编辑器。

  4. 停止RESTARTNICE DCV 服务器。

使用令牌

生成令牌后,您必须能够将其发送到 NICE DCV 服务器。使用 Web 浏览器客户端,将令牌附加到连接 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"/>

DcvSimpleExternalAuthenticator

NICE DCV 附带一个名为的参考外部身份验证服务器,DcvSimpleExternalAuthenticator。DCVSimpleExternal 外部身份验证器是一个 Python 脚本,您可以使用起点创建自己的自定义身份验证服务器。

DCVSIM 外部身份验证器服务器支持 HTTP 和 HTTPS,并且它必须在安装 NICE DCV 服务器的同一服务器上运行。默认情况下,DCVSimple-外部身份验证器侦听端口上的请求8444。如果需要,您可以更改端口。要执行此操作,请打开/etc/dcv/simpleextauth.conf使用首选文本编辑器查找EXTAUTH_PORT参数,并将现有值替换为所需的端口号。

要使用 DCVSIME 外部身份验证器,您必须安装nice-dcv-simple-external-authenticator软件包。有关更多信息,请参阅安装 NICE DCV 服务器

要安装 DCVSimpleExternal 外部身份验证器,请运行以下命令:

$ dcvsimpleextauth start-server