2015-01-16 61 views
2

我试图用博托自动在Amazon EC2上的一些操作,但我甚至无法运行最简单的例子没有得到:无论我做什么,我为什么会得到403禁止?

boto.exception.EC2ResponseError: EC2ResponseError: 403 Forbidden 

我的代码是:

import boto.ec2 

conn = boto.ec2.connect_to_region("us-west-2", 
aws_access_key_id='CENSOREDCENSORED', 
aws_secret_access_key='CENSOREDCENSOREDCENSOREDCENSORED') 

instances = conn.get_all_instances() 

我“M确保aws_access_key_idaws_secret_access_key是正确的,因为我在CLI工具使用它们,我可以成功地运行ec2-describe-instances

我使用博托版本:2.35.1

+0

是您的客户端机器/服务器上的时间准确吗? – tedder42

+1

您是否具有需要权限的组凭证。我遇到了这个问题,因为我根本不在组中,所以我无法使用Cyber​​Duck进行连接,但是我可以使用aws-sdk为ruby创建一个客户端。 –

+0

你的代码对我来说工作得非常好 - 我只用boto 2.35.1和你的确切代码(用我的凭证)进行测试。因此,问题可能与您的凭据或网络连接有关。你在防火墙,公司网络,代理或类似的背后? –

回答

3

正如用户@AntarrByrd的评论中所建议的那样,问题在于我的用户不在具有适当权限的组中(我的用户根本不在组中)。

为了解决这个问题使用EC2管理控制台执行以下操作: 如果您还没有创建任何组还去创造一个在Administration & Security - >Identity & Access Management - >Groups。 然后转到Administration & SecurityIdentity & Access ManagementUsers并将您的用户添加到组中。

相关问题