第 8 章 使用外部 OIDC 身份提供程序启用直接身份验证
虽然内置的 OpenShift OAuth 服务器支持与各种身份提供程序集成,包括外部 OpenID Connect (OIDC) 身份提供程序,但它仅限于 OAuth 服务器本身的功能。您可以将 OpenShift Container Platform 配置为使用外部 OIDC 身份提供程序,来签发令牌以替代内置的 OpenShift OAuth 服务器。
8.1. 关于使用外部 OIDC 身份提供程序直接验证 复制链接链接已复制到粘贴板!
您可以启用直接与外部 OpenID Connect (OIDC) 身份提供程序集成来发布令牌以进行身份验证。这会绕过内置的 OAuth 服务器,并直接使用外部身份提供程序。
通过直接与外部 OIDC 供应商集成,您可以利用首选 OIDC 供应商的高级功能,而不受内置 OAuth 服务器的功能的限制。您的机构可以从单一接口管理用户和组,同时简化跨多个集群和混合环境的身份验证。您还可以与现有工具和解决方案集成。
目前,您只能配置一个 OIDC 供应商进行直接身份验证。
在切换到直接身份验证后,无法保证现有的身份验证配置会被保留。在启用直接身份验证前,请备份任何现有的用户、组、oauthclient 或身份提供程序配置,以防您需要使用内置的 OAuth 服务器进行身份验证。
在将内置 OAuth 服务器替换为外部提供程序之前,请确保可以使用集群管理员权限登录长期方法,例如:
-
基于证书的用户
kubeconfig文件,如安装程序生成的文件 -
长期服务帐户令牌
kubeconfig文件 -
基于证书的服务帐户
kubeconfig文件
如果外部身份提供程序存在任何问题,则需要一种方法在紧急情况下访问 OpenShift Container Platform 集群。
8.1.1. 禁用的 OAuth 资源 复制链接链接已复制到粘贴板!
当您启用直接身份验证时,会有意删除几个 OAuth 资源。
在配置直接身份验证前,请确保您不依赖于这些删除的资源。
配置直接身份验证时,以下资源不可用:
- OpenShift OAuth 服务器和 OpenShift OAuth API 服务器
-
用户和组 API (.<
;user.openshift.io) -
OAuth API (
oauth.openshift.io) - OAuth 服务器和客户端配置
8.1.2. 直接身份验证身份提供程序 复制链接链接已复制到粘贴板!
直接身份验证已使用以下 OpenID Connect (OIDC)身份提供程序进行测试:
- Active Directory Federation Services for Windows Server
- GitLab
- Keycloak
- Microsoft Entra ID
- Okta
- Ping 身份
- 红帽单点登录
红帽没有测试与第三方身份提供程序功能关联的所有因素。有关第三方支持的更多信息,请参阅红帽第三方支持政策。