身份验证

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

  • 连接
  • OpenID Connect (OIDC)。

连接

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

Kubernetes API 服务器和 ID 令牌

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

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

OIDC

Anthos clusters on AWS 支持向 Anthos Identity Service 进行 OIDC 身份验证。Anthos 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-configkubeconfig 文件添加令牌。Anthos clusters on AWS 使用 gcloud CLI 请求并获取 kubeconfig 文件中的 ID 令牌和其他 OIDC 值。