設定相互 SSL 驗證

使用相互 SSL,您可以為 Tableau Desktop、Tableau Mobile 和其他認可的 Tableau 用戶端的使用者提供安全的 Tableau Server 直接存取體驗。借助相互 SSL,當具有有效 SSL 憑證的用戶端連線到 Tableau Server 時,Tableau Server 將確認存在用戶端憑證,並基於用戶端憑證中的使用者名對使用者進行驗證。如果用戶端沒有有效的 SSL 憑證,則 Tableau Server 會拒絕連線。

您也可以將 Tableau Server 設定為在相互 SSL 失敗的情況下回退為使用使用者名/密碼驗證。此外,無論是否已設定後援驗證,使用者都可以使用具有使用者名稱和密碼(若存在)的 REST API 登入。

使用者驗證工作階段時間限制

使用者使用相互 SSL 登入時,驗證工作階段由與管理 Tableau Server 全域驗證工作階段設定相同的方法管理。

對於使用 Web 瀏覽器連線到 Tableau Server 的用戶端,安全強化檢查清單中描述了全域驗證工作階段的設定,請請參閱 10.驗證會話生命週期設定

已連線的用戶端(Tableau Desktop、Tableau Mobile、Tableau Prep Builder 和 Bridge)的工作階段會使用 OAuth 權杖透過重新建立工作階段來保持使用者登入。預設情況下,OAuth 用戶端權杖會在一年後重設。如果用戶端權杖在 14 天內未使用,則它將過期。可透過設定 refresh_token.absolute_expiry_in_secondsrefresh_token.idle_expiry_in_seconds 選項來變更這些值。請參閱 tsm configuration set 選項

憑證使用情況

在啟用和設定相互 SSL 之前,必須設定外部 SSL。外部 SSL 會對用戶端進行 Tableau Server 驗證,並使用設定外部 SSL 時所需的憑證和金鑰對工作階段進行加密。

對於相互 SSL,需要額外的憑證檔案。該檔案是 CA 憑證檔案的串連。檔案類型必須為 .crt。「CA」為憑證授權單位,它可向將連線到 Tableau Server 的用戶端電腦頒發憑證。上載 CA 憑證檔案的動作可建立信任,從而讓 Tableau Server 對用戶端電腦提供的各個憑證進行驗證。

作為災難復原計劃的一部分,我們建議將憑證和撤銷(若適用)檔案的備份儲存在 Tableau Server 之外的安全位置。新增至 Tableau Server 的憑證和撤銷檔案將由用戶端檔案服務儲存並散發至其他節點。但是,這些檔案不會以可復原的格式儲存。請參閱Tableau Server Client File Service

RSA 金鑰和 ECDSA 曲線大小

用於相互 SSL 的 CA 憑證必須具有大小為 2048 的 RSA 金鑰,或大小為 256 的 ECDSA 曲線。

可以透過設定相應的組態金鑰將 Tableau Server 設定為接受安全性較低的大小:

  • ssl.client_certificate_login.min_allowed.rsa_key_size
  • ssl.client_certificate_login.min_allowed.elliptic_curve_size

請參閱 tsm configuration set 選項

用戶端憑證要求

使用相互 SSL 向 Tableau Server 進行身分驗證的使用者必須提供滿足最低安全性要求的用戶端憑證。

簽署演算法

用戶端憑證必須使用 SHA-256 或強度更高的簽署演算法。

已設定 SSL 相互驗證的 Tableau Server 將封鎖使用者透過使用 SHA-1 簽署演算法的用戶端憑證進行的驗證。

嘗試透過 SHA-1 用戶端憑證登入的使用者會遇到「無法登入」錯誤,並且會在 VizPortal 記錄檔中看到以下錯誤:

Unsupported client certificate signature detected: [certificate Signature Algorithm name]

可以透過設定 ssl.client_certificate_login.blocklisted_signature_algorithms tsm 組態選項將 Tableau Server 設定為接受安全性較低的 SHA-1 簽署演算法。

RSA 金鑰和 ECDSA 曲線大小

用於相互 SSL 的用戶端憑證必須具有大小為 2048 的 RSA 金鑰,或大小為 256 的 ECDSA 曲線。

若用戶端憑證未滿足上述要求,則 Tableau Server 會讓來自這些用戶端憑證的相互驗證請求失敗。可以透過設定相應的組態金鑰將 Tableau Server 設定為接受安全性較低的大小:

  • ssl.client_certificate_login.min_allowed.rsa_key_size
  • ssl.client_certificate_login.min_allowed.elliptic_curve_size

請參閱 tsm configuration set 選項

  1. 針對與來往 Tableau Server 的外部 HTTP 流量設定 SSL

  2. 在瀏覽器中開啟 TSM:

    https://<tsm-computer-name>:8850。有關詳情,請參閱登入到 Tableau 服務管理器 Web UI

  3. [設定] 索引標籤上,選取 [使用者身分和存取] > [驗證方法]

  4. [驗證方法] 下的下拉式功能表中選取 [相互 SSL]

  5. 在 [相互 SSL] 下,選取 [透過用戶端憑證使用相互 SSL 和自動登入]

  6. 按一下選取檔案,然後將憑證授權單位 (CA) 憑證檔案上載到伺服器。

    檔案 (.crt) 是一個多合一檔案,其中包含用於用戶端驗證的 CA 憑證。上載的檔案必須是各種 PEM 編碼的憑證檔案的串連,按慣用順序排列。

  7. 輸入組織的其餘 SSL 設定資訊。

    使用者名格式:當 Tableau Server 設定為使用相互 SSL 時,伺服器將從用戶端憑證中獲取使用者名,以便能夠為用戶端使用者建立直接登入。Tableau Server 使用的名稱取決於如何設定 Tableau Server 來進行使用者驗證。

    • 本機驗證 — Tableau Server 使用憑證中的 UPN(使用者主體名稱)。
    • Active Directory (AD)Tableau Server使用 LDAP(羽量級目錄存取協定)來獲取使用者名。

    或者,您可以將 Tableau Server 設定為使用用戶端憑證中的 CN(公用名稱)。

    設定相互 SSL 螢幕擷取畫面

  8. 輸入設定資訊後,按一下 [儲存暫止的變更]

  9. 按一下頁首的 [暫止的變更]

  10. 按一下 [套用變更並重新啟動]

步驟 1:需要為外部伺服器通訊使用 SSL

若要將 Tableau Server 設定為對 Tableau Server 和 Web 用戶端之間的外部通訊使用 SSL,請按如下方式執行 external-ssl enable 命令,並提供伺服器憑證的 .crt 和 .key 檔案的名稱:

tsm security external-ssl enable --cert-file <file.crt> --key-file <file.key>

  • 對於 --cert-file--key-file,指定在其中儲存了 CA 頒發的 SSL 憑證 (.crt) 和金鑰 (.key) 檔案的位置和檔案名。

  • 上面的命令假設您已作為在 Tableau Server 上具有 [伺服器管理員] 網站角色的使用者登入。您可以改用 -u-p 參數來指定管理員使用者和密碼。

  • 如果憑證金鑰檔需要密碼,請包括 --passphrase 參數和值。

步驟 2:設定並啟用相互 SSL

在伺服器和每個用戶端之間新增相互驗證,並允許 Tableau 用戶端使用者在第一次提供其認證後直接進行驗證。

  1. 執行以下命令:

    tsm authentication mutual-ssl configure --cert-file <file.crt>

    對於 --cert-file,指定憑證授權單位 (CA) 憑證檔案的位置和檔案名稱。

    檔案 (.crt) 是一個多合一檔案,其中包含用於用戶端驗證的 CA 憑證。上載的檔案必須是各種 PEM 編碼的憑證檔案的串連,按慣用順序排列。

  2. 執行以下命令以啟用相互 SSL 並應用變更:

    tsm authentication mutual-ssl enable

    tsm pending-changes apply

    如果擱置組態需要重新啟動伺服器,pending-changes apply 命令將顯示提示,讓您知道即將重新啟動。即使伺服器已停止,也會顯示提示,但在這種情況下不會重新啟動。您可以使用 --ignore-prompt 選項隱藏提示,但這樣做不會改變重新啟動行為。如果變更不需要重新啟動,則不會出現提示即可套用變更。有關詳情,請參閱tsm pending-changes apply

其他相互 SSL 選項

可以使用 mutual-ssl configureTableau Server 設定為支援以下選項。

有關詳情,請參閱 tsm authentication mutual-ssl <commands>

後備驗證

如果 Tableau Server 設定為使用相互 SSL,則會自動進行驗證,且用戶端必須具有有效的憑證。您可以設定 Tableau Server 以允許回退選項,以接受使用者名和密碼驗證。

tsm authentication mutual-ssl configure -fb true

即使以上選項設定為 false,Tableau Serer 仍可透過 REST API 用戶端接受使用者名稱與密碼驗證。

使用者名對應

Tableau Server 設定為使用相互 SSL 時,伺服器將透過從用戶端憑證中獲取使用者名來直接驗證使用者的身分。Tableau Server使用的名稱取決於如何設定伺服器來進行使用者驗證。

  • 本機驗證 — 使用憑證中的 UPN(使用者主體名稱)。

  • Active Directory (AD) — 使用 LDAP(輕量目錄存取協定)來獲取使用者名。

您可以替代任一預設值以將 Tableau Server 設定為使用公用名稱。

tsm authentication mutual-ssl configure -m cn

有關詳情,請參閱在相互驗證過程中將用戶端憑證對應到使用者

憑證撤銷清單 (CRL)

如果懷疑私密金鑰已洩露,或者,如果憑證授權 (CA) 沒有正確頒發憑證,則您可能需要指定 CRL。

tsm authentication mutual-ssl configure -rf <revoke-file.pem>

感謝您的意見回饋!