2.2. Red Hat build of Keycloak (RHBK) からソフトウェアカタログへのユーザーのプロビジョニング
前提条件
手順
RHBK メンバー検出を有効にするには、
app-config-rhdhなどのカスタム Developer Hub ConfigMap を編集し、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 による認証を有効にする ときに定義される RHBK サーバー URL。
clientId- RHBK での認証を有効にする ときに定義される、RHBK 内の Developer Hub アプリケーションクライアント ID。
clientSecret- RHBK での認証を有効にする ときに定義される、RHBK 内の Developer Hub アプリケーションクライアントシークレット。
オプション: 次のオプションフィールドを追加することを検討してください。
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 期間、および "人間が判読可能な期間" をサポートします。
オプションの
schedule.frequencyフィールドを含むapp-config.yamlフラグメントcatalog: providers: keycloakOrg: default: schedule: frequency: { hours: 1 }schedule.timeoutカスタムタイムアウトを指定します。コード内で使用される ISO 期間と "人間が判読可能な期間" をサポートします。
オプションの
schedule.timeoutフィールドを含むapp-config.yamlフラグメントcatalog: providers: keycloakOrg: default: schedule: timeout: { minutes: 50 }schedule.initialDelayカスタム初期遅延を指定します。コード内で使用される ISO 期間と "人間が判読可能な期間" をサポートします。
オプションの
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"}- RHBK アカウントでログインします。