聯絡。
本頁說明 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 控制層授權的區域和可用區,取決於是否要使用特定功能,如下所示:
- 如要使用客戶管理的加密金鑰加密控制層開機磁碟,叢集必須位於下列其中一個區域:
asia-east1
asia-northeast1
asia-southeast1
europe-west1
europe-west4
us-central1
us-east1
us-east4
us-east5
us-south1
us-west1
us-west3
us-west4
- 如要搭配 GKE 控制層授權使用機密 GKE 節點,叢集必須位於支援 Hyperdisk Balanced 機密模式的區域。
如果您未使用這些功能,則可以在任何 Google Cloud 位置使用 GKE 控制層授權。
GKE 控制層授權的運作方式
您可以使用的控制層功能會依據您想要的控制類型分類,如下所示。您可以根據具體需求,使用一或多項功能。
- 金鑰和憑證管理:控管 GKE 用於加密控制層靜態資料的金鑰,以及叢集中身分證明的核發和驗證作業。
- 存取記錄和身分核發記錄:使用網路、VM 和資料存取透明化控管機制的記錄,透過多個來源驗證 GKE 控制層存取權。在 Cloud KMS 和 CA Service 中使用身分證書核發記錄,查看何時使用您管理的金鑰和 CA 建立身分證書。使用詳細的 Kubernetes API 使用記錄,追蹤這些身分在叢集中的活動。
金鑰和憑證管理
根據預設, Google Cloud 會為您管理 GKE 叢集中的金鑰和 CA。您可以選擇使用 Cloud KMS 和 CA Service 設定自己的金鑰和 CA,然後在建立新叢集時使用。
GKE 會使用這些金鑰和 CA,而不是預設值,在叢集中核發及驗證身分,並加密控制層 VM 中的資料。 Google Cloud控管身分證件核發和資料加密金鑰,有助於:
- 遵守資料主權和隱私權法規,確保您對金鑰擁有專屬控制權
- 管理自己的加密金鑰,控管 Kubernetes 中重要機密資料的加密方式
- 根據貴機構的政策和需求 (例如使用硬體支援金鑰的要求),自訂資料加密策略。
自行管理的 CA 和服務帳戶金鑰
您可以設定 GKE 控制層,使用您管理的 Cloud KMS 金鑰和 CA Service CA。GKE 會使用這些資源,在叢集中核發及驗證身分。舉例來說,GKE 會使用 CA 和金鑰核發 Kubernetes 用戶端憑證和 Kubernetes 服務帳戶不計名權杖。
您要建立下列資源,供 GKE 在發放身分時使用:
- 服務帳戶簽署金鑰:簽署叢集中服務帳戶的 Kubernetes ServiceAccount 持有人權杖。這些不記名權杖是 JSON Web Token (JWT),可協助 Pod 與 Kubernetes API 伺服器通訊。
- 服務帳戶驗證金鑰:驗證 Kubernetes 服務帳戶 JWT。這個金鑰通常與簽署金鑰相同,但會分開設定,方便您更安全地輪替金鑰。
- 叢集 CA:核發簽署的憑證,用於憑證簽署要求 (CSR) 和 kubelet 通訊等用途。
- etcd 對等互連 CA:核發簽署的憑證,供叢集中的 etcd 執行個體之間通訊。
- etcd API CA:核發用於與 etcd API 伺服器通訊的簽署憑證。
- 匯總 CA:核發簽署的憑證,以啟用 Kubernetes API 伺服器與擴充伺服器之間的通訊。
當 GKE 在叢集中核發身分時,您會在 Cloud Logging 中看到相應的稽核記錄,可用於追蹤核發的身分在生命週期內的狀態。
詳情請參閱「在 GKE 中執行自己的憑證授權單位和簽署金鑰」。
控制層開機磁碟和 etcd 加密
GKE 預設會加密控制層 VM 的開機磁碟。如果控制層執行 etcd 資料庫執行個體,GKE 也會加密下列項目:
- 儲存 etcd 資料的磁碟。
- etcd 的 Google Cloud 內部作業備份。
這項預設加密機制會使用 Google 管理的加密金鑰。 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 使用機密模式。這項設定不會變更工作站節點的預設開機磁碟。
存取記錄和身分核發記錄
您可以在 Logging 中查看控制層中與存取權和身分相關的所有事件記錄,包括下列事件:
- 直接存取:與嘗試直接存取 (例如 SSH) GKE 控制層節點相關的記錄,可讓您確認 VM SSH 記錄和 VM 網路連線與存取透明度記錄中的 SSH 記錄相符。
- 身分核發和驗證:與使用 CA 核發的身分相關的記錄,以及您在 CA 服務和 Cloud KMS 中管理的金鑰。
- Kubernetes 中的身分識別使用情形:與特定身分對 Kubernetes API 伺服器執行的動作相關的記錄。
- 資料存取透明化控管機制:與控制層連線相關的記錄,以及 Google Cloud 人員在控制層採取的動作。
這些記錄可協助您執行下列作業:
- 維護所有控制層存取和身分事件的完整稽核追蹤,確保符合法規和安全規定。
- 除了 Google 內建的防護措施,您也可以自行建構監控機制,在控制平面中找出並調查任何可疑活動。
- 確認只有授權實體能存取及與 GKE 叢集互動,進而提升安全防護機制。
- 透過 Cloud KMS 和 CA Service 中的身分識別簽發記錄,查看使用您管理的金鑰和 CA 建立身分識別的時間。使用詳細的 Kubernetes API 使用記錄,追蹤這些身分在叢集中的活動。
下列文件說明如何查看及處理各類控制平面記錄:
控制層安全性的其他資源
本節說明其他方法,可協助您提升對控制平面安全性的信心。您不需要使用 GKE 控制層授權,即可使用下列資源:
控制層 VM 映像檔完整性:GKE 會將節點 VM 建立和啟動事件的詳細記錄新增至 Cloud Logging。此外,我們會在 GitHub 上發布與控制層和工作站節點機器映像檔對應的 SLSA VSA。您可以確認 VM 使用的 OS 映像檔具有對應的 VSA,並驗證每個控制層 VM 的啟動完整性。
如要執行 VM 完整性驗證,請參閱「驗證 GKE 控制層 VM 完整性」。
內建控制層安全措施:GKE 會對代管控制層執行各種強化措施。詳情請參閱「控制層安全性」。
後續步驟
- 在 GKE 中執行自己的憑證授權單位和簽署金鑰
- 使用您的金鑰加密 GKE 控制平面靜態資料
- 驗證 GKE 控制層 VM 完整性
- 在 GKE 叢集中驗證憑證核發和使用情況
- 由 Google 人員在叢集控制層中驗證連線