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: masterloginRealm用于验证的域。默认值:
master。带有可选
loginRealm字段的app-config.yaml片段catalog: providers: keycloakOrg: default: loginRealm: masteruserQuerySize同时查询的用户号。默认值
:100。带有可选
userQuerySize字段的app-config.yaml片段catalog: providers: keycloakOrg: default: userQuerySize: 100groupQuerySize同时查询的组号。默认值
:100。带有可选
groupQuerySize字段的app-config.yaml片段catalog: providers: keycloakOrg: default: groupQuerySize: 100schedule.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 帐户登录。