第 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)。

流程

  1. 导航到 Red Hat Single Sign-On Admin Console

    1. 在 OpenShift Container Platform Web 控制台中 导航至 NetworkRoute
    2. 从下拉列表中选择 Red Hat Single Sign-On 项目。
    3. Routes 表中查找 Red Hat Single Sign-On Admin 控制台
  2. 选择您要用来配置 Red Hat Quay 的 Realm。
  3. 单击导航面板的 Configure 部分下的 Clients,然后单击 Create 按钮为 Red Hat Quay 添加新的 OIDC。
  4. 输入以下信息。

    • 客户端 ID: quay-enterprise
    • 客户端协议: openid-connect
    • 根 URL: https://<quay endpoint>/
  5. 点击 Save。这会导致重定向到 Clients 设置面板。
  6. 导航到 Access Type 并选择 Confidential
  7. 导航到 Valid Redirect URI。您必须提供三个重定向 URI。该值应该是 Red Hat Quay registry 的完全限定域名,附加了 /oauth2/redhatsso/callback。例如:

  8. Save 并进入新的 Credentials 设置。
  9. 复制 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。

流程

  1. 进入到 OperatorsInstalled Operators,输入 Red Hat Quay config editor 工具。点 Red Hat QuayQuay Registry。然后,单击 Red Hat Quay registry 的名称,以及通过 Config Editor Endpoint 列出的 URL。
  2. 将自定义 SSL/TLS 证书上传到 OpenShift Container Platform 部署。

    1. 导航到 Red Hat Quay 配置工具 UI。
    2. Custom SSL Certificates 下,点 Select file 并上传您的自定义 SSL/TLS 证书。
    3. 重新配置 Red Hat Quay 部署。
  3. 向下滚动到 External Authorization (OAuth) 部分。
  4. Add OIDC Provider
  5. 出现提示时,输入 redhatsso
  6. 输入以下信息:

    • 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
  7. 向下滚动并单击 Validate Configuration Changes。然后,点 Restart Now 部署启用了 OIDC 的 Red Hat Quay Operator。