首页 文章

如何通过HTTP代理将AWS_IAM凭证映射到AWS API网关中的实际HTTP endpoints ?

提问于
浏览
0

我有一个http endpoints - A.

我们可以通过另一个http-endpoint-B调用此 endpoints .

所以B - > A.

我们正在使用AWS API Gateway执行上述操作 . 现在 - A是AWS_IAM保护,B没有保护 . 所以A需要x-amz-security-token,AccessKey,SecretKey,X-Amz-Date,Authorization . 我使用API Gateway的API资源功能 - 方法请求和集成请求来执行适当的映射 .

enter image description here

完成各种其他方式,但最后我收到以下错误:

{“message”:“我们计算的请求签名与您提供的签名不符 . 请检查您的AWS秘密访问密钥和签名方法......”}

我可以知道我在这里缺少什么吗?,我已经查看了文档和其他一些参考文献,但没有找到合适的内容 .

1 回答

  • 0

    您收到的错误表明 endpoints A期望使用sigV4签署请求 . 目前,API Gateway仅在使用"AWS Service Proxy"集成类型时才会将请求签名到后端集成 endpoints . 这是默认隐藏的 . 设置方法时,在"Integration Type"下单击"Show Advanced" . 这使"AWS Service Proxy"可见 . 选择它时,集成字段将更改为与调用AWS服务相关的新集 . example of using the AWS Service Proxy can be found here .

    请注意,API Gateway目前不支持调用所有AWS服务 . 更具体地说,它不支持将其他API网关API称为集成 endpoints . 因此,如果 endpoints A是另一个API网关API,那么这将不起作用 . 如果您需要调用API网关当前不支持的AWS服务,则可以通过创建Lambda函数来调用 endpoints 并从API网关调用Lambda函数来解决此问题 .

相关问题