第 4 章 OpenID Connect 概述

OpenID Connect (OIDC)使用安全令牌服务(STS)来允许客户端提供 Web 身份令牌来访问多个服务。当客户端使用 STS 登录到服务时,会根据 OIDC 身份提供程序验证令牌。

OIDC 协议使用配置 URL,其中包含验证客户端身份的必要信息。该协议使用供应商所需的凭证来响应提供程序,以验证客户端并登录。

Red Hat OpenShift Service on AWS 集群使用 STS 和 OIDC 来授予集群内 Operator 对所需 AWS 资源的访问权限。

4.1. 了解 OIDC 验证选项

OIDC 验证有三个选项:

  • 未注册,管理的 OIDC 配置

    在集群安装过程中会为您创建未注册、管理的 OIDC 配置。该配置托管在红帽的 AWS 帐户下。这个选项不为您提供链接到 OIDC 配置的 ID,因此您只能在单个集群中使用这种类型的 OIDC 配置。

  • 注册、管理的 OIDC 配置

    在开始创建集群前,您可以创建注册的、管理的 OIDC 配置。此配置托管在红帽的 AWS 帐户下,如取消注册的受管 OIDC 配置。当您将这个选项用于 OIDC 配置时,您会收到到 OIDC 配置链接的 ID。红帽使用此 ID 来识别签发者 URL 和私钥。然后,您可以使用此 URL 和私钥创建身份提供程序和 Operator 角色。这些资源通过使用 Identity and Access Management (IAM) AWS 服务在 AWS 帐户下创建。您还可以在集群创建过程中使用 OIDC 配置 ID。

  • registered, 非受管 OIDC 配置

    在开始创建集群前,您可以创建注册的、非受管 OIDC 配置。此配置托管在您的 AWS 帐户下。使用这个选项时,您需要管理私钥。您可以使用 AWS Secrets Manager (SM)服务和托管配置的签发者 URL 将私钥存储在 AWS secret 文件中,将配置注册到 Red Hat OpenShift Cluster Manager。您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI, rosa, 使用 rosa create oidc-config --managed=false 命令创建注册的、非受管 OIDC 配置。此命令在您的帐户下创建并托管配置,并创建必要的文件和私钥。此命令还会将配置注册到 OpenShift Cluster Manager。

注册的选项可用于在开始创建集群前创建所需的 IAM 资源。这个选项会导致安装时间更快,因为集群创建过程中有一个等待周期,安装会暂停,直到创建 OIDC 供应商和 Operator 角色为止。

对于 ROSA Classic,您可以使用任何 OIDC 配置选项。如果您使用带有 HCP 的 ROSA,您必须创建注册的 OIDC 配置,可以是受管或非受管。您可以与其他集群共享注册的 OIDC 配置。通过共享配置,您还可以共享 provider 和 Operator 角色。

注意

不建议在生产环境集群中重复使用 OIDC 配置、OIDC 供应商和 Operator 角色,因为在整个集群中都使用了验证验证。红帽建议仅在非生产环境测试环境中重复使用资源。