對於Kinesis流,我使用AWS API網關創建了代理API。我添加了一個使用python Lambda作爲代理的自定義授權程序。 發佈了lambda函數並部署了API之後,我能夠使用Gateway Test功能成功測試API。我可以在cloudwatch中看到具有來自自定義auth lambda函數的詳細打印的日誌。認證成功後,API網關推記錄我的Kinesis流
然而,當我打電話從Chrome的郵差客戶端相同的API,我得到500內部服務器錯誤和響應頭包括從CloudFront的,X X-緩存→錯誤-amzn-ErrorType→AuthorizerConfigurationException
AWS API網關自定義授權者AuthorizerConfigurationException
Lambda auth函數返回允許對我的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網關?
它實際上意味着你的授權人未返回政策或返回無效的政策或返回的政策unauthorizing API請求。如果政策沒有被返回,授權人代碼會因爲某種原因失敗... – Prabhat