第 11 章 为 Red Hat Quay 配置 OIDC
为 Red Hat Quay 配置 OpenID Connect (OIDC)可以为 Red Hat Quay 部署提供一些优点。例如,OIDC 允许用户使用来自 OIDC 供应商的现有凭证(如 Red Hat Single Sign-On、Google、Github、Microsoft 等)向 Red Hat Quay 进行身份验证。OIDC 的其他优点包括集中式用户管理、增强安全性和单点登录(SSO)。总体而言,OIDC 配置可以简化用户身份验证和管理,增强安全性,并为 Red Hat Quay 用户提供无缝的用户体验。
以下流程演示了如何配置 Red Hat Single Sign-On 和 Azure AD。这些步骤包括在 Red Hat Quay Operator 上配置 OIDC,以及使用 Red Hat Quay 配置工具在独立部署中配置 OIDC。
按照以下步骤,无论您选择使用什么身份提供程序,您都可以在 Red Hat Quay 中添加任何 OIDC 供应商。
11.1. 为 Red Hat Quay 配置 Red Hat Single Sign-On
根据 Keycloak 项目,Red Hat Single Sign-On (RH-SSO)是一个红帽提供的开源身份和访问管理(IAM)解决方案。RH-SSO 允许组织在其系统和应用程序之间管理用户身份、安全应用程序和强制实施访问控制策略。它还提供了一个统一的身份验证和授权框架,允许用户一次登录并获得对多个应用和资源的访问权限,而无需重新验证。如需更多信息,请参阅 Red Hat Single Sign-On。
通过在 Red Hat Quay 上配置 Red Hat Single Sign-On,您可以在 Red Hat Quay 和其他 OpenShift Container Platform 等应用平台之间创建无缝身份验证集成。
11.1.1. 为 Red Hat Quay Operator 配置 Red Hat Single Sign-On Operator
使用以下步骤为 OpenShift Container Platform 上的 Red Hat Quay Operator 配置 Red Hat Single Sign-On。
先决条件
- 您已为 Red Hat Quay Operator 配置 Red Hat Single Sign-On。如需更多信息,请参阅 Red Hat Single Sign-On Operator。
- 您已为 Red Hat Quay 部署和 Red Hat Single Sign-On 配置了 TLS/SSL。
- 您已生成了一个证书颁发机构(CA),并将其上传到 Red Hat Single Sign-On Operator 和 Red Hat Quay 配置。
- 已登陆到 OpenShift Container Platform 集群。
-
已安装 OpenShift CLI(
oc
)。
流程
导航到 Red Hat Single Sign-On Admin Console。
-
在 OpenShift Container Platform Web 控制台中 导航至 Network
Route。 - 从下拉列表中选择 Red Hat Single Sign-On 项目。
- 在 Routes 表中查找 Red Hat Single Sign-On Admin 控制台。
-
在 OpenShift Container Platform Web 控制台中 导航至 Network
- 选择您要用来配置 Red Hat Quay 的 Realm。
- 单击导航面板的 Configure 部分下的 Clients,然后单击 Create 按钮为 Red Hat Quay 添加新的 OIDC。
输入以下信息。
-
客户端 ID:
quay-enterprise
-
客户端协议:
openid-connect
-
根 URL:
https://<quay endpoint>/
-
客户端 ID:
- 点击 Save。这会导致重定向到 Clients 设置面板。
- 导航到 Access Type 并选择 Confidential。
导航到 Valid Redirect URI。您必须提供三个重定向 URI。该值应该是 Red Hat Quay registry 的完全限定域名,附加了
/oauth2/redhatsso/callback
。例如:- 点 Save 并进入新的 Credentials 设置。
- 复制 Secret 的值。
11.1.2. 将 Red Hat Quay Operator 配置为使用 Red Hat Single Sign-On
使用以下步骤使用 Red Hat Quay Operator 配置 Red Hat Single Sign-On。
先决条件
- 您已为 Red Hat Quay Operator 配置了 Red Hat Single Sign-On Operator。
流程
-
进入到 Operators
Installed Operators,输入 Red Hat Quay config editor 工具。点 Red Hat Quay Quay Registry。然后,单击 Red Hat Quay registry 的名称,以及通过 Config Editor Endpoint 列出的 URL。 将自定义 SSL/TLS 证书上传到 OpenShift Container Platform 部署。
- 导航到 Red Hat Quay 配置工具 UI。
- 在 Custom SSL Certificates 下,点 Select file 并上传您的自定义 SSL/TLS 证书。
- 重新配置 Red Hat Quay 部署。
- 向下滚动到 External Authorization (OAuth) 部分。
- 点 Add OIDC Provider。
-
出现提示时,输入
redhatsso
。 输入以下信息:
-
OIDC 服务器: Red Hat Single Sign-On 实例的完全限定域名(FQDN),附加了
/auth/realms/
和 Realm 名称。您必须在末尾包括正斜杠,例如https://sso-redhat.example.com//auth/realms/<keycloak_realm_name>/
。 -
客户端 ID : 被身份提供程序重新获得的应用程序的客户端 ID,如
quay-enterprise
。 -
Client Secret :
quay-enterprise
OIDC 客户端设置的 Credentials 选项卡中的 Secret。 -
Service Name: 在 Red Hat Quay 登录页面中显示的名称,例如,
Red Hat Single Sign On
。 - 验证电子邮件地址: 用于验证用户电子邮件地址的声明名称。
-
Login Scopes : 执行登录流时发送到 OIDC 供应商的范围,如
openid
。配置后,您必须单击 Add。
-
OIDC 服务器: Red Hat Single Sign-On 实例的完全限定域名(FQDN),附加了
- 向下滚动并单击 Validate Configuration Changes。然后,点 Restart Now 部署启用了 OIDC 的 Red Hat Quay Operator。