同步所需的AWS权限

时间:2018-02-20 21:55:53

标签: amazon-s3 amazon-ec2

我有一台需要将文件夹与S3同步的Windows机器。

我试试

application.cfc

收到错误“调用PutObject操作时发生客户端错误(AccessDenied):访问被拒绝”

同一目录的

s3 rm s3 cp 工作正常。

我拥有以下权限:

"C:\Program Files\amazon\AWSCLI\aws.exe" s3 sync components 
s3://test/MyTest/ --acl public-read --
cache-control "public, must-revalidate, proxy-revalidate, max-age=1800"

2 个答案:

答案 0 :(得分:4)

您需要执行以下所有操作:

  • DeleteObject
  • GetBucketLocation
  • GetObject
  • ListBucket
  • PutObject

不仅要使用PutObject,还要进行S3同步工作,使用此政策

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Resource": [
                "arn:aws:s3:::YOUR_BUCKET_NAME/*"
            ],
            "Sid": "Stmt1464826210000",
            "Effect": "Allow",
            "Action": [
                "s3:DeleteObject",
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket",
                "s3:PutObject"
            ]
        }
    ]
}

答案 1 :(得分:3)

同步文件还需要READ权限,因为AWS Command-Line Interface (CLI)需要查看现有文件以确定它们是否已存在或已被修改。

因此,您还需要授予ListBucket权限。

如果您使用aws s3 cp代替aws s3 sync,则不需要这样做。