問題タブ [istio-gateway]

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 に答える
78 参照

kubernetes - Egressgateway は、ログでリクエストを確認できるようにします

istio 1.6 documentation exampleに従っています。

ServiceEntry をデプロイしました。

ゲートウェイと宛先ルール:

および VirtualService:

チュートリアルにあるようなものはすべて、次に実行しました:

ただし、手順 6 では次のようになります。

ログに何も表示されません。トラフィックが egressgateway を通過していないようです。私は何を間違っていますか、私は基本的にチュートリアルと同じ手順に従っています

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

authorization - istio でのユーザー認証の処理

auth servicejwt トークンの有効性をチェックするがありreq.headers.Authorization、エンティティに対して CRUD 操作を行う別の API サービスがありcustomer、その API サービスへのすべてのリクエストで有効な JWT が必要になります。そして、これらすべてが に包まれていkubernetes cluster + istioます。私が現在していることはこのようなものです

  1. クライアントはPOST /customerJWT を次のように要求しています。headers.Authorization
  2. バックエンドのPOST /customerAPI サービスはauth service、JWT を渡して有効性を確認することで と通信します。
  3. 有効でない場合は、トークン エラー応答を返します。
  4. 有効な場合は、顧客の作成操作を実行し、データをデータベースに保存します

これは正常に機能していますが、すべてのエンドポイントでこれを繰り返していることがわかりauth checksました。もちろん、同じサービスにミドルウェアをセットアップして、着信要求が に到達する前に傍受してチェックを実行できますcontroller

サービス自体に書き込むのではなく、このmiddlewareアプローチを実現できるかどうか疑問に思っていました。istio

私が達成したいこと

  1. クライアントはPOST /customerJWT を次のように要求しています。headers.Authorization
  2. はこのistio sidecar(?)/ingress gatewayリクエストをキャッチし、それを認証サービスに送信 (リダイレクト) して、宛先に渡す前に最初にチェックします。
  3. 有効でない場合は、トークン エラー応答を返します。
  4. 有効な場合は、元の宛先に渡します

istioはこれを行うことができますか? Authorizationに関する istio ドキュメントを読みましたが、ここで達成したいことを説明しているとは思いません