2017-01-02 13 views
1

私はAmazon EB上にNodeJS APIを、API Gateway上にAPIを持っています。 APIゲートウェイがEBのプロキシとして構成されています。AWS API Gateway - Elastic Beanstalk - 制限付きアクセス

問題なくAPIを呼び出すことはできますが、動作していますが、セキュリティの管理方法はわかりません。

実際にAPIゲートウェイURLを使用する場合は、リクエストに署名する必要があります(問題ありません)。しかし、私はEB URLを使用することができ、何も必要ありません。

APIゲートウェイを使用する前に、私はJWTを使用していましたが、現在はノードアプリケーションで何をしますか? API Gatewayは要求に署名するためにAuthorizationヘッダーを使用していますので、私のNodeアプリはこの署名をチェックする必要がありますか?または、他の何か?

答えて

2

バックエンドアクセスをAPIゲートウェイのみに制限する推奨アプローチは、クライアント側の証明書を使用することです。 documentation here

ELBでクライアント証明書を使用する場合は、ELBがクライアント証明書の検証をサポートしないため、ELBをtcpモードで構成し、アプリケーションサーバーでSSL接続を終了する必要があります。

別の方法として、秘密値のヘッダーを追加し、要求を処理する前にアプリケーションサーバーの値を検証するようにAPIゲートウェイを構成する方法があります。これは一般に、攻撃者があなたの秘密の価値を得ることが容易であるため、安全性が低いと考えられています。最低限、API Gatewayとアプリケーションサーバーの間でSSLを使用して、シークレットがプレーンテキストで送信されないようにする必要があります。

+0

ラムダ機能のように、ある時点でVPCリソースがAPIゲートウェイ経由でアクセスできるようになることを願っています。これにより、EBアプリが公開されることになっているこれらのElastic Beanstalkユースケースの一部がクリーンアップされます。私は多くのユースケースでは、プライベートサブネット上に分散されたElasticBeanstalkアプリケーションが、APIゲートウェイからプロキシにアクセスできる場合(これがOPに当てはまるかどうかはわかりません)十分であると思います。 –

関連する問題