AWS 上的 GKE 支援下列驗證方法:
- 連線
- OpenID Connect (OIDC)。
連線
如要使用 Connect 透過 Google Cloud 控制台登入,GKE on AWS 可以使用 Kubernetes 服務帳戶的承載權杖。詳情請參閱從 Google Cloud 控制台登入叢集。
Kubernetes API 伺服器和 ID 權杖
完成叢集驗證後,您可以使用 gcloud CLI 的 kubectl
CLI 進行互動。當 kubectl
代表使用者呼叫 Kubernetes API 伺服器時,API 伺服器會使用 OpenID 提供者的公開憑證驗證權杖。接著,API 伺服器會剖析權杖,瞭解使用者的身分和安全性群組。
API 伺服器會比較使用者的安全群組與叢集的角色型存取控管 (RBAC) 政策,判斷使用者是否已獲授權可發出這項特定呼叫。
OIDC
GKE on AWS 支援使用 GKE Identity Service 進行 OIDC 驗證。GKE Identity Service 支援多個身分識別提供者。詳情請參閱支援的身分識別提供者。
總覽
透過 OIDC,您可以使用機構的標準程序建立、啟用及停用員工帳戶,藉此管理叢集存取權。您也可以使用機構的安全性群組,設定 Kubernetes 叢集的存取權,或叢集中的特定服務存取權。
典型的 OIDC 登入流程如下:
使用者提供使用者名稱和密碼,登入 OpenID 提供者。
OpenID 提供者會簽署並核發使用者的 ID 權杖。
gcloud CLI 會將 HTTPS 要求傳送至 Kubernetes API 伺服器。 應用程式會在要求標頭中加入使用者的 ID 權杖。
Kubernetes API 伺服器會使用供應商的憑證驗證權杖。
使用 gcloud CLI 登入
執行 gcloud anthos auth login
指令,即可向叢集進行驗證。gcloud CLI 會向 Kubernetes API 伺服器驗證您的要求。
如要使用 gcloud CLI,OIDC ID 權杖必須儲存在 kubeconfig
檔案中。
您可以使用 gcloud anthos create-login-config
將權杖新增至 kubeconfig
檔案。GKE on AWS 會使用 gcloud CLI 要求並取得 ID 權杖,以及 kubeconfig
檔案中的其他 OIDC 值。