1.6 版。如 Anthos 版本支持政策中所述,此版本是受支持的版本,提供影响 Anthos clusters on Bare Metal 的安全漏洞、威胁和问题的最新补丁程序和更新。如需了解详情,请参阅版本说明。这不是最新版本

在 Anthos clusters on Bare Metal 中使用 OIDC 进行身份管理

您可以使用 OpenID Connect (OIDC) 向 Anthos clusters on Bare Metal 集群进行身份验证。OIDC 是基于 OAuth 2.0 构建的身份验证层,它指定 RESTful HTTP API,并使用 JSON 作为数据格式。

OIDC 允许您使用现有的身份提供商来管理 Anthos clusters on Bare Metal 集群中的用户和群组身份验证。借助 OIDC,您可以按照组织中创建、启用和停用帐号的标准程序来管理对 Anthos clusters on Bare Metal 集群的访问权限。您还可以使用组织的安全组来配置对集群或集群中特定服务的访问权限。代管式访问权限适用于任何类型的 Anthos clusters on Bare Metal 集群:管理员集群、用户集群、混合集群或独立集群。

Anthos clusters on Bare Metal 支持本地和可公开访问的身份提供商。例如,在本地,您可以使用 Active Directory Federation Services 组件。您还可以使用来自 Google 或 Okta 的可公开访问的身份提供商服务。此外,身份提供商证书可能由知名公共证书授权机构 (CA) 或私有 CA 颁发。

用户可使用两种 OIDC 身份验证方法:

  • 通过命令行界面 (CLI) 进行 OIDC 身份验证。用户运行 gcloud 命令并通过基于浏览器的登录/同意页面进行身份验证。

  • 通过 Google Cloud Console 界面进行 OIDC 身份验证。用户直接从 Kubernetes 集群页面登录集群。此方法要求将集群注册到 Google Cloud。在 Anthos clusters on Bare Metal 集群安装期间,集群会自动注册。

请注意,OIDC 不支持无头工作流:OIDC 需要基于浏览器的身份验证,以便将用户重定向到身份提供商网页,并提示用户同意并提供帐号登录/密码。

OIDC 和 Kubernetes 访问权限控制

OIDC 身份验证通常与 Kubernetes 基于角色的访问权限控制 (RBAC) 相结合。通过 RBAC,您可以创建精细的授权政策,以定义哪些用户或群组可以对一组给定的集群资源执行特定操作。

OIDC 身份验证概览

典型的 OIDC 身份验证包括以下步骤:

  1. 用户通过提供用户名和密码来登录 OpenID 提供商。
  2. OpenID 提供商为用户签发 ID 令牌。

  3. 令牌由提供商签名,并通过预先配置的回调网址返回。

  4. 应用代表用户执行操作,向 Kubernetes API 服务器发送 HTTPS 请求。应用在请求标头中包含用户的 ID 令牌。

  5. Kubernetes API 服务器使用提供商的证书来验证 ID 令牌,并解析令牌以了解用户的身份和用户的群组(如果存在)。

通常,OIDC 设置和身份验证涉及三个角色:

  • 组织管理员,选择 OpenID 提供商,并向提供商注册客户端应用。

  • 平台管理员,创建一个或多个集群,并为使用这些集群的用户创建身份验证配置文件。

  • 应用运营者或开发者,在一个或多个集群上运行工作负载,并使用 OIDC 进行身份验证。

您可以使用任何经过认证的 OpenID 提供商(提供商获得 OpenID Foundation 认证)。具体的注册流程因提供商而异,但通常包括以下步骤:

  1. 了解提供商的颁发者 URI。这是 gcloud CLI 或 Google Cloud Console 发送身份验证请求的位置。

  2. 为提供商提供 gcloud CLI 和 Cloud Console 的重定向网址。

  3. 建立客户端 ID 和客户端密钥。gcloud CLI 和 Cloud Console 均使用此客户端 ID/密钥向 OpenID 提供商进行身份验证。

  4. 为安全组建立自定义范围和声明。一般而言,您应基于群组而不是用户来定义集群 RBAC 政策,以使政策更稳定和可审核。如果请求了适当的范围,大多数 OIDC 提供商会在 ID 令牌中包含群组声明。具体的群组声明和范围因 OIDC 提供商而异,因此,在建立特定于提供商的范围和声明时,需要进行自定义。

在安装新的 Anthos clusters on Bare Metal 集群之前,平台管理员通常会从组织管理员获取 OIDC 配置,并在集群配置中配置相关的 OIDC 字段。

集群安装完成后,平台管理员获取身份验证配置文件并与 CLI 用户共享。通常,平台管理员共享身份验证配置的方法是在安全主机上托管文件,或使用内部工具将配置文件推送到每个用户的机器上。CLI 用户随后使用共享的配置文件对新集群进行身份验证。

平台管理员还可以在单个身份验证配置文件中存储多个集群的身份验证配置详细信息。

请注意,Cloud Console 用户不需要这些配置文件。当用户访问 Cloud Console 时,他们可以选择为集群配置的 Authenticate with the Identity Provider,然后点击 Login.