2015-08-07 4 views
0

Я пытался переместить все объекты в папке bucketA/product/pic/ на один уровень вверх в пределах одной и то же ведра bucketA/pic/Невозможно использовать синхронизацию для перемещения объектов в папке в другую папку в том же ведре с помощью s3cmd

я могу синхронизировать файлы между локальным узлом и сервером s3 с

s3cmd sync /script/ s3://bucketA/ 

, а также поместить объект:

s3cmd put zip.sh s3://bucketA/ 

Но я получаю Access Denied ошибка при синхронизации файлов в том же ведре:

[root]s3cmd sync s3://bucketA/product/pic s3://bucketA/pic/ 

WARNING: Empty object name on S3 found, ignoring. 
Summary: 441 source files to copy, 0 files at destination to delete 
ERROR: S3 error: Access Denied 

Можно ли изменить расположение объектов в папке в том же ведре?

Вот мой IAM политика:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "Stmt123456", 
      "Effect": "Allow", 
      "Action": [ 
       "s3:ListAllMyBuckets" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::*" 
      ] 
     }, 
     { 
      "Sid": "Stmt123457", 
      "Effect": "Allow", 
      "Action": [ 
       "s3:ListBucket", 
       "s3:PutObject", 
       "s3:PutObjectAcl", 
       "s3:GetBucketLocation" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::bucketA", 
       "arn:aws:s3:::bucketA/*" 
      ] 
     } 
    ] 
} 

Вот моя политика Ковш, который установлен для предотвращения хотлинкинга:

{ 
    "Version": "2012-10-17", 
    "Id": "HTTP referrer policy", 
    "Statement": [ 
     { 
      "Sid": "Allow in my domains", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucketA/*", 
      "Condition": { 
       "StringLike": { 
        "aws:Referer": [ 
         "https://mylocalhostip/*", 
         "http://mylocalhostip/*" 

        ] 
       } 
      } 
     }, 
     { 
      "Sid": "Deny access if referer is not my sites", 
      "Effect": "Deny", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucketA/*", 
      "Condition": { 
       "StringNotLike": { 
        "aws:Referer": [ 
         "http://mylocalhostip/*", 
         "https://mylocalhostip/*" 

        ] 
       } 
      } 
     } 
    ] 
} 

ответ