2017-09-28 16 views
0

私たちには、インターネット経由で一般公開されているWebアプリケーションがあります。このアプリは、アプリが呼び出すことができるモノリシックなAPIセット(ユーザー認証を含む)を含むWebサーバー上で動作します。私たちは、ユーザーが自分のコードから自分のアカウントに関する限られたデータセットをクエリするための "API"(exデータの収集)を公開したいと考えています。これにより、収集しているデータをカスタムダッシュボードに書き込むことができます。Public MicroServiceでApi Gateway(Kong)を認証する

この新しいAPIを使用すると、APIコールは現在、Web-ap以外の場所から取得できます。そこで、リクエスト "load"を管理するAPIゲートウェイを設定する必要があります。たとえば、ゲートウェイはユーザーの要求を10分ごとに制限できます。

エンドユーザーには、Kongを介して要求を行うためのAPIキーが与えられ、KongはWebサーバーに対してHTTP GET/POSTを使用してAPIクエリを実行します。私たちのWebサーバーは公に利用可能なので、APIの要求(データの収集)がKongからのものであることを確認する方法が必要です。私はJWTについていくつかの研究を行い、可能なアプローチのように思えます。 KongサーバーにWebサーバーから発行されたJWTを渡すだけで意味がありますか?その後、Kong JWTを持たないWebサーバーへのGET/POSTは拒否されます。

これはAPIゲートウェイにとって最も論理的な設定ではないかもしれませんが、通常はKongと相互に通信する同じプライベートネットワーク上にマイクロサービスを持ち、到着する要求の真偽を必ずしも確認する必要はありません香港がそれを処理するだろうから。しかし、私たちの現在の設定を考えると、JWTのアプローチが最も理にかなっていますか?

答えて

1

あなたはあなたのアップストリームサーバへのトラフィックがあなたのKongインスタンスから来ていることを確信することができます。

確かなこと!それを行うにはいくつかの方法があります。 https://getkong.org/plugins/request-transformer/を使用して、秘密の文字列を含むヘッダーを追加することができます(クライアントに応答する前にそのヘッダーを削除するためにhttps://getkong.org/plugins/response-transformer/を使用する可能性があります)。

実際、アップストリームサーバーが要求の検証に関してサポートしているものによって異なります。

エンドユーザーのAPIキーを指定することもお伝えします。これを行うにはhttps://getkong.org/plugins/key-authentication/を使用することをお勧めします。

関連する問題