2.2. 将用户从 Red Hat Single-Sign On (RHSSO)置备到软件目录
先决条件
- 您可以使用 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}
验证
检查控制台日志,以验证同步是否已完成。
成功同步示例:
{"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"}
- 使用 RHSSO 帐户登录。