Как установить ACL ведра на S3? - PullRequest
5 голосов
/ 14 июля 2009

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

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

Ответы [ 3 ]

11 голосов
/ 23 сентября 2011

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

ACL

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

Изменить политику S3 Bucket

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

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

{
     "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

Пример политики Bucket

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

1 голос
/ 15 июля 2009

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

1 голос
/ 15 июля 2009

Я только что дважды проверил это для вас - S3fm смог успешно изменить ACL. Я использовал их электронную почту s3@flixcloud.com в качестве идентификатора пользователя. Вы можете видеть пользователя в списке после слов как flixclouds3 .

...