2017-08-01 104 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/

希望這有助於。