使用 GKE Identity Service 管理身分

GKE on AWS 支援 OpenID Connect (OIDC)AWS IAM,可做為與叢集 Kubernetes API 伺服器互動的驗證機制,並使用 GKE Identity Service。GKE Identity Service 是一項驗證服務,可讓您在多個環境中使用現有的身分識別解決方案進行驗證。使用者可以透過指令列或Google Cloud 控制台登入及使用 GKE 叢集,一切都使用現有的身分識別提供者。

如要瞭解 GKE Identity Service 的運作方式,請參閱「推出 GKE Identity Service」。

如果您已使用或想使用 Google 身分登入 GKE 叢集,建議使用 gcloud containers aws clusters get-credentials 指令進行驗證。詳情請參閱「連結及驗證叢集」。

OpenID Connect 驗證

事前準備

  1. 如要使用 OIDC 驗證,使用者必須能連線至叢集的控制平面。請參閱「連線至叢集控制層」。

  2. 如要透過 Google Cloud 控制台進行驗證,您必須註冊每個叢集,以便透過專案機群進行設定。在 AWS 上的 GKE 中,建立節點集區後,系統就會自動執行這項操作。

  3. 如要允許使用者透過 Google Cloud 控制台驗證身分,請確保要設定的所有叢集都已向專案車隊註冊。如果是 GKE on AWS,只要建立節點集區,系統就會自動執行這項操作。

設定程序和選項

  1. 按照「為 GKE Identity Service 設定供應商」一文中的說明,向 OIDC 供應商註冊 GKE Identity Service 做為用戶端。

  2. 選擇下列叢集設定選項:

  3. 按照「為 GKE Identity Service 設定使用者存取權」一文中的操作說明,設定叢集的使用者存取權,包括角色型存取權控管 (RBAC)。

存取叢集

在叢集上設定 GKE Identity Service 後,使用者就能透過指令列或 Google Cloud 控制台登入叢集。

AWS IAM 驗證

GKE on AWS 的 AWS IAM 支援功能使用 GKE Identity Service

事前準備

如要使用 AWS IAM 驗證,使用者必須能夠連線至叢集的控制平面。請參閱「連線至叢集控制層」。

設定程序和選項

如要設定叢集,允許特定 AWS 區域的 AWS IAM 驗證,請執行下列步驟:

  1. 編輯叢集中的 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 中設定的區域相符。
  2. 如要讓叢集使用者使用 AWS IAM,請按照「設定 GKE Identity Service 的使用者存取權」一文的說明操作。

存取叢集

在叢集上設定 GKE Identity Service 後,使用者就能透過指令列或 Google Cloud 控制台登入叢集。

如要瞭解如何使用 AWS IAM 身分登入已註冊的叢集,請參閱「使用 GKE Identity Service 存取叢集」。