問題タブ [keycloak-gatekeeper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2849 参照

kubernetes - How to secure Kibana dashboard using keycloak-gatekeeper?

Current flow:

incoming request (/sso-kibana) --> Envoy proxy --> /sso-kibana

Expected flow:

incoming request (/sso-kibana) --> Envoy proxy --> keycloak-gatekeeper --> keycloak

--> If not logged in --> keycloak loging page --> /sso-kibana

--> If Already logged in --> /sso-kibana

I deployed keycloak-gatekeeper as a k8s cluster which has the following configuration:

keycloak-gatekeeper.yaml

gatekeeper.yaml

Envoy.yaml

Problem:

I am able to invoke keycloak login on /Kibana but after login user is not going to /Kibana url i.e. Kibana dashboard is not loading.

Note: Kibana is also running as k8s cluster.

References:
https://medium.com/@vcorreaniche/securing-serverless-services-in-kubernetes-with-keycloak-gatekeeper-6d07583e7382

https://medium.com/stakater/proxy-injector-enabling-sso-with-keycloak-on-kubernetes-a1012c3d9f8d

Update 1:

I'm able to invoke keycloak login on /sso-kibana but after entering credentials its giving 404. The flow is following:

Step 1. Clicked on http://something/sso-kibana
Step 2. Keycloak login page opens at https://keycloak/auth/realms/THXiRealm/protocol/openid-connect/auth?...
Step 3. After entering credentials redirected to this URL https://something/sso-kibana/oauth/callback?state=890cd02c-f...
Step 4. 404

Update 2:

404 error was solved after I added a new route in Envoy.yaml

Envoy.yaml

Therefore, Expected flow (as shown below) is working fine now.

incoming request (/sso-kibana) --> Envoy proxy --> keycloak-gatekeeper --> keycloak

--> If not logged in --> keycloak loging page --> /sso-kibana

--> If Already logged in --> /sso-kibana

0 投票する
1 に答える
4693 参照

keycloak - keycloakゲートキーパーのredirection-urlの目的は何ですか?

サービスの前に Keycloak Gatekeeper をリバース プロキシとして設定しようとしていますが、redirection-url. サービスがauthn/zについて何も知らなくても、ゲートキーパーをサービスの前に置くことができると考えました。コールバック エンドポイントが必要な場合、これは不可能のようです。

Keycloak サーバー、Keycloak Gatekeeper、および単純なノード サービス (すべてローカルの Docker コンテナーにデプロイされています) をデプロイすることができました。hosts ファイルを少しハッキングして、Gatekeeper にリクエストを送信することができました。これにより、適切に認証され、ノード サービスにリダイレクトされました。ただし、/oauth/callbackゲートキーパーがredirection-url.

私のゲートキーパーの設定は次のようになります。

認証、承認、OIDC などの知識を持たないサービスの前に Gatekeeper を配置できると期待していますが、redirection-urlそれは不可能に思えます。

必要に応じてゲートキーパーに authnz を実行させ、ユーザーが適切に認証されたときに単純なプロキシとして機能させる方法はありますか? または、これが不可能な場所で理解できないことがありますか?

0 投票する
2 に答える
3523 参照

keycloak - Keycloak Gatekeeper は常に「iss」クレーム値の検証に失敗します

を構成ファイルに追加しmatch-claimsても何も起こらないようです。実際、ゲートキーパーは、リソースを開くときに常に同じエラーをスローします (プロパティの有無にかかわらず)。

私のKeycloakサーバーはdockerコンテナー内にあり、内部ネットワークからはasとしてhttp://keycloak:8080アクセスでき、外部ネットワークからはasとしてアクセスできますhttp://localhost:8085

内部ネットワークの Keycloak サーバーに接続しているGatekeeperがあります。リクエストは外部からのものであるため、'iss'トークン クレームdiscovery-urlと一致しません。

ゲートキーパーはdiscovery-urlas 'iss'クレームを使用しようとしています。これをオーバーライドするために、match-claims次のようにプロパティを追加しています。

ログは次のようになります。

始めるとき

要求に応じて

これは、403 Forbidden応答で終了します。


Keycloak-Gatekeeper 8.0.0および5.0.0で試しましたが、どちらも同じ問題です。

  1. これは、私が使用しようとしている方法で機能するはずですか?
  2. そうでない場合、何が欠けていますか? どうすればissを検証するか、この検証をバイパスできますか? (できれば前者)?