11.2. 为 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.2.1. 配置 Red Hat Single Sign-On Operator 以与 Red Hat Quay Operator 搭配使用

使用以下步骤为 OpenShift Container Platform 上的 Red Hat Quay Operator 配置 Red Hat Single Sign-On。

先决条件

流程

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

    1. 在 OpenShift Container Platform Web 控制台中,导航到 Network Route
    2. 从下拉列表中选择 Red Hat Single Sign-On 项目。
    3. Routes 表中查找 Red Hat Single Sign-On Admin Console
  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 URIs。您必须提供三个重定向 URI。该值应该是 Red Hat Quay registry 的完全限定域名,并附加 /oauth2/redhatsso/callback。例如:

    • https://<quay_endpoint>/oauth2/redhatsso/callback
    • https://<quay_endpoint>/oauth2/redhatsso/callback/attach
    • https://<quay_endpoint>/oauth2/redhatsso/callback/cli
  8. 单击 Save,再导航到新的 Credentials 设置。
  9. 复制 Secret 的值。

11.2.1.1. 将 Red Hat Quay Operator 配置为使用 Red Hat Single Sign-On

使用以下步骤使用 Red Hat Quay Operator 配置 Red Hat Single Sign-On。

先决条件

流程

  1. 进入 Operators Installed Operators Red Hat Quay Quay Registry Config Bundle Secret 来编辑 Red Hat Quay config.yaml 文件。然后,点击 Actions Edit Secret。另外,您可以在本地更新 config.yaml 文件。
  2. 在 OpenShift Container Platform config.yaml 文件中的 Red Hat Quay 中添加以下信息:

    # ...
    RHSSO_LOGIN_CONFIG: 1
      CLIENT_ID: <client_id> 2
      CLIENT_SECRET: <client_secret> 3
      OIDC_SERVER: <oidc_server_url> 4
      SERVICE_NAME: <service_name> 5
      SERVICE_ICON: <service_icon> 6
      VERIFIED_EMAIL_CLAIM_NAME: <example_email_address> 7
      PREFERRED_USERNAME_CLAIM_NAME: <preferred_username> 8
      LOGIN_SCOPES: 9
        - 'openid'
    # ...
    1
    包含 OIDC 配置设置的父密钥。在本例中,使用的父键是 AZURE_LOGIN_CONFIG,但字符串 AZURE 可根据您的具体需求替换任意字符串,如 ABC123.However,以下字符串不接受: GOOGLE,GITHUB。这些字符串为相应的身份平台保留,需要在您使用的平台时遵循特定的 config.yaml 条目。
    2
    要注册到身份提供程序的应用程序的客户端 ID,如 quay-enterprise
    3
    quay-enterprise OIDC 客户端设置的 Credentials 选项卡中的客户端 Secret。
    4
    Red Hat Single Sign-On 实例的完全限定域名(FQDN)附加了 /auth/realms/ 和 Realm 名称。您必须在末尾包含正斜杠,例如 https://sso-redhat.example.com//auth/realms/<keycloak_realm_name>/
    5
    在 Red Hat Quay 登录页面中显示的名称,如 Red Hat Single Sign On
    6
    更改登录屏幕上的图标。例如,/static/img/RedHat.svg
    7
    用于验证用户电子邮件地址的声明名称。
    8
    用于验证用户电子邮件地址的声明名称。
    9
    执行登录流时要发送到 OIDC 供应商的范围,如 openid
  3. 在启用了 Red Hat Single Sign-On 后重启 Red Hat Quay on OpenShift Container Platform 部署。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.