2.2.3. OAuth サーバーと組み合わせないサービスディスカバリーの設定
OAuth サーバーを使用しない状況で 3scale のサービスディスカバリーを設定する場合には、3scale Single Service Account を使用して OpenShift API サービスに対する認証を行うことができます。
前提条件
- 3scale 1.0 を OpenShift クラスターにデプロイする必要があります(バージョン 3.11 以降)。
- 3scale を OpenShift にデプロイするには、3scale-amp-openshift-templates を使用する必要があります。
- 3scale でサービスディスカバリーを使用する 3scale ユーザーは、OpenShift クラスターにアクセスできる必要があります。
手順
3scale プロジェクトをアクティブなプロジェクトにします。
$ oc project <3scale-project>
エディターで 3scale サービスディスカバリーの設定を開きます。
$ oc edit configmap system
以下のように設定されていることを確認します。
service_discovery.yml: production: enabled: <%= cluster_token_file_exists = File.exists?(cluster_token_file_path = '/var/run/secrets/kubernetes.io/serviceaccount/token') %> bearer_token: "<%= File.read(cluster_token_file_path) if cluster_token_file_exists %>" authentication_method: service_account
以下のいずれかのオプションに従って、3scale デプロイメントの
amp
サービスアカウントに、検出可能なサービスが含まれるプロジェクトを表示するための適切な権限を付与します。3scale デプロイメントの
amp
サービスアカウントに、クラスターレベルの表示
権限を付与する。oc adm policy add-cluster-role-to-user view system:serviceaccount:<3scale-project>:amp
- 『Developer Guide』の「Service Accounts」で説明するように、より厳しいポリシーを適用する。