2.2. 将用户从 Red Hat Single-Sign On (RHSSO)置备到软件目录


先决条件

流程

  • 要启用 RHSSO 成员发现,请编辑自定义 Developer Hub ConfigMap,如 app-config-rhdh,并将以下行添加到 app-config-rhdh.yaml 内容中:

    带有强制 keycloakOrg 字段的 app-config.yaml 片段

    dangerouslyAllowSignInWithoutUserInCatalog: false
    catalog:
      providers:
        keycloakOrg:
          default:
            baseUrl: ${AUTH_OIDC_METADATA_URL}
            clientId: ${AUTH_OIDC_CLIENT_ID}
            clientSecret: ${AUTH_OIDC_CLIENT_SECRET}

    dangerouslyAllowSignInWithoutUserInCatalog: false
    只允许 Developer Hub 软件目录中存在的用户进行身份验证。
    baseUrl
    您的 RHSSO 服务器 URL,在启用 RHSSO 身份验证时定义。
    clientId
    RHSSO 中的 Developer Hub 应用程序客户端 ID,在使用 RHSSO 启用身份验证 时定义。
    clientSecret
    RHSSO 中的 Developer Hub 应用程序客户端 secret,在使用 RHSSO 启用身份验证 时定义。

    可选: 考虑添加以下可选字段:

    realm

    要同步的域。默认值: master

    带有可选 realm 字段的 app-config.yaml 片段

    catalog:
      providers:
        keycloakOrg:
          default:
            realm: master

    loginRealm

    用于验证的域。默认值: master

    带有可选 loginRealm 字段的 app-config.yaml 片段

    catalog:
      providers:
        keycloakOrg:
          default:
            loginRealm: master

    userQuerySize

    同时查询的用户号。默认值 :100

    带有可选 userQuerySize 字段的 app-config.yaml 片段

    catalog:
      providers:
        keycloakOrg:
          default:
            userQuerySize: 100

    groupQuerySize

    同时查询的组号。默认值 :100

    带有可选 groupQuerySize 字段的 app-config.yaml 片段

    catalog:
      providers:
        keycloakOrg:
          default:
            groupQuerySize: 100

    schedule.frequency

    指定自定义调度频率。支持代码中使用的 cron、ISO 持续时间和"human 持续时间"。

    带有可选 schedule.frequency 字段的 app-config.yaml 片段

    catalog:
      providers:
        keycloakOrg:
          default:
            schedule:
              frequency: { hours: 1 }

    schedule.timeout

    指定自定义超时。支持代码中使用的 ISO 持续时间和"human duration"。

    带有可选 schedule.timeout 字段的 app-config.yaml 片段

    catalog:
      providers:
        keycloakOrg:
          default:
            schedule:
              timeout: { minutes: 50 }

    schedule.initialDelay

    指定自定义初始延迟。支持代码中使用的 ISO 持续时间和"human duration"。

    带有可选 schedule.initialDelay 字段的 app-config.yaml 片段

    catalog:
      providers:
        keycloakOrg:
          default:
            schedule:
              initialDelay: { seconds: 15}

验证

  1. 检查控制台日志,以验证同步是否已完成。

    成功同步示例:

    {"class":"KeycloakOrgEntityProvider","level":"info","message":"Read 3 Keycloak users and 2 Keycloak groups in 1.5 seconds. Committing...","plugin":"catalog","service":"backstage","taskId":"KeycloakOrgEntityProvider:default:refresh","taskInstanceId":"bf0467ff-8ac4-4702-911c-380270e44dea","timestamp":"2024-09-25 13:58:04"}
    {"class":"KeycloakOrgEntityProvider","level":"info","message":"Committed 3 Keycloak users and 2 Keycloak groups in 0.0 seconds.","plugin":"catalog","service":"backstage","taskId":"KeycloakOrgEntityProvider:default:refresh","taskInstanceId":"bf0467ff-8ac4-4702-911c-380270e44dea","timestamp":"2024-09-25 13:58:04"}

  2. 使用 RHSSO 帐户登录。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.