2016-05-02 15 views
3

私はAWS APIゲートウェイに接続したいと思うpythonマイクロサービスを持っています。 - 問題は、両方を安全にする方法を研究したが、実際には結論に至っていないことです。Amazon(AWS)APIゲートウェイ - 認証

にはSSL認証を使用して、 APIゲートウェイからのリクエストを有効にするというサイトが出てきました。

クライアントとAPIゲートウェイとAPI自体の間の認証のベストプラクティスについて教えてもらえますか?

答えて

3

クライアントとAPIゲートウェイの間で非常に多くの認証方法があります。 「最良の」方法はありません。ここで説明するように、APIゲートウェイとバックエンドサーバー間で認証する

は、SSL認証を使用します。http://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-client-side-ssl-authentication.html

+0

私はこのクライアント認証を調べましたが、Pythonでこれを確認する方法をサポートするドキュメントは見つかりませんでした。 – JuLiAnc

+0

何を検索しましたか? https://github.com/kimvais/django-ssl-client-auth –

+0

私はフラスコSSLクライアント証明書の認証を探しました: – JuLiAnc

0

APIゲートウェイで認証を実装するためのアプローチがいくつかあります。異なるアプローチは、異なる目的と達成することが期待されるセキュリティレベルを提供します。

ほとんどの場合、認証のためにcustom authorizer lambdaを書くことができます。 JWTの助けを借りて、あなたのAPIに合理的に安全な認証を作成することができます。 IAM認証APIゲートウェイを使用する場合は、直接サポートします。便宜上、AWS SDKを使用してAPIを呼び出す必要があります。 APIゲートウェイはデフォルトでSSLを使用するため、データ転送はすでに暗号化されています。

セキュリティ要件が非常に厳しい場合は、SSL証明書を使用できます。これは、SOAのシナリオのようにサービスオーケストレーションのAPI間で通信する場合に一般的に好まれます。

0

"ベストプラクティス"とは何ですか?アマゾンのAWSエコシステムにあるので、必ずAWS Cognitoを使用してください。

このルートを使用すると、認証フローにベンダーのロックインが発生しますが、うまく一緒に再生できるように構築されているため、非常にうまく動作します。ログインはAWS Cognitoエンドポイントへのコールを介して行われます。成功したエンドポイントはセッショントークンを受け取り、将来、すべてのAPIゲートウェイコールで使用できます。

有効にするには、API Gateway Methodをクリックし、Method RequestをクリックしてAuthorizationを編集すると、作成したAWS Cognito User Poolが表示されます。

これは少し構成が必要ですが、非常にうまく動作します。

関連する問題