2.2. 将来自红帽构建的 Keycloak (RHBK)的用户置备到软件目录


流程

  • 要启用 RHBK 成员发现,请编辑自定义 Developer Hub ConfigMap,如 app-config-rhdh,并将以下行添加到 app-config.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
    您的 RHBK 服务器 URL,在启用 RHBK 身份验证时定义。
    clientId
    RHBK 中的开发人员 Hub 应用程序客户端 ID,在启用 RHBK 身份验证时定义。
    clientSecret
    RHBK 中的开发人员 Hub 应用程序客户端机密,在启用 RHBK 身份验证时定义。

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

    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. 使用 RHBK 帐户登录。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.