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 レルムでクライアントを作成、更新、および削除します。