本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用外部身分驗證
根據預設,Amazon DCV用戶端身分驗證會委派給基礎作業系統。使用 Windows Amazon DCV 伺服器時,身分驗證會委派給 WinLogon。使用 Linux Amazon DCV 伺服器時,身分驗證會委派給 Linux PAM。
您可以設定 Amazon DCV 使用外部身分驗證伺服器來驗證用戶端。這可讓您使用現有的身分驗證系統。透過外部身分驗證,Amazon 會DCV利用您現有的登入機制,並將身分驗證委派給外部身分驗證伺服器。
外部身分驗證會驗證具有DCV伺服器存取權的使用者,以啟用工作階段建立的使用。除非您設定自己的外部身分驗證器,否則不會像系統身分驗證一樣,針對基礎作業系統對使用者進行身分驗證。
DCV Session Manager 內建外部身分驗證器。若要使用此功能,您的DCV伺服器將需要使用 Session Manager 地址設定 auth-token-verifier 參數。
若要使用外部身分驗證伺服器,您必須備妥下列項目:
-
登入機制 — 這是您的使用者用來登入的前端機制。它應該能夠使用您現有的憑證驗證系統來驗證您的使用者,並且應該能夠產生權杖並將其提供給 Amazon DCV 伺服器。如需詳細資訊,請參閱使用權杖。
-
身分驗證伺服器 — 這是驗證登入機制產生的權杖的伺服器。此伺服器應能夠從 Amazon DCV 伺服器接收包含權杖的 HTTP(S) POST請求、執行必要的身分驗證,然後將回應傳回 Amazon DCV 伺服器。如需實作身分驗證伺服器的詳細資訊,請參閱 身分驗證服務需求。
-
Amazon DCV Server 組態:Amazon DCV 伺服器必須設定為使用外部身分驗證伺服器。如需詳細資訊,請參閱Amazon DCV Server 組態。
Amazon DCV Server 組態
您必須設定 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 Server。
使用簡易外部身分驗證器
導覽至您的身分驗證目錄。
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
。