8.2. サービスディスカバリーの設定
3scale の管理者は、OAuth サーバーの使用/不使用とは独立に、サービスディスカバリーを設定することができます。
前提条件
- OpenShift クラスター (バージョン 3.11 以降) に 3scale 2.6 をデプロイしている必要があります。
- 3scale を OpenShift にデプロイするには、3scale-amp-openshift-templates を使用する必要があります。
- サービスディスカバリーを使用する 3scale ユーザーは、OpenShift クラスターにアクセスできる必要があります。
8.2.1. OAuth サーバーを使用した設定 リンクのコピーリンクがクリップボードにコピーされました!
Open Authorization (OAuth) サーバーと共に 3scale サービスディスカバリーを設定する場合、ユーザーが 3scale にサインインした際のフローは以下のとおりです。
- ユーザーが OAuth サーバーにリダイレクトされる。
- ユーザーがまだ OAuth サーバーにログインしていなければ、ログインを求められる。
- ユーザーが 3scale のサービスディスカバリーと SSO の組み合わせを初めて実装する場合には、OAuth サーバーは必要なアクションを実行するために承認を要求する。
- ユーザーが再度 3scale にリダイレクトされる。
OAuth サーバー と組み合わせてサービスディスカバリーを設定する場合には、以下のオプションがあります。
8.2.1.1. OpenShift OAuth サーバーの使用 リンクのコピーリンクがクリップボードにコピーされました!
3scale のシステム管理者は、ユーザーが OpenShift の組み込み OAuth サーバーを使用して、個別に認証、3scale を承認して API を検出するのを許可することができます。
3scale 用の OpenShift OAuth クライアントを作成します。OpenShift の認証の詳細は、OAuth Clients を参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 3scale サービスディスカバリーの設定ファイルを開きます。
oc project <3scale-project>
$ oc project <3scale-project> $ oc edit configmap system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが適切なアクセス権限を持ち、検出可能なサービスが含まれるクラスタープロジェクトを表示できるようにしてください。
<user> で表される管理ユーザーに、検出されるサービスが含まれる <namespace> プロジェクトを表示する権限を付与するには、以下のコマンドを使用します。
oc adm policy add-role-to-user view <user> -n <namespace>
oc adm policy add-role-to-user view <user> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow configmap
を変更したら、system-app
およびsystem-sidekiq
Pod を再デプロイし、変更を適用する必要があります。oc rollout latest dc/system-app oc rollout latest dc/system-sidekiq
oc rollout latest dc/system-app oc rollout latest dc/system-sidekiq
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
補足説明
Token options に記載されるように、デフォルトでは OpenShift OAuth セッショントークンの有効期限は 24 時間です。
8.2.1.2. RH-SSO サーバー (Keycloak) の使用 リンクのコピーリンクがクリップボードにコピーされました!
システム管理者は、ユーザーが OpenShift 向け Red Hat Single Sign-On を使用して、個別に認証、3scale を承認してサービスを検出するのを許可することができます。OpenShift の承認ゲートウェイとして RH-SSO デプロイメントを使用する OpenShift の設定例については、この ワークフロー を参照してください。
Red Hat OAuth サーバー (Keycloak) に、3scale 用の OAuth クライアントを作成します。
注記クライアント設定で、OpenShift がアカウントをリンクすることができるように、
username
がpreferred_username
にマッピングされていることを確認します。3scale サービスディスカバリーの設定を編集します。
oc project <3scale-project>
$ oc project <3scale-project> $ oc edit configmap system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように設定されていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが適切なアクセス権限を持ち、検出可能なサービスが含まれるクラスタープロジェクトを表示できるようにしてください。
たとえば、
<user>
に<namespace>
プロジェクトを表示する権限を付与するには、以下のコマンドを使用します。oc adm policy add-role-to-user view <user> -n <namespace>
oc adm policy add-role-to-user view <user> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
configmap
を変更したら、system-app
およびsystem-sidekiq
Pod を再デプロイし、変更を適用する必要があります。
補足説明:
- トークンの有効期限:Keycloak Server Administration Guide の Session and Token Timeouts に記載されるように、デフォルトではセッショントークンの有効期限は 1 分です。ただし、タイムアウトを妥当な値 (たとえば 1 日) に設定することを推奨します。