【发布时间】:2025-11-24 01:20:13
【问题描述】:
我正在尝试使用 AWS API Gateway 和 IAM 授权的小示例。 AWS API Gateway 生成了以下端点:
https://xyz1234.execute-api.us-east-2.amazonaws.com/Users/users
带有 POST 操作且无参数。
最初,我为此 POST 方法关闭了 IAM,并使用 Postman 验证了结果,它可以工作。 然后我创建了一个新的 IAM 用户并将 AmazonAPIGatewayInvokeFullAccess 策略附加到该用户,从而授予调用任何 API 的权限。为 POST 方法启用 IAM。
然后我去了 Postman - 并添加了 AccessKey、Secret Key、AWS 区域作为us-east-2 和服务名称作为execute-api 的授权,并尝试执行请求,但我收到 InvalidSignatureException 错误,返回码为 403。
正文包含以下消息:
Signature expired: 20170517T062414Z is now earlier than 20170517T062840Z (20170517T063340Z - 5 min.)"
我错过了什么?
【问题讨论】:
-
您是否在生成签名的机器上正确设置了时钟和时区?
-
谢谢@Michael-sqlbot - 错误地在机器上手动设置了时间并且没有设置为标准时间。
-
与你的机器时间有关,我在使用 docker 时遇到了这个问题。 docker容器中的时间过去了,我不得不重新启动docker服务
标签: amazon-web-services postman aws-api-gateway amazon-iam