12.3. 3scale Zync がアプリケーションの情報を OpenID Connect アイデンティティープロバイダーと同期する方法

Zync は、3scale アプリケーションに関するデータを OpenID Connect アイデンティティープロバイダーに確実にプッシュする 3scale のコンポーネントです。この対話では、3scale アプリケーションは OpenID Connect アイデンティティープロバイダークライアントに対応します。つまり、Zync は OpenID Connect アイデンティティープロバイダーと通信して OpenID Connect クライアントの作成、更新、および削除を行います。

Zync は Keycloak のデフォルトのクライアント登録 を実装します。この API を使用する場合は、クライアントの表現が Keycloak および RH-SSO 固有であることを意味します。アイデンティティープロバイダーは、3scale アプリケーションの認証クレデンシャルであるクライアント ID およびクライアントシークレットを返します。

3scale がアプリケーションの作成、更新、または削除を行うたびに、Zync は OpenID Connect アイデンティティープロバイダーと通信し、対応するクライアントを適宜更新します。同期を成功させるには、指定の 3scale プロダクトに以下の設定が必要です。

  • 認証メカニズムは OpenID Connect です。
  • OpenID Connect Issuer Type は以下のいずれかになります。

    • RH-SSO: Red Hat Single Sign-On が OpenID Connect アイデンティティープロバイダーの場合。この発行者タイプを使用すると、Zync はクライアント登録要求を Keycloak/RH-SSO のデフォルトクライアント登録 API に送信します。
    • REST API: 他の OpenID Connect アイデンティティープロバイダーの場合。この発行者タイプを使用すると、Zync は Zync REST API の例 に示すようにクライアント登録要求を送信します。
  • 以下の URL は OpenID Connect Issuer:http://id:/api_endpoint です。

OpenShift クラスターにデプロイする場合には、2 つの Zync プロセスがあります。

  • zync は、system-sidekiq から通知を受け取り、バックグラウンドジョブを zync-que にキューに追加する REST API です。通知には、新規、更新、および削除された 3scale アプリケーションに関するものがあります。
  • Zync-que は、system-app と OpenID Connect アイデンティティープロバイダーと通信するこれらのバックグラウンドジョブを処理します。たとえば、RH-SSO が設定された OpenID Connect アイデンティティープロバイダーの場合には、Zync は RH-SSO レルムでクライアントを作成、更新、および削除します。