boto elastic beanstalk CreateApplicationVersion 403 Forbidden

时间:2014-05-09 12:51:01

标签: python amazon-web-services elastic-beanstalk boto

我已经完成了一个自动部署到Elastic beanstalk的python脚本。

它适用于测试环境。

但是当我刚刚更改了用户密钥时,Boto用正确的政策说'403 Forbidden'。

https://policysim.aws.amazon.com说用户允许CreateApplicationVersion。

但是,boto不允许CreateApplicationVersion操作。

boto==2.28
python==2.7.5

之前有人遇到过这个问题吗?

Traceback (most recent call last):
  File "upload_to_aws.py", line 135, in <module> 
description=None, s3_bucket=AWS_ELASTIC_BEANSTALK_S3_BUCKET_NAME, s3_key=zip_file)
  File "/usr/lib/python2.7/site-packages/boto/beanstalk/layer1.py", line 156, in create_application_version
return self._get_response('CreateApplicationVersion', params)
  File "/usr/lib/python2.7/site-packages/boto/beanstalk/layer1.py", line 71, in _get_response
raise self.ResponseError(response.status, response.reason, body)
boto.exception.BotoServerError: BotoServerError: 403 Forbidden
{"Error":{"Code":"AccessDenied","Message":"User: arn:aws:iam::<account-id>:user/<username> is not authorized to perform: elasticbeanstalk:CreateApplicationVersion on resource: arn:aws:elasticbeanstalk:ap-northeast-1:<account-id>:applicationversion/<application-name>/<application-version>","Type":"Sender"},"RequestId":"<request-id>"}

IAM政策:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1000000000000",
      "Effect": "Allow",
      "Action": [
        "s3:*"
      ],
      "Resource": [
        "arn:aws:s3:::mybucket/*",
        "arn:aws:s3:::mybucket",
      ]
    },
{
      "Sid": "Stmt1000000000001",
      "Effect": "Allow",
      "Action": [
        "elasticbeanstalk:*"
      ],
      "Resource": [
        "arn:aws:elasticbeanstalk:ap-northeast-1:<account-id>:environment/<application name>/<environment-name>"
      ]
    }
  ]
}

1 个答案:

答案 0 :(得分:0)

我真的不认为这是一个boto问题。它只是使用您提供的凭据进行API调用。如果服务显示403,则您正在使用的凭据未获得该操作的授权。

对于CreateApplicationVersion操作,您还必须传入版本数据所在的S3存储桶。您使用的帐户是否可以访问该存储区?