6.8. Keycloak のインストールと設定
Keycloak を Developer Hub に統合する Keycloak バックエンドプラグインには、次の機能があります。
- レルム内の Keycloak ユーザーの同期
- レルム内の Keycloak グループとそのユーザーの同期
6.8.1. 管理者の場合
6.8.1.1. インストール
Keycloak プラグインは、基本的な設定プロパティーとともに Developer Hub にプリロードされています。これを有効にするには、次のように、disabled
プロパティーを false
に設定します。
global: dynamic: includes: - dynamic-plugins.default.yaml plugins: - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-keycloak-backend-dynamic disabled: false
6.8.1.2. Basic configuration
Keycloak プラグインを有効にするには、次の環境変数を設定する必要があります。
-
KEYCLOAK_BASE_URL
-
KEYCLOAK_LOGIN_REALM
-
KEYCLOAK_REALM
-
KEYCLOAK_CLIENT_ID
-
KEYCLOAK_CLIENT_SECRET
6.8.1.3. 詳細設定
スケジュール設定
次のように、app-config.yaml
ファイルでスケジュールを設定できます。
catalog: providers: keycloakOrg: default: # ... # highlight-add-start schedule: # optional; same options as in TaskScheduleDefinition # supports cron, ISO duration, "human duration" as used in code frequency: { minutes: 1 } # supports ISO duration, "human duration" as used in code timeout: { minutes: 1 } initialDelay: { seconds: 15 } # highlight-add-end
app-config.yaml
ファイルのスケジュールに変更を加えた場合は、再起動して変更を適用します。
Keycloak クエリーパラメーター
次のように、app-config.yaml
ファイル内のデフォルトの Keycloak クエリーパラメーターをオーバーライドできます。
catalog: providers: keycloakOrg: default: # ... # highlight-add-start userQuerySize: 500 # Optional groupQuerySize: 250 # Optional # highlight-add-end
Developer Hub と Keycloak 間の通信は、Keycloak API を使用して有効になります。ユーザー名およびパスワード、またはクライアント認証情報は、認証方法に対応しています。
以下の表は、app-config.yaml
ファイルの catalog.providers.keycloakOrg.<ENVIRONMENT_NAME>
オブジェクトでプラグインを有効にするために設定できるパラメーターを説明しています。
名前 | 説明 | デフォルト値 | 必須 |
---|---|---|---|
|
Keycloak サーバーの場所 (例: | "" | はい |
| 同期するレルム |
| いいえ |
| 認証に使用するレルム |
| いいえ |
| 認証するユーザー名 | "" | パスワードベースの認証を使用している場合は Yes |
| 認証するパスワード | "" | パスワードベースの認証を使用している場合は Yes |
| 認証するクライアント ID | "" | クライアントクレデンシャルベースの認証を使用している場合は Yes |
| 認証するクライアントシークレット | "" | クライアントクレデンシャルベースの認証を使用している場合は Yes |
| 一度にクエリーするユーザーの数 |
| いいえ |
| 一度にクエリーするグループの数 |
| いいえ |
クライアントクレデンシャルを使用する場合は、アクセスタイプを confidential
に設定し、サービスアカウントを有効にする必要があります。realm-management
クライアントロールから以下のロールも追加する必要があります。
-
query-groups
-
query-users
-
view-users
6.8.1.4. 制限事項
自己署名または企業証明書に問題がある場合は、Developer Hub を開始する前に以下の環境変数を設定できます。
NODE_TLS_REJECT_UNAUTHORIZED=0
環境変数を設定するソリューションは推奨されません。
6.8.2. ユーザーの場合
6.8.2.1. Keycloak プラグインを使用した Developer Hub へのユーザーとグループのインポート
プラグインが正常に設定されると、プラグインは起動するたびにユーザーとグループをインポートします。
スケジュールを設定すると、ユーザーとグループもインポートされます。
最初のインポートが完了したら、User を選択して、カタログページからユーザーの一覧を表示できます。
ページにユーザーの一覧が表示されます。
ユーザーを選択すると、Keycloak からインポートされた情報が表示されます。
グループを選択し、リストを表示して、Keycloak からインポートされたグループの情報を選択または表示することもできます。