GKE on AWS 支持以下身份验证方法:
- 交流合作
- OpenID Connect (OIDC)。
交流合作
为了使用 Google Cloud 控制台通过 Connect 登录,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,您可以按照组织中创建、启用和停用员工账号的标准程序来管理对集群的访问权限。您还可以使用组织的安全组来配置对集群或集群中特定服务的访问权限。
典型的 OIDC 登录流程如下所示:
用户通过提供用户名和密码来登录 OpenID 提供方。
OpenID 提供方对用户的 ID 令牌进行签名并发出 ID 令牌。
gcloud CLI 向 Kubernetes API 服务器发送 HTTPS 请求。应用在请求标头中包含用户的 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 请求并获取 kubeconfig
文件中的 ID 令牌和其他 OIDC 值。