AWS 金鑰管理系統

Tableau Server 具有三個金鑰管理系統 (KMS) 選項,可讓您啟用空閒時加密。其中兩個需要 Advanced Management(之前稱為 Server Management Add-on),而 Tableau Server 的所有安裝都可用本機附加元件。

從版本 2019.3 開始,Tableau Server 已新增以下 KMS 選項: 

  • 所有安裝都可用的本機 KMS。詳細資訊,請參閱 Tableau Server 金鑰管理系統
  • Advanced Management 中包含的基於 AWS 的 KMS。 如下所述。

從版本 2021.1 開始,Tableau Server 已新增另一個 KMS 選項: 

  • Advanced Management 中包含的基於 Azure 的 KMS。有關詳情,請參閱 Azure Key Vault

隨著版本 2019.3 的發佈,Tableau Server 支援 AWS 金鑰管理系統 (KMS) 作為 Advanced Management 的一部分。

用於空閒時加密的 AWS KMS

Tableau Server 的 Advanced Management 中提供 AWS KMS。有關詳情,請參閱关于 Tableau Server 中的 Tableau Advanced Management

如果您的組織要部署靜態資料擷取加密功能,則可以選擇將 Tableau Server 設定為使用 AWS 作為擷取加密的金鑰管理系統 (KMS)。若要啟用 AWS KMS,您必須在 AWS EC2 中部署 Tableau Server。在 AWS 方案中,Tableau Server 使用 AWS KMS 客戶主金鑰 (CMK) 來產生 AWS 資料金鑰(連結在新視窗開啟)。Tableau Server 使用 AWS 資料金鑰作為所有加密擷取的根主要金鑰。但是,即使為 AWS KMS 設定,仍會使用原生 Java keystore 和本機 KMS 對 Tableau Server 上的密文進行安全儲存。AWS KMS 只用於加密已加密擷取的根主要金鑰。

使用 AWS 加密主根金鑰,不會在與擷取相同的權限下儲存主金鑰,以提供較佳的安全性屬性。

使用 AWS Server 設定 Tableau Server 時的金鑰階層

為 Tableau Server 加密擷取設定 AWS KMS

若要使用 AWS 客戶主金鑰 (CMK) 加密 Tableau Server KMS 階層中的根金鑰,您必須依照本節所述設定 Tableau Server。

在開始之前,確定您符合以下要求:

步驟 1:建立 CMK,並在 AWS中設定 Tableau Server 的金鑰原則

下列程序會在 AWS KMS 服務中執行。參考包含在 AWS 文件中。

  1. 建立用於 Tableau Server 的 CMK。請參閱 AWS 主題建立金鑰(連結在新視窗開啟)
  2. 更新伺服器執行個體的 IAM 角色。

    Tableau Server 必須能使用執行個體的 IAM 角色,以 AWS KMS 進行驗證。需要為角色附加一個原則。此原則應提供在 CMK 上呼叫「GenerateDataKey」和「解密」動作的執行個體權限。請參閱 Amazon EC2 的 IAM 角色(連結在新視窗開啟)

    在 Tableau Server 的多節點部署中,伺服器的所有節點都必須在附加了此原則(或同等原則)的角色下執行。您可以為叢集中的所有節點指派相同角色。

  3. 至少 CMK 必須具有金鑰原則,其中 Effect 設定為 AllowPrinicpal(附加至伺服器執行個體的 IAM 角色) Action GenerateDataKeyDecrypt。請參閱在 AWS KMS 中使用金鑰原則(連結在新視窗開啟)

步驟 2:收集 AWS 設定參數

您需要從 AWS KMS 取得完整的 ARN 字串。此字串在 AWS KMS 管理頁面的「一般設定」區段中。ARN 會以下列格式顯示:arn:aws:kms:<region>:<account>:key/<CMK_ID>,例如 arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567

您也需要指定 AWS 區域,它也包含在 ARN 字串中。在上述的範例中,區域為 us-west-2。區域即為 KMS 執行個體所在的位置。在下一個步驟中,您必須按照 Amazon API 閘道表格(連結在新視窗開啟)「區域」欄中所示指定一個區域。

步驟 3:為 AWS KMS 設定 Tableau Server

在 Tableau Server 上執行以下命令。此命令將重新啟動伺服器:

  • tsm security kms set-mode aws --aws-region "<region>" --key-arn "arn:aws:kms:<region>:<account_number>:key/<CMK_ID>"

    --key-arn 選項從 AWS KMS 管理頁面的「一般設定」區段中,直接複製 ARN 的字串。

    例如,如果您的 AWS KMS 執行個體是在 us-west-2 區域中執行,您的帳號就是 867530990073,而您的 CMK 金鑰是 1abc23de-fg45-6hij-7k89-1l0mn1234567,而命令則如下所示:

    tsm security kms set-mode aws --aws-region "us-west-2" --key-arn "arn:aws:kms:us-west-2:867530990073:key/1abc23de-fg45-6hij-7k89-1l0mn1234567"

步驟 4:啟用空閒時加密

請參閱靜態擷取加密

步驟 5:驗證安裝

  1. 執行以下命令:

    tsm security kms status

    可能會傳回下列資訊:

    • 客戶主金鑰 (CMK) 的 ARN (ID)
    • CMK 所在區域
    • 正在使用的根主金鑰 (RMK) 的 ID。RMK 是由 CMK 加密的金鑰。Tableau Server 藉由呼叫 AWS KMS 來解密 CMK。然後使用 RMK 來加密/解密主要擷取金鑰 (MEK)。RMK 可以變更,但一次只能有一個。
    • KMS 儲存一組主擷取金鑰 (MEK)。每個 MEK 有:
      • ID,例如 8ddd70df-be67-4dbf-9c35-1f0aa2421521
      • 「加密或解密金鑰」或「僅解密金鑰」狀態。如果金鑰是「加密或解密」,則 Tableau Server 會使用它加密新的資料。否則,只會使用金鑰進行解密
      • 建立時間戳記,例如「建立於:2019-05-29T23:46:54Z」。
      • 第一次轉換至加密及解密:指示金鑰成為加密或解密金鑰的時間戳記。
      • 轉換至僅加密:指示金鑰轉換為僅加密金鑰的時間戳記。
  2. 在您加密和解密擷取之後檢視記錄:

    • 發佈擷取至您的網站,然後對其進行加密。請參閱靜態擷取加密

    • 使用 Tableau Desktop 或瀏覽器的 Web 製作存取擷取(這會解密要使用的擷取)。

    • 在 vizqlserver_node 記錄檔中搜尋 AwsKmsEncryptionEnvelopeAwsKmsEncryptionEnvelopeAccessor 字串。記錄的預設位置為 /var/opt/tableau/tableau_server/data/tabsvc/logs/

      指示成功設定的記錄項目範例包括下列項目:

      • 使用 ARN 為 arn:aws:kms:us-west-2:867530990073:key/1234567d-a6ba-451b-adf6-3179911b760f 的 CMK 解密 ID 為 1abc23de-fg45-6hij-7k89-1l0mn1234567 的 RMK
      • 使用 ID 為 1abc23de-fg45-6hij-7k89-1l0mn1234567 的 RMK 解密 KMS 存放區

      對於與 KMS 相關的發佈及擷取重新整理,請搜尋背景程式記錄。有關記錄的詳細資訊,請參閱Tableau Server 記錄檔和記錄檔位置

疑難排解設定

多節點不當設定

在 AWS KMS 的多節點安裝中,即使叢集中的其他節點設定不當,tsm security kms status 命令也會報告健全 (OK) 狀態。KMS 狀態檢查只會報告執行 Tableau Server Administration Controller 處理序所在的節點,而不會報告叢集中的其他節點。預設情況下,Tableau Server 管理控制器程序在叢集中的初始節點上執行。

因此,如果另一個節點設定不當,導致 Tableau Server 無法存取 AWS CMK,這些節點可能會報告各種服務的錯誤狀態,而這些服務將無法啟動。

如果將 KMS 設為 AWS 模式後,某些服務無法啟動,則請執行下列命令,回復成本機模式:tsm security kms set-mode local

重新整理 AWS CMK

重新整理 AWS CMK 是您使用 AWS 執行的工作。根據預設,AWS CMK 將一年重新整理一次。請參閱 AWS 主題 如何自動執行金鑰變換工作(連結在新視窗開啟)。由於 ARN 和區域不會變更,因此您不需要更新 Tableau Server 上的 KMS 設定,以進行一般 CMK 重新整理。

AWS CMK 重新整理之後,您必須在 Tableau Server 上重新產生內部 RMK 和 MEK。您也應該使用新的 CMK 重新加密所有擷取:

  1. 執行 tsm security regenerate-internal-tokens 命令以在 Tableau Server 上重新產生所有內部金鑰,包括用於擷取加密的 RMK 和 MEK。
  2. 執行 tabcmd reencryptextracts <site-name> 以重新加密指定網站上的擷取。在您要儲存加密擷取的每個網站上執行此命令。根據網站上的加密擷取數目,此作業可能會耗用大量的伺服器處理負載。請考慮在營業時間以外執行此作業。請參閱靜態擷取加密

在 Tableau Server 上重新產生 RMK 和 MEK

若要在 Tableau Server 上重新產生根主金鑰和主加密金鑰,請執行 tsm security regenerate-internal-tokens 命令。

使用 AWS KMS 進行備份及還原

伺服器備份可在 AWS 模式中執行,無需額外設定或程序。備份包含 RMK 和 MEK 的加密複本。解密金鑰需要 AWS CMK 的存取和控制權限。

對於還原,要放置還原內容的伺服器可以處於 KMS 模式,包括本機。唯一的要求是,用於還原備份的伺服器具有備份本身所用 CMK 的解密權限。

還原後,備份中的 MEK 會以僅解密金鑰的形式匯入。RMK 則不會遷移過來。作為安裝/還原過程的一部分,將產生一個新的 RMK。

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