Kinesisストリームの場合、AWS API Gatewayを使用してプロキシAPIを作成しました。プロキシ用のPython Lambdaを使ってカスタムオーソライザを追加しました。 ラムダ機能の公開とAPIのデプロイ後、ゲートウェイテスト機能を使用してAPIを正常にテストできました。クラウドウォッチのログを見ることができました。このログには、カスタム認証ラムダ機能からの詳細なプリントがありました。認証が成功すると、APIゲートウェイは、私はクロームポストマンクライアントから同じAPIを呼び出すときしかし、私は500内部サーバーエラーとレスポンスヘッダは、X CloudFrontをからX-キャッシュ→エラーを含んで取得
私のキネシス・ストリームにレコードをプッシュ-amzn-ErrorType→AuthorizerConfigurationException
AWS APIゲートウェイカスタムオーソライザAuthorizerConfigurationException
ラムダ認証関数は、自分のAPIに対する実行要求を許可するポリシーを返します。返されるポリシードキュメント:
{ "policyDocument": { "Version": "2012-10-17", "Statement": [ { "Action": "execute-api:Invoke", "Resource": [ "arn:aws:execute-api:us-east-1:1234567:myapiId/staging/POST/*" ], "Effect": "Allow" } ] }, "principalId": "Foo" }
なぜChromeまたはカールからリクエストが失敗しますが、同じAPIテストがAPIゲートウェイからうまく機能しますか。
それは本質的に、あなたの承認者がポリシーまたは返された無効なポリシーを返すか、APIリクエストをunauthorizingポリシーを返さなかったことを意味します。承認コードが何らかの理由で失敗した場合は、ポリシーが返されていない場合があります。 – Prabhat