4

キークローク ゲートキーパー サイドカーのベース URL を更新する方法が見つかりません。私の構成は、カスタム ベース パス (例: https://monitoring.example.com/prometheus ) ではなく、ベース URL (例: https://monitoring.example.com/ ) に設定されたサービスでうまく機能します。

私のyaml構成は次のとおりです。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: prometheus-deployment
spec:
  replicas: 1
  template:
    metadata:
      name: prometheus
    spec:
      containers:
      - name: prometheus
        image: quay.io/coreos/prometheus:latest
        args:
          - '--web.external-url=https://monitoring.example.com/prometheus'
          - '--web.route-prefix=/prometheus
      - name: proxy
        image:  keycloak/keycloak-gatekeeper:5.0.0
        imagePullPolicy: Always
        args:
          - --resource=uri=/*
          - --discovery-url=https://auth.example.com/auth/realms/MYREALM
          - --client-id=prometheus
          - --client-secret=XXXXXXXX
          - --listen=0.0.0.0:5555
          - --enable-logging=true
          - --enable-json-logging=true
          - --upstream-url=http://127.0.0.1:9090/prometheus

私の問題は、サイドカーに別のベース URL パス ("/prometheus") を設定できるようにすることです。 https://monitoring.example.com/prometheusを開くと、 https://monitoringへの 307 リダイレクトを受け取るためです。 .example.com/oauth/authorize?state=XXXXXXX ですが、 https: //monitoring.example.com/prometheus/oauth/authorize?state=XXXXXXX である必要があります。

パラメータ「--redirection-url= https://monitoring.example.com/prometheus」を試してみましたが、それでも同じ URL にリダイレクトされます。

編集:

私の目的は、複数の Prometheus を保護し、それらへのアクセスを制限できるようにすることです。また、レルムまたはクライアントに関する許可を設定するソリューションも探しています。つまり、一部のキークローク ユーザーは、たとえば、認証して /prometheus-dev のコンテンツを表示できますが、/prometheus-prod は表示できないはずです。

EDIT2:

パラメータ「base_uri」がありませんでした。「/prometheus」に設定して「https://monitoring.example.com/prometheus/ 」に接続しようとすると、「 https://monitoring.example」という適切なリダイレクトが返されます。 .com/prometheus/oauth/authorize?state=XXXXXXX "しかし、機能しません。キークロークでは、ログは次のとおりです。

「msg: リクエストにセッションが見つかりません。承認のためにリダイレクトしています。エラー: 認証セッションが見つかりません」

4

2 に答える 2