問題タブ [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.
kubernetes - Egressgateway は、ログでリクエストを確認できるようにします
istio 1.6 documentation exampleに従っています。
ServiceEntry をデプロイしました。
ゲートウェイと宛先ルール:
および VirtualService:
チュートリアルにあるようなものはすべて、次に実行しました:
ただし、手順 6 では次のようになります。
ログに何も表示されません。トラフィックが egressgateway を通過していないようです。私は何を間違っていますか、私は基本的にチュートリアルと同じ手順に従っています
authorization - istio でのユーザー認証の処理
でauth service
jwt トークンの有効性をチェックするがありreq.headers.Authorization
、エンティティに対して CRUD 操作を行う別の API サービスがありcustomer
、その API サービスへのすべてのリクエストで有効な JWT が必要になります。そして、これらすべてが に包まれていkubernetes cluster + istio
ます。私が現在していることはこのようなものです
- クライアントは
POST /customer
JWT を次のように要求しています。headers.Authorization
- バックエンドの
POST /customer
API サービスはauth service
、JWT を渡して有効性を確認することで と通信します。 - 有効でない場合は、トークン エラー応答を返します。
- 有効な場合は、顧客の作成操作を実行し、データをデータベースに保存します
これは正常に機能していますが、すべてのエンドポイントでこれを繰り返していることがわかりauth checks
ました。もちろん、同じサービスにミドルウェアをセットアップして、着信要求が に到達する前に傍受してチェックを実行できますcontroller
。
サービス自体に書き込むのではなく、このmiddleware
アプローチを実現できるかどうか疑問に思っていました。istio
私が達成したいこと
- クライアントは
POST /customer
JWT を次のように要求しています。headers.Authorization
- はこの
istio sidecar(?)/ingress gateway
リクエストをキャッチし、それを認証サービスに送信 (リダイレクト) して、宛先に渡す前に最初にチェックします。 - 有効でない場合は、トークン エラー応答を返します。
- 有効な場合は、元の宛先に渡します
istioはこれを行うことができますか? Authorizationに関する istio ドキュメントを読みましたが、ここで達成したいことを説明しているとは思いません