檢視次數:
設定檔適用性:等級 2
啟用控制平面授權網路以限制對叢集控制平面的存取,僅允許授權 IP 的允許清單。
授權網路是一種指定允許存取您叢集控制平面的 IP 位址範圍的方法。Kubernetes 引擎使用傳輸層安全性 (TLS) 和驗證來提供從公共網路安全存取您叢集控制平面的功能。
這提供您從任何地方管理叢集的彈性;然而,您可能希望進一步限制對您控制的一組 IP 位址的存取。您可以透過指定授權網路來設定此限制。控制平面授權網路會阻擋不受信任的 IP 位址。
Google Cloud Platform 的 IP(例如來自 Compute Engine 虛擬機的流量)可以透過 HTTPS 連接到您的主伺服器,前提是它們擁有必要的 Kubernetes 憑證。
限制對授權網路的存取可以為您的容器叢集提供額外的安全效益,包括:
  • 更好的外部攻擊防護:授權網路透過限制外部、非 GCP 存取至您指定的一組地址(例如來自您所在地的地址),提供額外的安全層。這有助於在叢集的驗證或授權機制出現弱點時,保護對您叢集的存取。
  • 更好的內部攻擊防護:授權網路有助於保護您的叢集,防止公司內部的主憑證意外洩漏。從 GCP 外部和授權 IP 範圍外(例如,來自公司外部的地址)使用的洩漏憑證仍然會被拒絕訪問。
注意
注意
預設情況下,控制平面授權網路是停用的。

影響

在實施控制平面授權網路時,請注意確保所有所需的網路都在允許清單上,以防止意外阻止外部訪問您叢集的控制平面。

稽核

使用 Google Cloud 主控台:
  1. 前往 Kubernetes Engine,請造訪:Google Cloud Console Kubernetes Engine 頁面
  2. 從叢集列表中,點擊叢集以開啟詳細資訊頁面,並確保主控授權網路已設為已啟動。
使用命令列:
要檢查現有叢集的主授權網路狀態,首先定義三個變數:叢集名稱、位置資訊和專案,然後執行以下命令:
gcloud container clusters describe $CLUSTER_NAME --location $LOCATION -- 
project $PROJECT_ID --format json | jq '.masterAuthorizedNetworksConfig'
如果控制平面授權網路已啟動,輸出應返回 { "gcpPublicCidrsAccessEnabled": true }。如果主授權網路已停用,上述命令將返回 null ({ })。

補救

使用 Google Cloud 主控台:
  1. 前往 Kubernetes Engine,請造訪:Google Cloud Console Kubernetes Engine 頁面
  2. 選擇已停用控制平面授權網路的 Kubernetes 叢集。
  3. 在詳細資料窗格中,於網路標題下,點擊名為編輯控制平面授權網路的鉛筆圖示。
  4. 勾選旁邊的方框以啟用控制平面授權網路。
  5. 點擊儲存變更。
使用命令列:
要為現有的叢集啟用控制平面授權網路,請執行以下命令:
gcloud container clusters update <cluster_name> --location <location> --
enable-master-authorized-networks
此外,您可以使用 --master-authorized-networks 標誌列出授權網路,其中包含最多 20 個外部網路,允許通過 HTTPS 連接到您叢集的控制平面。您可以將這些網路以 CIDR 表示法(例如 90.90.100.0/24)的逗號分隔地址列表提供。