AWS无法验证Amazon EC2中提供的访问凭证

问题描述 投票:1回答:1

我一直在尝试通过访问rest API [1]来监视实例。对于特定的访问密钥和秘密密钥,我在AWS S3示例上尝试了相同的凭证,它成功执行,但对于Amazon EC2,出现以下错误:

<?xml version="1.0" encoding="UTF-8"?>
<Response><Errors><Error><Code>AuthFailure</Code><Message>AWS was not able to validate the provided access credentials</Message></Error></Errors><RequestID>627188e0-e134-435e-aece-7056a8360a46</RequestID></Response> 

AmazonS3和AMzonEC2的SIgnature生成不同吗?我正在使用[2]生成签名,据我了解,亚马逊s3和亚马逊ec2的签名生成没有重大变化。

这可能是什么原因?我们必须为AmazonEC2设置任何特定权限吗?

[1] https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_MonitorInstances.html

[2] https://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html

amazon-web-services amazon-s3 amazon-ec2 credentials
1个回答
0
投票

我不知道这是否对您的特定问题有所帮助...当通过Postman调用EC2 API时,我遇到了相同的错误消息,这就是我最终写这篇文章的方式。要解决此问题,我只需在URL中添加区域名称,然后将Version添加到参数中,如下所示:

https://ec2.eu-west-1.amazonaws.com/?Action=RunInstances&ImageId=ami-0aaada7cbb0d829fc&MinCount=1&MaxCount=1&InstanceType=t2.micro&Version=2016-11-15

[如果使用Postman,请记住通过“ AWS签名”类型下的“授权”标签设置对API的身份验证。对URL进行两次更改后,我对EC2 API的REST调用开始成功。

© www.soinside.com 2019 - 2024. All rights reserved.