2009-07-14 3 views
5

Я пробовал пару вещей: S3Browse, RightAws Ruby gem и другие инструменты. Все разрешают предоставление доступа на основе отдельного ключа, но я не смог установить ACL на ведрах. Фактически, я устанавливаю ACL в ведро, никаких ошибок не возвращается. Но когда я обновляю или проверяю другой инструмент, ACL ведра сбрасывается только владельцу.Как установить ACL на S3?

Я хочу предоставить доступ для чтения и записи к FlixCloud для приложения, которое я разрабатываю. Им нужен доступ для записи выходных файлов.

ответ

1

Yup, только что проверил его снова через 10 минут. ACL остается таким же настроенным. Я предполагаю, что это то, что вам нужно. Попробуйте использовать другую учетную запись/рабочую станцию.

+0

Забыл когда-нибудь ответить на этот вопрос. Моя проблема была написанным мной сценарием, который через пару минут переписал ACL. –

1

Я только что дважды проверил это для вас - S3fm смог успешно сменить ACL. Я использовал их адрес электронной почты [email protected] как userid. Вы можете видеть пользователя в списке послесловия как flixclouds3.

+0

Вы проверили ACL после 1 или 2 минут? С моей стороны ACL всегда возвращается только владельцу. –

11

Я боролся с политикой ACL против Bucket и нашел следующее полезное.

ACL

ACL, определяет права доступа, присоединенные к одному файлу в вашем ведре. Политика Bucket - это сценарий, который объясняет разрешения для любой папки или файла в ведре. Используйте ведро polcies ограничить горячее связывание, разрешить или запретить доступ к определенным или всех файлов, ограничить IP-адрес и т.д.

Отредактируйте S3 Bucket Политика

Вход в Amazon Web Services, нажмите на S3 и нажмите на имя ковша в левом столбце. Просмотрите панель свойств ковша в нижней части страницы. Нажмите кнопку в правом нижнем углу, где указано «Редактировать политику ведра». Это вызывает лайтбокс, в который вы можете вставить сценарий политики. Если скрипт не прошел проверку, он не будет сохранен.

политики

Sample, позволившего доступ всем прочитать (полезно, если ковш используется в качестве сети доставки контента)

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

Политика образца для предотвращения несанкционированного хотлинкинга (третья сторона сайты ссылки на него), но позволит никому для загрузки файлов:

{ 
    "Version":"2008-10-17", 
    "Id":"preventHotLinking", 

    "Statement":[ { 

     "Sid":"1", 
     "Effect":"Allow", 
     "Principal": { 
      "AWS":"*" 
     }, 

     "Action":"s3:GetObject", 
     "Resource":"arn:aws:s3:::your.bucket.name/*", 

     "Condition":{ 

      "StringLike": { 

       "aws:Referer": [ 
        "http://yourwebsitename.com/*", 
        "http://www.yourwebsitename.com/*" 
       ] 
      } 
     } 
    }] 
} 

Сформировать политику

http://awspolicygen.s3.amazonaws.com/policygen.html

Образец ковшовые Политики

http://docs.amazonwebservices.com/AmazonS3/latest/dev/index.html?AccessPolicyLanguage_UseCases_s3_a.html

+3

Политика ведра великолепна, одна оговорка ... Они работают только на объекты, принадлежащие владельцу ведер. Поэтому, если ваш контент попадает в ваш ведро через учетную запись пользователя, отличную от владельца ведра, вам нужно использовать ACL или скопировать вставьте объект в ведро как владельца, чтобы сбросить владельца. –

+0

Спасибо за отзыв Стив, я не знал о препятствии владельца объекта. –

Смежные вопросы