1

Я пытаюсь скопировать некоторые файлы из ec2 (Linux) до s3 bucket.i прилагается эту политику к моему s3Получение ошибки при загрузке файлов из ec2 Linux на s3

{ 
    "Version": "2012-10-17", 
    "Id": "Policy1487803543981", 
    "Statement": [ 
     { 
      "Sid": "Stmt1487803541931", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::###234222###:user/Bilkishjain" 
      }, 
      "Action": [ 
       "s3:Get*", 
       "s3:*Multi*", 
       "s3:Put*" 
      ], 
      "Resource": "arn:aws:s3:::<bucketname>/<filename>" 
     } 
    ] 
} 

Я AWS настройки и при условии, ключи доступа и id.but доступа, когда я пытался использовать эту команду:

aws s3 mv /home/ec2-user/temp/backup/*.tar.gz s3://s3-bucketname/testfolder/ 

Он выдает эту ошибку:

sudo aws s3 mv /home/ec2-user/temp/backup/debugLogBackup_$(date +%F).tar.gz s3://s3-bucketname/testfolder/debugLogBackup_$(date +%F).tar.gz 
move failed: backup/debugLogBackup_2017-02-22.tar.gz to s3://s3-bucketname/testfolder/debugLogBackup_2017-02-22.tar.gz 
An error occurred (AccessDenied) when calling the CreateMultipartUpload operation: Access Denied 

Не удалось выполнить проверку параметров:

Invalid type for parameter UploadId, value: None, type: , valid types:

Может ли кто-нибудь помочь мне с этой ошибкой?

+0

формат Pleae ваш вопрос так, что все проще читать. –

+0

убедитесь, что у пользователя IAM есть разрешение на загрузку и размещение объектов на объекте. Во-вторых, вы уверены, что это хорошо интерпретируется? "s3: * Multi *" попробуйте немного поработать с ним, явно напишите разрешение и повторите попытку. – Sam

ответ

1

Во-первых, если вы moving несколько файлов (с расширениями) из локального каталога на ведро S3, ваша команда должна быть что-то вроде этого (с помощью exclude and include filters):

aws s3 mv /home/ec2-user/temp/backup/ s3://s3-bucketname/testfolder/ --recursive --exclude "*" --include "*.tar.gz" 

У вас также есть проблема с элементом вашей политики "Resource". Поскольку вы загружаете несколько файлов, он должен быть в следующем формате (т. Е. С использованием подстановочных знаков): "Resource": "arn:aws:s3:::s3-bucketname/testfolder/*".

ПРИМЕЧАНИЕ: Хотя вы можете использовать один или несколько символов подстановки (*) в строке действий (см Specifying Resources in a Policy), я настоятельно советую против этого. Лучше всего использовать явные разрешения, если это возможно.

Вы можете попробовать следующую политику:

{ 
    "Version": "2012-10-17", 
    "Id": "Policy1487803543981", 
    "Statement": [ 
     { 
      "Sid": "Stmt1487803541931", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::###234222###:user/Bilkishjain" 
      }, 
      "Action": [ 
       "s3:GetObject", 
       "s3:PutObject", 
       "s3:AbortMultipartUpload", 
       "s3:ListMultipartUploadParts", 
       "s3:ListBucketMultipartUploads" 
      ], 
      "Resource": "arn:aws:s3:::s3-bucketname/testfolder/*" 
     } 
    ] 
}