Windows EC2中的AWS CLI无法使用角色来访问S3

时间:2017-06-04 13:40:13

标签: amazon-web-services amazon-ec2 command-line-interface amazon-iam role

我是AWS的新手。我创建了一个IAM角色,可以完全访问 S3 。我将此角色分配给 Windows Server EC2实例。然后,我在该实例上安装了 CLI 。然后我使用RDP远程访问该实例,并启动了一个CMD窗口,并输入

vcRecaptchaService.getResponse($scope.campaignsRecaptchaID)

抱怨说

aws s3 ls

既然已经为此EC2分配了对S3具有完全访问权限的角色,为什么我不能直接访问S3?

3 个答案:

答案 0 :(得分:4)

要将AWS CLI与IAM角色一起使用,您需要创建named profile。您可以指定角色的ARN以及可以访问该角色的配置文件的名称,而不是使用凭据配置此配置文件。

答案 1 :(得分:2)

感谢John Rotenstein的帮助。你指出了正确的方向。我从头开始创建了一个新实例,一切正常。我在上一个实例上安装了IIS和ASP.NET。可能是原因吗?

答案 2 :(得分:0)

我偶然发现了这篇文章。收到此消息的原因是因为@John Rotenstein所说的,服务器无法访问元数据。

运行aws config list将显示您没有任何凭据,如消息所述。这意味着服务器不能执行以下操作:

# 169.254.169.254 is for metadata service
# 169.254.169.250 is for KmsInstanceVpc1
# 169.254.169.251 is for KmsInstanceVpc2

要解决此问题。最好只是删除路由,然后再次添加它们。

"169.254.169.254/32", "169.254.169.253/32", "169.254.169.251/32", "169.254.169.250/32", "169.254.169.249/32", "169.254.169.123/32"

运行aws config list将显示凭据已添加。

我发现btuanexpress.net script在Windows中解决此问题会有所帮助