从CodeShip部署到Elastic Beanstalk的适当S3权限是什么

the*_*tgt 5 amazon-s3 amazon-elastic-beanstalk codeship

使用CodeShip部署Elastic Beanstalk应用程序的适当S3权限是什么?将新版本部署到tomcat应用程序时,我收到以下错误:

服务:Amazon S3,消息:您无权执行's3:ListBucket'操作.验证您的S3策略和ACL是否允许您执行这些操作.

服务:Amazon S3,消息:您无权执行's3:GetObject'或's3:ListBucket'操作.验证您的S3策略和ACL是否允许您执行这些操作.

如果我给CodeShip用户完全访问S3一切正常,但这并不理想.我的CodeShip用户的当前S3权限是

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetBucketPolicy"
            ],
            "Resource": [
                "arn:aws:s3:::codeshipbucket/*"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

如果重要的话,我给CodeShip的S3存储桶是codeshipbucket下的子文件夹.

什么是适当的权限?

小智 2

在我们的内部测试中,我们只需以下 S3 权限即可部署到 ElasticBeanstalk

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::YOUR_S3_BUCKET_NAME/*"
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是我们目前在https://codeship.com/documentation/continuous-deployment/deployment-to-elastic-beanstalk/#s3提供的文档中推荐的内容

也就是说,我们的一位优秀用户发布了一份关于如何部署到 Elastic Beanstalk 的非常广泛的指南,可在http://nudaygames.squarespace.com/blog/2014/5/26/deploying-to-elastic-beanstalk上获取。 -from-your-Continous-integration-system并建议更广泛的 S3 权限集。

免责声明:我在 Codeship 工作,但您可能已经从我的回答中猜到了。