問題タブ [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.

0 投票する
0 に答える
92 参照

aws-api-gateway - Api Gateway プロキシ リソースへのアクセスを制限しない Lambda オーソライザー ポリシー

次のようなリソースベースのポリシーを返す Lambda オーソライザー (python) があります。

基本的に、このオーソライザーはデフォルトで無制限の api リソース ポリシーを返します*。ただし、特定のヘッダー値が渡された場合、ポリシーはアクセスを allow のみに制限しますGET /a

ApiGateway 側では、私が持っている唯一のリソースは、APIGatewayProxyFunction を使用して .NET Core WebApiANY /{proxy+}プロキシするものです。APIGatewayProxyFunction/WebApi 内には、多数のコントローラーとルートが用意されています。これがすべて AWS にデプロイされた後、with valueを使用して http リクエストを作成できます。このリクエストは へのアクセスのみを提供し、それ以外の場合はすべて 403 を返すことを期待しています。代わりに、スター ポリシーと同様に、API 内のすべてへのアクセスを提供します。GET /amy-headeraGET /a

これは、プロキシ リソースの前で Lambda オーソライザーを使用するときに予期される動作ですか? 実際にはAllow *orのみを強制しているようDeny *です。ありがとうございました。

注 - すべてのリソースが (プロキシによる .NET コントローラーの内部ではなく) 内部で定義されている Api ゲートウェイに対して同じオーソライザーを使用すると、期待される動作が発生するように見えますmy-header。「a」に設定された http 要求は、GET /a、それ以外の場合は 403 を返します。

0 投票する
1 に答える
107 参照

aws-lambda - API ゲートウェイを介して公開されたサーバーレス関数でラムダオーソライザーを使用する

この形式で応答を返すラムダオーソライザーを作成しました-

注-私のオーソライザーの名前はverifyTokenです

私の別のマイクロサービス(つまり、アクティビティログ)のserverless.ymlファイルでは、次のように呼び出しています-

オーソライザーを個別に確認しましたが、動作しており、上記の応答で 200 を返しています。同様に、私のマイクロサービスはオーソライザーなしで動作しています。しかし、getActivityLogs でオーソライザーが有効になっていると、アクティビティ ログが 1 行も実行されません。