GKE 身分認證服務可讓您整合現有的識別資訊提供者,向 Google Distributed Cloud 叢集驗證使用者。使用者可以透過 OpenID Connect (OIDC) 或輕量型目錄存取通訊協定 (LDAP),從指令列連線至 Kubernetes API 伺服器,或透過 Google Cloud 控制台使用 OIDC 連線。
這項服務支援管理員、使用者、混合式和獨立叢集,可連線至 Active Directory 同盟服務 (ADFS) 等地端部署系統,以及 Okta 等公開供應商。如果貴組織使用 Google 帳戶,請透過連結閘道管理叢集存取權。
架構總覽
GKE 身分認證服務會以 Pod 的形式,在叢集控制層內執行。在叢集生命週期階段,API 伺服器會動態設定為使用叢集內 GKE 身分認證服務,做為所有傳入要求的驗證 Webhook。API 伺服器無法使用叢集內 DNS。因此,API 伺服器會設為以 REST 資源存取權的形式存取 GKE 身分認證服務。在稽核記錄中,這項叫用會記錄為 system:anonymous 使用者對服務或 Proxy 資源提出的 system:anonymous 要求。CREATE
事前準備
系統會使用瀏覽器型驗證流程,提示使用者同意並授權使用者帳戶。不支援無頭系統。
如要透過 Google Cloud 控制台進行驗證,您要設定的每個叢集都必須註冊至專案機群。
設定程序和選項
GKE 身分認證服務支援使用下列通訊協定的識別資訊提供者:
OpenID Connect (OIDC)。我們針對一些熱門的 OpenID 提供者 (包括 Microsoft) 提供具體的設定操作說明,但您可以使用任何實作 OIDC 的提供者。
輕量型目錄存取通訊協定 (LDAP)。您可以使用 GKE 身分認證服務,透過 LDAP 搭配 Active Directory 或 LDAP 伺服器進行驗證。
OIDC
按照「設定 GKE 身分認證服務的提供者」一文中的操作說明,向 OIDC 提供者註冊 GKE 身分認證服務,做為用戶端。
選擇下列其中一項叢集設定選項:
(建議) 按照「設定機群層級 GKE 身分認證服務的叢集」中的操作說明,在機群層級設定叢集。如果選擇這個選項,驗證設定會由 Google Cloud集中管理。
請按照「使用 OIDC 設定 GKE 身分認證服務叢集」中的操作說明,個別設定叢集。
按照「設定 GKE 身分認證服務的使用者存取權」中的操作說明,設定叢集的使用者存取權,包括角色式存取控管 (RBAC)。
LDAP
如要開始使用 LDAP,請按照「使用 LDAP 設定 GKE 身分認證服務」中的操作說明進行。
存取叢集
設定 GKE 身分認證服務後,使用者可以使用指令列或 Google Cloud 控制台登入已設定的叢集。
(建議) 如要瞭解如何使用 OIDC 或 LDAP ID 登入已註冊的叢集,請參閱「使用 GKE 身分認證服務存取叢集」。
如要瞭解如何從 Google Cloud 控制台登入叢集,請參閱「透過Google Cloud 控制台使用叢集」(僅限 OIDC)。
排解登入流程問題
如要排解直接在 GKE Identity Service 伺服器上使用完整網域名稱 (FQDN) 驗證的登入流程問題,可以使用 GKE Identity Service 診斷公用程式。診斷公用程式會模擬 OIDC 供應商的登入流程,快速找出設定問題。這項工具需要 1.32 以上版本的叢集,且僅支援 OIDC。詳情請參閱「GKE 身分認證服務診斷公用程式」。