範例:SSL 憑證 - 產生金鑰和 CSR

重要資訊:此範例旨在為具有 SSL 要求和設定經驗的 IT 專業人員提供一般指引。本文中描述的過程只是您可用於產生所需檔案的許多可用方法之一。應將此處描述的過程視為一個範例,而不是建議。


將 Tableau Server 設定為使用安全通訊端層 (SSL) 加密時,將可幫助確保對伺服器的存取是安全的,並且在 Tableau Server 和 Tableau Desktop 之間傳送的資料受到保護。

Tableau Server 使用 Apache,其中包括了 OpenSSL(連結在新視窗開啟)。您可以使用 OpenSSL 工具包來產生金鑰檔和隨後可用於獲取簽署 SSL 憑證的憑證簽署請求 (CSR)。

附註:從 Tableau Server 版本 2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 及更高版本開始,Tableau Server 執行 OpenSSL 3.1。

產生金鑰和 CSR 的步驟

若要將 Tableau Server 設定為使用 SSL,您必須有 SSL 憑證。若要獲取 SSL 憑證,請完成以下步驟:

  1. 設定 OpenSSL 設定環境變數(可選)。
  2. 產生金鑰檔。
  3. 建立憑證簽署請求 (CSR)
  4. 將 CSR 傳送給憑證授權 (CA) 以獲取 SSL 憑證
  5. 使用金鑰和憑證將 Tableau Server 設定為使用 SSL

您可以在 Apache Software Foundation 網站的 SSL 常見問題頁面(連結在新視窗開啟)上找到其他資訊。

針對多個網域名稱設定憑證

Tableau Server 允許為多個域使用 SSL。若要設定此環境,您需要修改 OpenSSL 設定檔 openssl.conf,並在 Tableau Server 上設定使用者備用名稱 (SAN) 憑證。請參閱下面的適用於 SAN 憑證:修改 OpenSSL 設定檔。

設定 OpenSSL 設定環境變數(可選)

為了避免在每次使用 openssl.exe 時都使用 -config 參數,您可以使用 OPENSSL_CONF 環境變數來確保使用正確的設定檔,並且在本文後面的過程中進行的所有設定變更均組建預期結果(例如,您必須設定環境變數來向憑證中新增 SAN)。

以管理員身分開啟命令提示符,並執行以下命令:

set OPENSSL_CONF=c:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\conf\openssl.cnf

附註:在設定 Open SSL 組態環境變數時,請不要將檔案路徑括在引號內。

產生金鑰

產生一個將用於產生憑證簽署請求的金鑰檔。

  1. 以管理員身份開啟命令提示字元,並巡覽到 Tableau Server 的 Apache 目錄。例如,執行以下命令:

    cd C:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\bin

  2. 執行以下命令以建立金鑰檔:

    openssl.exe genrsa -out <yourcertname>.key 4096

    附註:
    • 此命令為金鑰使用 4096 位元長度。您應選取至少 2048 位的位長度,因為使用較短位長度加密的通訊不夠安全。如果未提供值,則使用 512 位。
    • 要使用 Tableau Server 版本 2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 及更高版本建立 PKCS#1 RSA 金鑰,必須使用附加選項 -traditional 執行 openssl genrsa" 基於 OpenSSL 3.1 的命令。有關該選項的更多資訊,請參閱 https://www.openssl.org/docs/man3.1/man1/openssl-rsa.html(連結在新視窗開啟)

建立憑證簽署請求以傳送到憑證授權

使用您在上面過程中建立的金鑰檔來組建憑證簽署請求 (CSR)。您將 CSR 傳送到憑證授權 (CA) 來獲取簽署的憑證。

重要資訊:如果要設定 SAN 憑證以便為多個域使用 SSL,請首先完成下面的適用於 SAN 憑證:修改 OpenSSL 設定檔中的步驟,然後返回到此處來組建 CSR。

  1. 執行以下命令以建立憑證簽署請求 (CSR) 檔案:

    openssl.exe req -new -key yourcertname.key -out yourcertname.csr

    如果未設定 OpenSSL 設定環境變數 OPENSSL_CONF,您可能會看到以下任一訊息:

    • 有關設定資訊無法載入的錯誤訊息。在這種情況下,請使用以下參數重新鍵入上面的命令:-config ..\conf\openssl.cnf

    • 有關找不到 /usr/local/ssl 目錄的警告。此目錄在 Windows 上不存在,只需忽略此訊息即可。檔案已成功建立。

    若要設定 OpenSSL 設定環境變數,請參閱本文中的設定 OpenSSL 設定環境變數(可選)部分。

  2. 出現提示時,輸入所需的資訊。

    附註:對於「公用名稱」,鍵入 Tableau Server 名稱。Tableau Server 名稱是將用於存取 Tableau Server 的 URL。舉例來說,如果透過在瀏覽器的地址欄中鍵入 tableau.example.com 來存取 Tableau Server,則 tableau.example.com 是公用名稱。如果公用名稱未解析為伺服器名稱,則在瀏覽器或 Tableau Desktop 嘗試連線到 Tableau Server 時將發生錯誤。

將 CSR 傳送到憑證授權以獲取 SSL 憑證

將 CSR 傳送到商業憑證授權 (CA) 以申請數位憑證。有關資訊,請參閱 Wikipedia 文章憑證授權(連結在新視窗開啟),以及可幫助您決定要使用的 CA 的任何相關文章。

使用金鑰和憑證來設定 Tableau Server

如果您同時有 CA 提供的金鑰和憑證,則可以將 Tableau Server 設定為使用 SSL。有關步驟,請參閱設定外部 SSL

適用於 SAN 憑證:修改 OpenSSL 設定檔

在 OpenSSL 的標準安裝中,某些功能預設情況下未啟用。若要將 SSL 用於多個網域名稱,請在組建 CSR 之前完成這些步驟以修改 openssl.cnf 檔案。

  1. 開啟 Windows 資源管理器,並瀏覽到 Tableau Server 的 Apache conf 資料夾。

    例如:C:\Program Files\Tableau\Tableau Server\packages\apache.<version_code>\conf

  2. 在文字編輯器中開啟 openssl.cnf,並尋找以下行:req_extensions = v3_req

    此行可能已使用行開頭的井號 (#) 被注釋掉。

    如果該行被注釋掉,請透過從行開頭移除 #空格字元來取消注釋。

  3. 移動到檔案的「v3_req」部分。前面幾行包含以下文字:

    # Extensions to add to a certificate request
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment

    keyUsage 行後面,插入以下行:

    subjectAltName = @alt_names

    如果要建立自簽署 SAN 憑證,請執行以下操作以提供用於為憑證簽署的憑證權限:

    1. keyUsage 行中新增 cRLSignkeyCertSign,使其看起來如下所示:keyUsage = nonRepudiation, digitalSignature, keyEncipherment, cRLSign, keyCertSign

    2. keyUsage 行後面,新增以下行:subjectAltName = @alt_names

  4. 「alt_names」部分,提供要用於 SSL 的網域名稱。

    DNS.1 = [domain1]
    DNS.2 = [domain2]
    DNS.3 = [etc]

    下圖以反白顯示方式顯示結果,包含您將替換為網域名稱的預留位置文字。

  5. 儲存並關閉該檔案。

  6. 完成上面建立憑證簽署請求以傳送到憑證授權部分中的步驟。

其他資訊

如果您更希望使用其他版本的 OpenSSL,您可以從 Open SSL for Windows(連結在新視窗開啟) 下載該版本。

感謝您的意見反應!已成功提交您的意見回饋。謝謝!