2017-08-01 66 views
0

访问到一个文件夹我想限制在S3 bukcet访问到一个文件夹。如何限制在S3桶

我已经写了一个same.But IAM角色不知何故,我无法上传/同步的文件到这个folder.here桶桶名称和文件夹是我想给访问该文件夹。

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "AllowUserToSeeBucketListInTheConsole", 
      "Action": [ 
       "s3:ListAllMyBuckets", 
       "s3:GetBucketLocation" 
      ], 
      "Effect": "Allow", 
      "Resource": [ 
       "arn:aws:s3:::*" 
      ] 
     }, 
     { 
      "Sid": "AllowRootAndHomeListingOfBucket", 
      "Action": [ 
       "s3:ListBucket" 
      ], 
      "Effect": "Allow", 
      "Resource": [ 
       "arn:aws:s3:::bucket" 
      ], 
      "Condition": { 
       "StringEquals": { 
        "s3:prefix": [ 
         "" 
        ], 
        "s3:delimiter": [ 
         "/" 
        ] 
       } 
      } 
     }, 
     { 
      "Sid": "AllowListingOfUserFolder", 
      "Action": [ 
       "s3:ListBucket", 
       "s3:PutObject", 
       "s3:PutObjectAcl", 
       "s3:GetObject", 
       "s3:GetObjectAcl", 
       "s3:HeadObject" 
      ], 
      "Effect": "Allow", 
      "Resource": [ 
       "arn:aws:s3:::bucket" 
      ], 
      "Condition": { 
       "StringLike": { 
        "s3:prefix": [ 
         "folder/*" 
        ] 
       } 
      } 
     } 
    ] 
} 

请指出我错在哪里。

+0

请问您可以编辑您的问题并添加您正在尝试执行的操作的细节(例如向我们显示您用于上传/同步的命令)以及出现的错误消息。另外,您是否使用IAM用户或IAM角色?如果它是一个角色,你是如何使用的角色(例如是被分配到EC2实例,或其中假设)? –

回答

0

既然你已要求建议,你不对的地方: 1>在AllowListingOfUserFolder,您使用的对象资源,但你已经使用了桶级别的操作,“s3:prefix”不能用于对象级别的API。

请参考这里列出的样品政策: http://docs.aws.amazon.com/AmazonS3/latest/dev/example-policies-s3.html#iam-policy-ex1 https://aws.amazon.com/blogs/security/writing-iam-policies-grant-access-to-user-specific-folders-in-an-amazon-s3-bucket/

希望这有助于。