2014-10-10 7 views
0

У меня есть s3 ведро с политикойS3 Bucket разрешение

{ 
    "Version": "2008-10-17", 
    "Id": "Policy1412967758094", 
    "Statement": [ 
     { 
      "Sid": "Stmt1412967757168", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:*", 
      "Resource": "arn:aws:s3:::bucketname/*" 
     } 
    ] 
} 

конфигурация, CORS из

<?xml version="1.0" encoding="UTF-8"?> 
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> 
    <CORSRule> 
     <AllowedOrigin>*</AllowedOrigin> 
     <AllowedMethod>GET</AllowedMethod> 
     <MaxAgeSeconds>3000</MaxAgeSeconds> 
    </CORSRule> 
</CORSConfiguration> 

и полные права доступа для меня и идентифицированных пользователей.

Я использовал эти разрешения раньше (как правило, только getObject в политике), чтобы настроить ведра для обслуживания статических активов веб-сайтов. Когда я загружаю файлы в эти ведра через графический интерфейс, все работает нормально, и я могу просматривать изображения, щелкнув правой кнопкой мыши.

Однако, используя s3cmd и мой секретный ключ и ключ доступа с синхронизацией s3cmd, никакие разрешения не прикрепляются к файлам внутри ведра. Я не могу их просмотреть или открыть.

Что мне не хватает?

ответ

0

Я не уверен, почему вы устанавливаете доступ для аутентифицированных пользователей .... Аутентифицированные пользователи с настроенной вами политикой в ​​виде корзины будут делиться ведром с всеми пользователями S3, а не только с учетными записями IAM.

Но для вашей проблемы с ACL вы можете указать ACL с s3cmd .... установить владельца на полный контроль, указав в вашей команде --acl-private.

Вы также можете попробовать AWS CLI ... есть набор команд aws s3 высокого уровня с ls, mv, cp, rm, sync и т. Д. Сделайте «aws cmd help», чтобы просмотреть все варианты. Плюс синтаксис согласован между платформами.