3.3. Red Hat build of Keycloak (RHBK) からソフトウェアカタログにユーザーをプロビジョニングするためのカスタムトランスフォーマーの作成
RHBK ユーザーとグループを Red Hat Developer Hub エンティティーにマッピングする方法をカスタマイズするには、keycloakTransformerExtensionPoint を使用して Keycloak バックエンドにカスタムのユーザーおよびグループトランスフォーマーを提供するバックエンドモジュールを作成します。
手順
-
yarn newコマンドで新しいバックエンドモジュールを作成します。 カスタムのユーザーおよびグループトランスフォーマーを
keycloakTransformerExtensionPointに追加します。以下は、バックエンドモジュールを定義する方法の例です。
plugins/<module-name>/src/module.tsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要モジュールの
pluginIdは、keycloak-backendのpluginIdと一致するようにcatalogに設定する必要があります。そうしないと、モジュールは初期化に失敗します。この新しいバックエンドモジュールを Developer Hub バックエンドにインストールします。
backend.add(import(backstage-plugin-catalog-backend-module-keycloak-transformer))
backend.add(import(backstage-plugin-catalog-backend-module-keycloak-transformer))Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
Developer Hub は起動するたびにユーザーとグループをインポートします。コンソールログをチェックして、同期が完了したことを確認します。
同期が成功した例:
{"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"}{"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"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 最初のインポートが完了したら、Catalog ページに移動し、User を選択してユーザーのリストを表示します。
- ユーザーを選択すると、RHBK からインポートされた情報が表示されます。
- グループを選択してリストを表示し、RHBK からインポートされた情報にアクセスしたり確認したりできます。
- RHBK アカウントでログインできます。