問題タブ [lambda-authorizer]
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.
aws-api-gateway - Api Gateway プロキシ リソースへのアクセスを制限しない Lambda オーソライザー ポリシー
次のようなリソースベースのポリシーを返す Lambda オーソライザー (python) があります。
基本的に、このオーソライザーはデフォルトで無制限の api リソース ポリシーを返します*
。ただし、特定のヘッダー値が渡された場合、ポリシーはアクセスを allow のみに制限しますGET /a
。
ApiGateway 側では、私が持っている唯一のリソースは、APIGatewayProxyFunction を使用して .NET Core WebApiにANY /{proxy+}
プロキシするものです。APIGatewayProxyFunction/WebApi 内には、多数のコントローラーとルートが用意されています。これがすべて AWS にデプロイされた後、with valueを使用して http リクエストを作成できます。このリクエストは へのアクセスのみを提供し、それ以外の場合はすべて 403 を返すことを期待しています。代わりに、スター ポリシーと同様に、API 内のすべてへのアクセスを提供します。GET /a
my-header
a
GET /a
これは、プロキシ リソースの前で Lambda オーソライザーを使用するときに予期される動作ですか? 実際にはAllow *
orのみを強制しているようDeny *
です。ありがとうございました。
注 - すべてのリソースが (プロキシによる .NET コントローラーの内部ではなく) 内部で定義されている Api ゲートウェイに対して同じオーソライザーを使用すると、期待される動作が発生するように見えますmy-header
。「a」に設定された http 要求は、GET /a
、それ以外の場合は 403 を返します。
aws-lambda - API ゲートウェイを介して公開されたサーバーレス関数でラムダオーソライザーを使用する
この形式で応答を返すラムダオーソライザーを作成しました-
注-私のオーソライザーの名前はverifyTokenです
私の別のマイクロサービス(つまり、アクティビティログ)のserverless.ymlファイルでは、次のように呼び出しています-
オーソライザーを個別に確認しましたが、動作しており、上記の応答で 200 を返しています。同様に、私のマイクロサービスはオーソライザーなしで動作しています。しかし、getActivityLogs でオーソライザーが有効になっていると、アクティビティ ログが 1 行も実行されません。