關於 GKE 控制層授權

聯絡。

本文說明 Google Kubernetes Engine (GKE) 提供的選項,可讓您更清楚掌握及控管代管控制層的安全性。這些選項統稱為 GKE control plane authority。本文適用對象為資訊安全主管、法規遵循管理員和分析師,他們希望滿足嚴格的隱私權和安全性需求,以處理機密資料。

關於 GKE control plane authority 功能

在 GKE 中, Google Cloud 會全代管控制層的安全設定,包括靜態儲存空間加密,以及設定用於簽署和驗證叢集憑證的金鑰和憑證授權單位 (CA)。GKE 叢集的控制層節點位於管理專案中。 Google Cloud 如要進一步瞭解 Google Cloud 的功能,請參閱「GKE 共同責任」。

GKE 控制層授權是選用的可視性和控制功能組合,可讓您驗證及管理這些全代管控制層節點的特定層面。如果您有下列需求,這些功能就非常適合:

  • 您在金融、醫療照護或政府等高度受監管的產業營運,有特定的法規遵循要求
  • 您處理的機密資料有嚴格的安全和加密規定
  • 您希望進一步掌握 GKE 資訊,以便更放心地執行重要工作負載
  • 您必須符合與資料加密、軟體完整性或記錄相關的特定法規遵循或稽核規定
  • 您有處理重要資料的高度機密工作負載,並希望瞭解該資料的加密和存取情形
  • 您想強制執行自訂安全性政策,以符合特定組織或法規要求
  • 您希望進一步瞭解及掌握 GKE 環境,尤其是Google Cloud 在控制層執行的動作

GKE control plane authority 的優點

GKE control plane authority 功能非常適合用於高度受管制的環境,這類環境有嚴格的安全政策或稽核要求。使用這些功能可享有下列優點:

  • 提升可見度和控制力:為 GKE 控制層提供額外的可見度、控制和加密功能。
  • 簡化法規遵循程序:透過精細的稽核記錄和可自訂的安全政策,符合法規和產業要求。
  • 提升信任度和透明度:深入瞭解Google Cloud 在解決客戶支援案件時,於控制層採取的動作。
  • 風險控管:主動偵測及因應受管理控制層的潛在威脅,並提供完整記錄。
  • 標準化 CA 和金鑰管理:使用憑證授權單位服務管理 GKE 叢集 CA,將憑證管理作業委派給特定團隊,並全面強制執行 CA 政策。此外,您也可以使用 Cloud KMS 管理控制層磁碟加密金鑰,以類似方式委派管理權限。

GKE 控制層授權單位可用性

GKE control plane authority 適用於任何 Google Cloud區域。不過,如要使用自己的金鑰加密控制層開機磁碟和 etcd 磁碟,您必須在下列其中一個區域中建立叢集:

  • asia-east1
  • asia-northeast1
  • asia-southeast1
  • europe-west1
  • europe-west4
  • us-central1
  • us-central2
  • us-east1
  • us-east4
  • us-east5
  • us-south1
  • us-west1
  • us-west3
  • us-west4

GKE control plane authority 的運作方式

控制層可用的功能會根據您需要的控制類型分類,如下所示。您可以根據特定需求,使用一或多項功能。

  • 金鑰和憑證管理:控管 GKE 用於加密控制層中靜態資料的金鑰,以及在叢集中核發和驗證身分。
  • 存取記錄和身分核發記錄:使用網路、VM 和資料存取透明化控管機制的記錄,透過多個來源驗證 GKE 控制層存取權。在 Cloud KMS 和 CA Service 中使用身分證書核發記錄,查看何時使用您管理的金鑰和 CA 建立身分。使用詳細的 Kubernetes API 用量記錄,追蹤這些身分在叢集中的活動。

金鑰和憑證管理

根據預設, Google Cloud 會為您管理 GKE 叢集中的金鑰和 CA。您可以視需要使用 Cloud KMS 和 CA 服務設定自己的金鑰和 CA,並在建立新叢集時使用。

GKE 會使用這些金鑰和 CA,而非預設值,在叢集中核發及驗證身分,並加密控制層 VM 中的資料。 Google Cloud控管身分證件核發和資料加密金鑰,有助於:

  • 遵守資料主權和隱私權法規,強制要求金鑰專屬控管權
  • 自行管理加密金鑰,控管 Kubernetes 中重要機密資料的加密
  • 根據組織的政策和需求 (例如使用硬體支援金鑰的需求),自訂資料加密策略。

自行管理的 CA 和服務帳戶金鑰

您可以設定 GKE 控制層,使用您管理的 Cloud KMS 金鑰和 CA Service CA。GKE 會使用這些資源在叢集中核發及驗證身分。舉例來說,GKE 會使用 CA 和金鑰核發 Kubernetes 用戶端憑證和 Kubernetes 服務帳戶不記名權杖。

您需要建立下列資源,供 GKE 在核發身分時使用:

  1. 服務帳戶簽署金鑰:簽署叢集中服務帳戶的 Kubernetes ServiceAccount 不記名權杖。這些不記名權杖是 JSON Web Token (JWT),可協助 Pod 與 Kubernetes API 伺服器通訊。
  2. 服務帳戶驗證金鑰:驗證 Kubernetes 服務帳戶 JWT。這個金鑰通常與簽署金鑰相同,但會分開設定,方便您更安全地輪替金鑰。
  3. 叢集 CA:核發已簽署的憑證,用於憑證簽署要求 (CSR) 和 kubelet 通訊等用途。
  4. etcd 對等互連 CA:核發已簽署的憑證,用於叢集中 etcd 執行個體之間的通訊。
  5. etcd API CA:核發已簽署的憑證,用於與 etcd API 伺服器通訊。
  6. 匯總 CA:核發已簽署的憑證,以便在 Kubernetes API 伺服器和擴充伺服器之間啟用通訊。

當 GKE 在叢集中核發身分時,您會在 Cloud Logging 中看到相應的稽核記錄,可用於追蹤核發的身分在生命週期內的狀態。

詳情請參閱「在 GKE 中執行自己的憑證授權單位和簽署金鑰」。

控制層開機磁碟和 etcd 加密

GKE 預設會加密控制層 VM 的開機磁碟。如果控制層執行 etcd 資料庫執行個體,GKE 也會加密下列項目:

  • 儲存 etcd 資料的磁碟。
  • etcd 的 Google Cloud 內部作業備份。

這項預設加密機制會使用 Google Cloud 管理的加密金鑰。如要進一步瞭解這項預設加密機制,請參閱「預設靜態資料加密」。

您可以選擇性使用自己的加密金鑰,透過 Cloud KMS 管理,加密下列資源:

  • 控制層開機磁碟:每個控制層 VM 用於開機的 Compute Engine 磁碟。
  • etcd 磁碟:連接至各個控制層 VM 的 Compute Engine 磁碟,用於儲存叢集中 etcd 執行個體的資料。
  • etcd 內部作業備份:etcd 的內部 Google Cloud 備份,用於作業用途,例如災難復原。

    這項備份作業是 Google Cloud的內部緊急措施,如要備份及還原叢集,請改用 GKE 備份。

如需操作說明,請參閱「加密 etcd 和控制層開機磁碟」。

如果您必須符合特定法規或法規遵循要求,控管叢集控制層的加密方式,則可選用這項額外加密功能。您可以分別使用自己的金鑰,加密叢集中worker 節點的開機磁碟和儲存空間磁碟。詳情請參閱「使用客戶自行管理的加密金鑰 (CMEK)」。

使用 GKE control plane authority 加密控制層開機磁碟時,GKE 控制層 VM 會自動在開機磁碟中,對 Hyperdisk Balanced 使用機密模式。這項設定不會變更 worker 節點的預設開機磁碟。

輪替客戶自行管理的憑證

有了 GKE 控制層授權,您就能設定叢集使用客戶自行管理的 CA 和金鑰,而非 GKE 預設使用的 Google 管理資源。憑證輪換是指重新整理叢集中一或多項資源的操作。您可能需要執行憑證輪換,原因包括避免 CA 到期,或遵守組織的憑證管理規定。

如要為使用 GKE control plane authority 的叢集執行憑證輪換,請建立新的 CA、簽署金鑰和加密金鑰。然後更新叢集,改用這些新資源。

如需詳細資訊,請參閱以下頁面:

存取記錄和身分核發記錄

您可以在 Logging 中查看控制層內所有與存取權和身分相關的事件記錄,包括下列事件:

  • 直接存取:與直接存取 GKE 控制層節點 (例如 SSH) 相關的記錄,可讓您驗證 VM SSH 記錄和 VM 網路連線是否與資料存取透明化控管機制記錄中的 SSH 記錄相符。
  • 身分核發和驗證:與使用 CA 服務和 Cloud KMS 管理的 CA 和金鑰核發的身分相關的記錄。
  • Kubernetes 中的身分識別使用情形:與特定身分對 Kubernetes API 伺服器執行的動作相關的記錄。
  • 資料存取透明化控管機制:記錄與控制層建立的連線,以及 Google Cloud 人員在控制層採取的動作。啟用「增強型存取核准」後,您可更精細地控管存取權,包括在「資料存取透明化控管機制」記錄和存取核准要求中查看 SSH 指令詳細資料。如要進一步瞭解資格和註冊事宜,請與 Google Cloud 帳戶團隊聯絡。

這些記錄可協助您執行下列操作:

  • 完整記錄所有控制層存取和身分事件的稽核追蹤記錄,確保法規遵循和安全性。
  • 除了 Google 內建的防護措施,您也可以自行建構監控機制,識別及調查控制層中的任何可疑活動。
  • 確認只有獲得授權的實體可以存取 GKE 叢集並與其互動,藉此強化資安態勢。
  • 在 Cloud KMS 和 CA 服務中使用身分核發記錄,查看何時使用您管理的金鑰和 CA 建立身分。使用詳細的 Kubernetes API 使用記錄,追蹤這些身分在叢集中的活動。

下列文件說明如何查看及處理各種控制層記錄:

控制層安全性的其他資源

本節說明其他方法,可協助您提升對控制層安全性的信心。您不需要使用 GKE control plane authority,即可使用下列資源:

  • 控制層 VM 映像檔完整性:GKE 會將節點 VM 建立和啟動事件的詳細記錄新增至 Cloud Logging。此外,我們也會在 GitHub 上發布 SLSA VSA,對應控制層和 worker 節點機器映像檔。您可以確認 VM 使用的 OS 映像檔具有對應的 VSA,並驗證每個控制層 VM 的啟動完整性。

    如要驗證 VM 完整性,請參閱「驗證 GKE 控制層 VM 完整性」。

  • 內建控制層安全措施:GKE 會對代管控制層採取多項強化措施。詳情請參閱「控制層安全性」。

後續步驟