設定金鑰管理服務 (KMS) 提供者

虛擬私有雲 經典基礎架構 Satellite

您可以啟用金鑰管理服務 (KMS) 提供者 (例如 IBM® Key Protect for IBM Cloud® 或 Hyper Protect Crypto Services),來保護 Kubernetes 密鑰及儲存在密鑰中的任何認證。

即使您替換為新的金鑰,也不要刪除 KMS 實例中的根金鑰。 如果您刪除群集使用的根金鑰,群集將無法使用、失去所有資料,而且無法復原。 同樣地,如果您停用根金鑰,則依賴讀取密鑰的作業會失敗。 不過,與刪除根金鑰不同,您可以重新啟用已停用的金鑰,讓叢集可以再次使用。

您必須先建立 KMS 實例及根金鑰,然後才能在叢集裡啟用金鑰管理服務 (KMS) 提供者。

  1. 建立您要使用的 KMS 提供者實例。

  2. 在 KMS 範例中建立一個根金鑰。

    Key Protect: 需要設定到期日以符合內部安全政策嗎? 使用 API 建立根金鑰,並包括 expirationDate 參數。 重要:在您的根密鑰到期之前,請重複這些步驟來更新您的群集,以使用新的根密鑰。 當根金鑰到期時,無法解密叢集密碼,且您的叢集變成無法使用。 視叢集版本而定,主要金鑰到期與叢集無法再解密密鑰之間的時間間隔可能約為一小時,或重新整理主要金鑰時。

  3. 確認您在 IBM Cloud IAM 中具有必要的服務授權原則。 導覽至主控台中的 服務授權 頁面,並使用指定為 Kubernetes 服務來源服務、指定為 KMS 提供者 (例如 Key Protect) 的 目標服務,以及指定為叢集所在帳戶的 目標帳戶,來尋找授權。 如果您沒有看到服務授權,請遵循下列步驟來建立它:

    • Kubernetes Service 及 KMS 提供者的必要服務存取原則
      1. 如果您要授權存取 KMS 的叢集位於現行帳戶中,請設定 此帳戶來源帳戶,否則,如果叢集位於不同帳戶下,請選取 其他帳戶 並提供帳戶 ID。
      2. 來源服務 設為 Kubernetes Service
      3. 目標服務 設為 KMS 提供者,例如 Key Protect
      4. 至少包含 讀者 服務存取權。
      5. 啟用來源和從屬服務的授權。
  4. 請確定您在 IBM Cloud Identity and Access Management (IAM) 中具有正確的許可權,以在叢集裡啟用 KMS。

    • 確保您具有叢集的 管理者 IBM Cloud IAM 平台存取角色
    • 確保為叢集所在地區及資源群組設定之 API 金鑰 的 API 金鑰擁有者具有 KMS 提供者的正確許可權。
      • 例如,若要建立實例及根金鑰,您至少需要 KMS 提供者的 編輯者 平台及 撰寫者 服務存取角色。
      • 如果您計劃使用現有 KMS 實例及根金鑰,則至少需要 KMS 提供者的 檢視者 平台及 讀者 服務存取角色。
  5. 可選:如果您打算 為 VPC 群集設定工作站磁碟加密,請完成下列額外步驟。

  6. 建立叢集並啟用密碼加密。

輪替 KMS 根金鑰

若要替換用來加密叢集的根金鑰,您可以重複步驟,從 KMS 提供者 CLI 或主控台啟用 KMS 加密。 當您替換根金鑰時,無法針對相同叢集重複使用先前的根金鑰。

您可以從 KMS 實例替換根金鑰。 此動作會使用新的根金鑰自動重新啟用叢集裡的 KMS。 若要手動替換金鑰,請參閱 KMS 提供者文件。