GKE Identity Service 支援 OpenID Connect (OIDC) 和 AWS IAM,做為與叢集 Kubernetes API 伺服器互動的驗證機制。GKE Identity Service 是一項驗證服務,可讓您在多個環境使用現有的身分識別解決方案進行驗證。使用者可以透過指令列或Google Cloud 控制台,以現有的身分識別提供者登入及使用 GKE 叢集。
如要瞭解 GKE Identity Service 的運作方式,請參閱「GKE Identity Service 簡介」。
如果您已使用或想使用 Google 身分登入 GKE 叢集,建議使用 gcloud containers aws clusters get-credentials 指令進行驗證。詳情請參閱「連結及驗證叢集」。
OpenID Connect 驗證
事前準備
- 如要使用 OIDC 驗證,使用者必須能連線至叢集的控制平面。請參閱「連線至叢集控制層」。 
- 如要透過 Google Cloud 控制台進行驗證,您必須註冊每個叢集,以便透過專案機群進行設定。在 AWS 上的 GKE 中,只要建立節點集區,系統就會自動執行這項操作。 
- 如要允許使用者透過 Google Cloud 控制台驗證身分,請確保要設定的所有叢集都已向專案車隊註冊。如果是 GKE on AWS,只要建立節點集區,系統就會自動執行這項操作。 
設定程序和選項
- 按照「為 GKE Identity Service 設定供應商」一文中的說明,向 OIDC 供應商註冊 GKE Identity Service 做為用戶端。 
- 選擇下列叢集設定選項: - 按照「設定叢集以使用機群層級 GKE Identity Service」中的操作說明,在機群層級設定叢集。如果採用這個做法,驗證設定會由Google Cloud集中管理。 
- 請按照「使用 OIDC 設定 GKE Identity Service 的叢集」中的操作說明,個別設定叢集。 
 
- 按照「為 GKE Identity Service 設定使用者存取權」一文中的操作說明,設定叢集的使用者存取權,包括角色型存取權控管 (RBAC)。 
存取叢集
在叢集上設定 GKE Identity Service 後,使用者就能透過指令列或 Google Cloud 控制台登入叢集。
- 請參閱「使用 GKE Identity Service 存取叢集」,瞭解如何使用 OIDC ID 登入已註冊的叢集。
- 瞭解如何從 Google Cloud 控制台登入叢集,請參閱「 從 Google Cloud 控制台登入叢集」。
AWS IAM 驗證
GKE on AWS 的 AWS IAM 支援功能使用 GKE Identity Service。
事前準備
如要使用 AWS IAM 驗證,使用者必須能夠連線至叢集的控制平面。請參閱「連線至叢集控制層」。
設定程序和選項
如要設定叢集,允許特定 AWS 區域的 AWS IAM 驗證,請執行下列步驟:
- 編輯叢集中的 - ClientConfig資源:- kubectl --kubeconfig=KUBECONFIG_PATH edit ClientConfigs default -n kube-public- 將 - KUBECONFIG_PATH替換為叢集 kubeconfig 檔案的路徑,例如- $HOME/.kube/config。- 文字編輯器會載入叢集的 ClientConfig 資源。新增 - spec.authentication.aws物件,如下所示。請勿修改任何已寫入的預設資料。- apiVersion: authentication.gke.io/v2alpha1 kind: ClientConfig metadata: name: default namespace: kube-public spec: authentication: - name: NAME aws: region: AWS_REGION- 更改下列內容: - NAME:這個驗證方法的任意名稱。例如「aws-iam」。
- AWS_REGION:擷取使用者資訊的 AWS 區域。這必須與使用者 AWS CLI 上設定的區域相符。
 
- 如要讓叢集使用者使用 AWS IAM,請按照「設定 GKE Identity Service 的使用者存取權」一文的說明操作。 
存取叢集
在叢集上設定 GKE Identity Service 後,使用者就能透過指令列或 Google Cloud 控制台登入叢集。
如要瞭解如何使用 AWS IAM 身分登入已註冊的叢集,請參閱「使用 GKE Identity Service 存取叢集」。