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> オブジェクトでプラグインを有効にするために設定できるパラメーターを説明しています。

名前説明デフォルト値必須

baseUrl

Keycloak サーバーの場所 (例: https://localhost:8443/auth)。Keycloak の新しいバージョンでは、/auth コンテキストパスが省略されることに注意してください。

""

はい

realm

同期するレルム

master

いいえ

loginRealm

認証に使用するレルム

master

いいえ

username

認証するユーザー名

""

パスワードベースの認証を使用している場合は Yes

password

認証するパスワード

""

パスワードベースの認証を使用している場合は Yes

clientId

認証するクライアント ID

""

クライアントクレデンシャルベースの認証を使用している場合は Yes

clientSecret

認証するクライアントシークレット

""

クライアントクレデンシャルベースの認証を使用している場合は Yes

userQuerySize

一度にクエリーするユーザーの数

100

いいえ

groupQuerySize

一度にクエリーするグループの数

100

いいえ

クライアントクレデンシャルを使用する場合は、アクセスタイプを 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 を選択して、カタログページからユーザーの一覧を表示できます。

catalog-list

ページにユーザーの一覧が表示されます。

user-list

ユーザーを選択すると、Keycloak からインポートされた情報が表示されます。

user-profile

グループを選択し、リストを表示して、Keycloak からインポートされたグループの情報を選択または表示することもできます。

group-profile
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.