com*_*day 5 amazon-web-services aws-api-gateway
是否可以通过 Cloudfront 对 API 网关端点使用 IAM 角色身份验证?
这是一个基本用例:
我已经能够在没有身份验证的情况下工作,类似于以下设置:https : //www.codeengine.com/articles/process-form-aws-api-gateway-lambda/
特别要注意的是不要转发来自 Cloudfront 的 HOST 标头...
当我在 API 中启用 IAM 身份验证时,我收到以下响应:
选项:200
帖子:403
{"message":"我们计算的请求签名与您提供的签名不匹配。请检查您的 AWS 秘密访问密钥和签名方法。有关详细信息,请参阅服务文档。\n\n此请求的规范字符串应该是\n 'POST\n/test/create\n\naccept:application/json\ncontent-type:application/json\nhost:*****.execute-api.ap-****-2.amazonaws.com\ NX-AMZ-日期:20170328T044253Z \ n \ naccept;内容类型,主机X-AMZ-日期\ na57656a9def890d9de2b637789f7e5917f4b2823765ae0122087d08f89a97380' \ n \ n此字符串到注册应该已经\ n'AWS4-HMAC-SHA256 \ n20170328T044253Z \ n20170328 /ap-southeast-2/execute-api/aws4_request\ncae7fd6b4cabd593ad2ec6ce7091c94dc8cba306e81da95d567873eea8f981a5'\n"}
规范字符串中的主机是 API 网关的主机...
正如评论中所述,由于 HOST 标头的更改,您将遇到困难。理论上,假设 CloudFront 没有以任何其他方式更改有效负载,则使用 API 网关exceute-api
域作为 的值对请求进行HOST
签名应该可行。
归档时间: |
|
查看次数: |
1793 次 |
最近记录: |