当前位置: 首页 > 知识库问答 >
问题:

无法访问Amazon SQS-InvalidClientTokenId

萧嘉茂
2023-03-14

我在AWS中设置了一个SQS队列。我可以使用AWS CLI和我设置的IAM凭据完美地发送和接收消息。

我想做的是使用Camel(通过Spring配置)从队列中使用消息。我尝试了这个例子,因为它非常明确和中肯:

https://github.com/christian-posta/camel-sqs-example

但是,我得到以下例外情况:

com.amazonaws.AmazonServiceException: Status Code: 403, AWS Service: AmazonSQS, 
AWS Request ID: 115057f8-3c4f-5ec6-8fe9-18ea097b2730, AWS Error Code: 
InvalidClientTokenId, AWS Error Message: The security token included in the 
request is invalid.

亚马逊提供了最没有帮助的文档:

InvalidClientTokenId

我们的记录中不存在提供的X.509证书或AWS访问密钥ID。

HTTP状态代码: 403

我已再次检查我使用的IAM凭据是否与通过CLI使用的完全相同,并且IAM用户是否具有允许对队列进行读/写访问的策略。我还尝试发送额外的URL参数accessKey、secretKey、amazonSQSEndpoint和region,如Camel所记录的。

为什么亚马逊说访问密钥无效或不存在于他们的记录中,我如何修复我的请求?

共有2个答案

晋越彬
2023-03-14

我的解决方案是正确配置~/。aws/凭证文件

打开bash脚本并运行

sudo nano~/。aws/认证

在[默认]下插入IAM访问密钥ID和秘密访问密钥ID。请确保您的IAM角色具有使用SQS的权限。

对于AWS教育帐户,您还必须在此文件中配置AWS_会话_令牌。登录Vocaleum,在“您的AWS帐户状态”下,您将看到两个按钮:帐户详细信息和AWS控制台。单击帐户详细信息,然后在AWS CLI附近单击显示。在“默认”下复制凭证文件中的访问、密钥id和aws会话令牌,就完成了。

另请注意:请确保正确配置本地时区。关于Debian:

sudo-apt-get-install-ntp

sudo systemctl启用ntp

启动ntp

如果您的时间和日期仍然不正确,请尝试:

dpkg重新配置tzdata

然后重新启动你的机器

施默
2023-03-14

当面对这样的情况时,有两种方法可以解决这个问题。

选项1:检查~/中的凭据。aws/credentials文件,其中访问密钥和密码可能出错。出错的概率很小,但也有可能发生。

选项2:为IAM用户提供必要的权限,并检查是否重新创建问题。如果是您自己的AWS帐户,请务必提供AmazonSQSFullAccess执行您的工作。从这个意义上讲,您不会轻易遇到任何权限问题。还请检查此链接,其中提到了用户使用AWS SQS所需的最低权限集。

由于响应的状态代码是403(禁止),这肯定是与授权有关的东西。我知道我的答案会在两年后出现,但我曾经面临过一个类似的问题,这个方法奏效了。

 类似资料:
  • 问题内容: 我真的很想用Struts2来解决问题- 通过省略部分路径,我可以访问JSP页面。请注意该路径应该包括在内。关键是要看路径中的单词。 这是文件: 我可以通过: 和通过: 请注意,在两个URL中,我都可以删除,为什么? 来源:http: //www.mkyong.com/misc/how-to-use-mkyong- tutorial/ 有人可以看完上面的教程,告诉我怎么了吗? 问题答案:

  • 我无法访问 尝试的网址:localhost/htdocs 本地主机:80/htdocs IP: 80/htdocs 总是同样的错误 错误: 未找到对象! 在此服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试。 如果您认为这是服务器错误,请联系网站管理员。 所有服务都正常运行我正在使用端口:80 我查看了apacheconf: 这是根医生 DocumentRoot:您将在其中提供文

  • 我正在用log4j2创建Spring-Boot应用程序。我使用的库是:https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api/2.11.1 https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.11.1 在这些JAR中找不到

  • 我是docker的新手,正在尝试容器化一个简单的Spring Boot应用程序。docker文件如下所示。 谢谢!!

  • Magnus@Martin-HP-625~/下载/robomind$cat./robomind.sh java-jar-djava.ext.dirs=lib-dsun.java2d.ddscale=true-dsun.java2d.noddraw=true RoboMind.jar Magnus@martin-HP-625~/downloads/robomind$java-jar-djava.ex

  • 这个问题是这个问题的后续问题。我似乎无法用下面的代码访问jackson库: