使用 GKE Identity Service 管理身份

借助 GKE 身份认证服务,您可以集成现有身份提供方,以便对 Google Distributed Cloud 集群的用户进行身份验证。用户可以使用 OpenID Connect (OIDC) 或轻量级目录访问协议 (LDAP) 从命令行连接到 Kubernetes API 服务器,也可以使用 OIDC 通过 Google Cloud 控制台连接到 Kubernetes API 服务器。

该服务支持管理员、用户、混合和独立集群,可连接到 Active Directory 联合身份验证服务 (ADFS) 等本地系统以及 Okta 等公共提供方。如果您的组织使用 Google 账号,请使用 Connect 网关管理集群访问权限。

架构概览

GKE 身份认证服务作为 Pod 在集群控制平面内运行。在集群生命周期阶段,API 服务器会动态配置为使用集群内 GKE 身份认证服务作为所有传入请求的身份验证 webhook。API 服务器无法使用集群内 DNS。因此,API 服务器配置为以访问 REST 资源的形式访问 GKE 身份认证服务。在审核日志中,此调用记录为 system:anonymous 用户对服务或代理资源发出的 CREATE 请求。

准备工作

  • 基于浏览器的身份验证流程用于提示用户同意并授权其用户账号。不支持无头系统。

  • 如需通过 Google Cloud 控制台进行身份验证,您要配置的每个集群都必须向项目舰队注册。

设置过程和选项

GKE Identity Service 支持使用以下协议的身份提供商:

  • OpenID Connect (OIDC)。我们针对常用的 OpenID 提供商(包括 Microsoft)提供了具体的设置说明,但您可以使用任何实施 OIDC 的提供商。

  • 轻量级目录访问协议 (LDAP)借助 GKE 身份认证服务,您可以使用 LDAP 和 Active Directory 或 LDAP 服务器进行身份验证。

OIDC

  1. 按照为 GKE 身份认证服务 配置提供方中的说明,向您的 OIDC 提供方将 GKE 身份认证服务 注册为客户端。

  2. 选择以下集群配置选项之一:

  3. 按照为 GKE 身份认证服务设置用户访问权限中的说明,设置用户对集群的访问权限,包括基于角色的访问权限控制 (RBAC)。

LDAP

如需开始使用 LDAP,请按照使用 LDAP 设置 GKE 身份认证服务 中的说明操作。

访问集群

设置 GKE 身份认证服务 后,用户可以使用命令行或 Google Cloud 控制台登录已配置的集群。

排查登录流程问题

如需排查使用完全限定域名 (FQDN) 直接在 GKE Identity Service 服务器上进行身份验证的登录流程相关的问题,您可以使用 GKE Identity Service 诊断实用程序。此诊断实用程序会模拟使用 OIDC 提供方的登录流程,快速识别出配置问题。此工具要求相关集群为 1.32 版或更高版本,并且仅支持 OIDC。如需了解详情,请参阅 GKE Identity Service 诊断实用程序。