本頁說明如何啟用 OS 登入,以及如何設定機構政策,強制 GKE Standard 模式叢集和節點使用 OS 登入。您可以使用 OS 登入功能,透過 IAM 管理執行個體的 SSH 存取權,不必建立及管理個別的 SSH 金鑰。
由於 GKE 會管理節點,因此 OS 登入不適用於 GKE Autopilot 模式叢集。
使用公開節點的叢集不支援 OS 登入。如果將這項限制套用至執行含公開節點叢集的專案,則該專案中執行的 VM 執行個體可能無法正常運作。
本頁內容適用於想要在 GKE Standard 叢集上新增 OS 登入政策,確保所有 VM 執行個體預設都啟用 OS 登入的安全性專家。如要進一步瞭解 Google Cloud 內容中提及的常見角色和範例工作,請參閱常見的 GKE Enterprise 使用者角色和工作。
閱讀本頁面之前,請先熟悉 OS Login 的一般總覽。
總覽
您可以在機構中設定 OS 登入限制,確保所有新專案和在這些新專案中建立的 VM 執行個體都已啟用 OS 登入功能。OS 登入功能已迅速成為Google Cloud 安全最佳做法,建議您透過機構政策強制使用這項功能。
下列操作說明詳細介紹如何在 GKE 中使用機構政策啟用 OS 登入功能。
事前準備
開始之前,請確認你已完成下列工作:
- 啟用 Google Kubernetes Engine API。 啟用 Google Kubernetes Engine API
- 如要使用 Google Cloud CLI 執行這項工作,請安裝並初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行
gcloud components update
,取得最新版本。
更新現有專案以使用 OS 登入功能
設定機構政策前,請先遷移所有現有叢集,改用 OS 登入。
將專案中所有節點集區的版本更新為支援的版本:
gcloud container clusters upgrade CLUSTER_NAME \ --node-pool=NODE_POOL_NAME \ --cluster-version VERSION
更改下列內容:
CLUSTER_NAME
:現有叢集的名稱。NODE_POOL_NAME
:節點集區的名稱。VERSION
:與 OS 登入相容的版本,可以是 1.20.5 以上版本。
將
enable-oslogin
標記設為TRUE
,即可預設為所有現有和新的 VM 執行個體啟用 OS 登入功能。你不需要重新啟動節點。gcloud compute project-info add-metadata --metadata enable-oslogin=TRUE
設定 OS 登入機構政策
如要在機構層級設定 OS 登入限制,請執行下列操作:
執行下列指令,找出機構 ID:
gcloud organizations list
設定 OS 登入組織政策。將
ORGANIZATION_ID
替換為機構 ID。gcloud resource-manager org-policies enable-enforce \ compute.requireOsLogin \ --organization=ORGANIZATION_ID
設定機構政策後,即適用於以下狀況:
- 在所有新專案的專案中繼資料內,
enable-oslogin
已設為true
。 - 在執行個體或專案中繼資料中,將
enable-oslogin
設為false
的更新要求遭到拒絕。
管理節點存取權
啟用 OS 登入機構政策後,您就不再需要管理 SSH 金鑰來做出授權決策。OS Login 會將授權管理作業移至 Identity and Access Management。如要管理節點的 SSH 存取權,請使用 OS 登入。詳情請參閱「設定 OS 登入」。
後續步驟
- 瞭解 OS 登入服務。
- 瞭解如何排解 OS 登入問題。