第 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。
注册、非受管 OIDC 配置
在开始创建集群时,您可以创建一个注册的、非受管 OIDC 配置。此配置托管在 AWS 帐户下。使用此选项时,您负责管理私钥。您可以使用 AWS Secrets Manager (SM)服务以及托管配置的签发者 URL 将私钥存储在 AWS secret 文件中,将配置注册到 Red Hat OpenShift Cluster Manager。您可以使用 AWS (ROSA) CLI 上的 Red Hat OpenShift Service,使用
rosa
create oidc-config --managed=false
注册的选项可用于在创建集群前创建所需的 IAM 资源。这个选项可以更快地安装,因为在集群创建过程中有一个等待时间,安装会暂停,直到创建 OIDC 供应商和 Operator 角色为止。
对于 ROSA Classic,您可以使用任何 OIDC 配置选项。如果您使用带有 HCP 的 ROSA,您必须创建注册的 OIDC 配置,可以是 managed 或 unmanaged。您可以将注册的 OIDC 配置与其他集群共享。这种共享配置的功能还允许您共享供应商和 Operator 角色。
对于生产环境集群,不建议在集群间重复使用 OIDC 配置、OIDC 供应商和 Operator 角色,因为这些集群中都会使用验证验证。红帽建议仅在非生产环境测试环境中重复使用资源。