關於 GKE 控制層授權

聯絡。

本文說明 Google Kubernetes Engine (GKE) 提供的選項,可協助您提升代管控制層的安全防護可視性和控管能力。這些選項統稱為 GKE 控制層授權。本文適用於資訊安全主管、法規遵循管理員和分析師,他們希望滿足處理私密資料時的嚴格隱私權和安全防護需求。

關於 GKE 控制層授權功能

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

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

  • 您所屬的產業受到嚴格監管,例如金融、醫療照護或政府,且有特定的法規遵循要求
  • 您處理的機密資料有嚴格的安全和加密規定
  • 您希望更清楚掌握 GKE 狀況,以便更有把握地執行重要工作負載
  • 您必須符合與資料加密、軟體完整性或記錄相關的特定法規遵循或稽核規定
  • 您有處理重要資料的高度機密工作負載,並希望瞭解該資料的加密和存取情形
  • 您想強制執行自訂安全性政策,以符合特定機構或法規要求
  • 您希望進一步瞭解 GKE 環境的透明度和可見度,特別是Google Cloud 控制層中執行的動作

GKE 控制層授權的好處

GKE 控制層授權功能非常適合有嚴格安全政策或稽核要求的高度管制環境。使用這些功能可享有下列優點:

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

GKE 控制層授權單位可用性

任何區域都能使用 GKE 控制層授權。 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 控制層授權的運作方式

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

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

金鑰和憑證管理

根據預設, Google Cloud 會為您管理 GKE 叢集中的金鑰和 CA。您可以選擇使用 Cloud KMSCA Service 設定自己的金鑰和 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 Google Cloud 管理的加密金鑰。如要進一步瞭解這項預設加密功能,請參閱預設靜態資料加密

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

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

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

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

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

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

輪替客戶管理的憑證

有了 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 Service 中的身分識別核發記錄,查看使用您管理的金鑰和 CA 建立身分識別的時間。使用詳細的 Kubernetes API 使用記錄,追蹤這些身分在叢集中的活動。

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

控制層安全性的其他資源

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

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

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

  • 內建控制層安全措施:GKE 會對代管控制層執行各種強化措施。詳情請參閱「控制層安全性」。

後續步驟