2017-07-25 73 views
0

我希望存储桶策略允许访问存储桶中的所有对象,并像存储对象一样在存储桶上执行操作。 (行动是s3:*。)S3存储桶策略:允许完全访问存储桶及其所有对象

我能够通过使用两个不同的资源名称来解决此问题:一个用于arn:aws:s3:::examplebucket/*,另一个用于arn:aws:s3:::examplebucket

有没有更好的方法来做到这一点 - 有没有一种方法来指定一个资源标识符,指向桶本身及其所有包含的对象,在一个镜头?

+2

不,你正在做的方式是它必须做的方式。 –

回答

1

针对Bucket的权限与针对Bucket内的对象的权限是分开的。因此,您必须授予两者的权限。

幸运的是,你可以写一个较短的版本结合斗级和对象级权限:

{ 
    "Id": "BucketPolicy", 
    "Version": "2012-10-17", 
    "Statement": [ 
    { 
     "Sid": "AllAccess", 
     "Action": "s3:*", 
     "Effect": "Allow", 
     "Resource": [ 
     "arn:aws:s3:::my-bucket", 
     "arn:aws:s3:::my-bucket/*" 
     ], 
     "Principal": "*" 
    } 
    ] 
} 
相关问题