新版 AWS 上的 Anthos 集群 (GKE on AWS) 已于 2 月 25 日发布。如需了解详情,请参阅版本说明

身份验证

Anthos clusters on AWS (GKE on AWS) 支持以下身份验证方法:

连接

为了使用 Google Cloud Console 通过 Connect 登录,Anthos clusters on AWS 可以使用 Kubernetes 服务帐号的不记名令牌。如需了解详情,请参阅从 Cloud Console 登录集群

Kubernetes API 服务器和 ID 令牌

向集群进行身份验证后,您可以使用 Cloud SDK 的 kubectl CLI 进行交互。如果 kubectl 代表用户调用 Kubernetes API 服务器,则 API 服务器会使用 OpenID 提供商的公共证书来验证令牌。然后,API 服务器会解析令牌以了解用户的身份和用户的安全组。

API 服务器会将用户的安全组与集群的基于角色的访问控制 (RBAC) 政策进行比较,以确定用户是否有权进行此特定调用。

OIDC

本部分假定您熟悉 OAuth 2.0OpenID Connect。在 OpenID 身份验证环境中,您还应该熟悉 scopesclaims

概览

借助 OIDC,您可以按照组织中创建、启用和停用员工帐号的标准程序来管理对 Kubernetes 集群的访问权限。您还可以使用组织的安全组来配置对 Kubernetes 集群或集群中特定服务的访问权限。

典型的 OIDC 登录流程如下所示:

  • 用户通过提供用户名和密码来登录 OpenID 提供商。

  • OpenID 提供商对用户的 ID 令牌进行签名并发出 ID 令牌。

  • gcloud 工具向 Kubernetes API 服务器发送 HTTPS 请求。应用在请求标头中包含用户的 ID 令牌。

  • Kubernetes API 服务器使用提供商的证书来验证该令牌。

如果您的企业运行 Active Directory 联合身份验证服务 (ADFS) 服务器,则 ADFS 服务器可以充当您的 OpenID 提供商。另一个选择是使用第三方作为您的 OpenID 提供商。例如,Google、Microsoft、Facebook 和 Twitter 都是 OpenID 提供商。

使用 gcloud 工具登录

运行 gcloud anthos auth login 命令以向您的集群进行身份验证。gcloud 工具会对您向 Kubernetes API 服务器发出的请求进行身份验证。

要使用 gcloud 工具,您的 OIDC ID 令牌必须存储在 kubeconfig 文件中。您可以使用 gcloud anthos create-login-configkubeconfig 文件添加令牌。Anthos clusters on AWS 使用 gcloud 工具请求并获取 kubeconfig 文件中的 ID 令牌和其他 OIDC 值。