本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用外部身份验证
默认情况下,Amazon DCV 客户端身份验证委托给底层操作系统。对于 Windows Amazon DCV 服务器,将身份验证委托给 WinLogon。对于 Linux Amazon DCV 服务器,身份验证委托给 Linux PAM。
您可以将 Amazon 配置DCV为使用外部身份验证服务器对客户端进行身份验证。这样,您就可以使用现有的身份验证系统了。通过外部身份验证,Amazon 可以DCV利用您现有的登录机制,将身份验证委托给外部身份验证服务器。
外部身份验证验证具有DCV服务器访问权限的用户是否可以使用会话创建。与系统身份验证不同,外部身份验证不会根据底层操作系统验证您的用户身份,除非您将自己的外部身份验证器设置为这样做。
DCV会话管理器内置了外部身份验证器。要使用此功能,您的DCV服务器需要使用会话管理器地址设置auth-token-verifier参数。
要使用外部身份验证服务器,您必须具备以下条件:
-
登录机制 - 这是用户登录时使用的前端机制。它应该能够使用您现有的证书验证系统来验证您的用户,并且应该能够生成令牌并将其提供给 Amazon DCV 服务器。有关更多信息,请参阅 使用令牌。
-
身份验证服务器 - 这是对登录机制生成的令牌进行身份验证的服务器。该服务器应该能够从亚马逊DCV服务器接收包含令牌的 HTTP (S) POST 请求,执行必要的身份验证,然后将响应发送回亚马逊DCV服务器。有关实施身份验证服务器的更多信息,请参阅身份验证服务要求。
-
Amazon DCV DCV 服务器配置-必须将亚马逊服务器配置为使用外部身份验证服务器。有关更多信息,请参阅 亚马逊DCV服务器配置。
亚马逊DCV服务器配置
您必须将 Amazon DCV 服务器配置为使用外部身份验证服务。
使用令牌
生成令牌后,您必须能够将其发送到 Amazon DCV 服务器。使用 Web 浏览器客户端,按URL如下方式将令牌附加到连接中:
https://
server_hostname_or_IP
:port
/?authToken=token
#session_id
例如:
https://my-dcv-server.com:8443/?authToken=1234567890abcdef#my-session
身份验证服务要求
您的自定义身份验证服务可以在 Amazon DCV 服务器的同一主机上运行,也可以在单独的主机上运行。身份验证服务必须侦听来自 Amazon DCV 服务器的 HTTP (S) 个POST请求。
以下显示了 Amazon DCV 服务器使用的POST请求格式。
POST / HTTP/1.1 Content-Type: application/x-www-form-urlencoded sessionId=
session_id
&authenticationToken=token
&clientAddress=client_address
您的身份验证服务负责确定提供的令牌是否有效。
验证令牌后,身份验证服务器必须将响应返回给 Amazon DCV 服务器。响应正文必须包含以下内容之一,具体取决于身份验证过程的结果:
-
如果身份验证成功,身份验证服务将返回结果
yes
和用户标识符。例如:<auth result="yes"><username>
username
</username></auth> -
如果身份验证失败,身份验证服务将返回结果
no
。例如:<auth result="no"><message>
message
</message></auth>
DcvSimpleExternalAuthenticator
Amazon DCV 附带了一个名为、的参考外部身份验证服务器DcvSimpleExternalAuthenticator
。 DcvSimpleExternalAuthenticator 是一个 Python 脚本,您可以使用它作为创建自己的自定义身份验证服务器的起点。
DcvSimpleExternalAuthenticator 服务器支持HTTP和HTTPS,并且它必须在安装了 Amazon 服务器的同一DCV台服务器上运行。默认情况下, DcvSimpleExternalAuthenticator 监听端口8444
上的请求。如果需要,您可以更改端口。为此,请使用常用的文本编辑器打开 /etc/dcv/simpleextauth.conf
,找到 EXTAUTH_PORT
参数,然后将现有值替换为所需的端口号。
要使用 DcvSimpleExternalAuthenticator,必须安装nice-dcv-simple-external-authenticator
软件包。有关更多信息,请参阅 安装 Amazon DCV 服务器。
使用简单外部身份验证器
导航到您的身份验证目录。
sudo mkdir -p /var/run/dcvsimpleextauth
生成您的身份验证令牌。
在该示例中,
123456
是示例身份验证器令牌,session-123
是示例会话 ID,username
是用户。echo "123456" | sudo dcvsimpleextauth add-user —session session-123 --auth-dir /var/run/dcvsimpleextauth/ --user username -append
启动您的服务器。
sudo dcvsimpleextauth --port 8444 --auth-dir /var/run/dcvsimpleextauth/ start-server
在服务器运行后,测试配置以进行验证。
再次使用该示例,测试将按以下方式运行:
curl -k http://localhost:8444 -d sessionId=session-123 -d authenticationToken=123456
如果成功,您将收到身份验证结果
yes
。