【问题标题】:Getting Error "The security token included in the request is invalid" UnrecognizedClientException when calling the StartQueryExecution operation调用 StartQueryExecution 操作时出现错误“请求中包含的安全令牌无效”UnrecognizedClientException
【发布时间】:2020-08-05 09:33:17
【问题描述】:
在使用 athena 凭据重新设置数据源连接时出现错误。
我在 athena 中有有效的访问权限,我可以在其中运行查询并从 S3 获取日志。现在我想将 athena 与 redash 集成,所以我收到错误“调用 StartQueryExecution 操作时发生错误(UnrecognizedClientException):请求中包含的安全令牌无效。”
如果我在这里遗漏了什么,请告诉我。我对我的用户拥有 athena 的完全访问权限。
请找到所附图片并帮助我解决这个问题。
enter image description here
enter image description here
【问题讨论】:
标签:
amazon-s3
amazon-athena
redash
【解决方案1】:
我可以想到该错误消息的几个原因:
- 凭据无效。
- 您正在使用通过 STS
AssumeRole 或 GetSessionToken 生成的凭据,并且您没有在身份验证参数中包含会话令牌(尽管大多数 UI 不会为您提供输入会话令牌的选项)。李>
- 您使用的 IAM 策略要求存在 MFA 令牌,而您尚未提供(我从未见过有此选项的 UI)。
我假设您已经以某种方式测试了您的凭据,并且可以排除第一个原因。
我怀疑此 UI 仅适用于 IAM 用户凭证,即不是临时凭证、角色凭证,也没有任何具有 MFA 或 IP 范围或策略中类似内容的条件。
我建议您首先使用相同的凭据通过 aws-cli 开始执行查询。如果您收到相同的错误,您就知道这是 IAM 策略(或者您可能缺少会话令牌),但如果 API 调用成功,则问题在于 UI 如何执行 API 调用。