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: 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 期間、および "人間が判読可能な期間" をサポートします。
オプションの
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 アカウントでログインします。