【问题标题】:AWS was not able to validate the provided access credentials in Amazon EC2AWS 无法验证 Amazon EC2 中提供的访问凭证
【发布时间】:2018-08-08 10:28:54
【问题描述】:

我一直在尝试通过访问 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] 生成签名,据我了解,amazon s3 和 amazon 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】:

我不知道这是否会对您的特定问题有所帮助...通过 Postman 调用 EC2 API 时,我收到了同样的错误消息,这就是我最终发表这篇文章的方式。为了解决这个问题,我只是在 URL 中添加了区域名称,并将版本添加到参数中,如下所示:

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 调用开始成功。

【讨论】:

    猜你喜欢
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多