2015-11-09 4 views
0

После загрузки файла с помощью TransferUtility для Amazon S3 я не могу использовать этот файл.Предоставить разрешение всем пользователям с загрузкой Amazon S3

Request failed 403: Forbidden 

Когда я иду в свое ведро и проверяю права справа, это только показывает меня. Когда я добавляю всех, я могу получить доступ к файлу без проблем.

Я искал способ предоставления разрешения при загрузке, но мог найти его для Android.

Я нашел ответ на C#, который ведет меня к этому:

CannedAccessControlList cannedAccessControlList = CannedAccessControlList.BucketOwnerFullControl; 

, но я не знаю, где, чтобы добавить это ..

ответ

0

Самый простой способ определить Bucket политику, которая предоставляет открытый доступ к ведру или путь внутри ведра. Таким образом, вам не нужно указывать разрешения для каждого отдельного объекта.

См: Using Bucket Policies and User Policies

Например, это ведро политика позволит обеспечить доступ общественности к какой-либо объект, хранящийся в uploads пути:

{ 
    "Version":"2012-10-17", 
    "Statement":[ 
    { 
     "Sid":"AddPerm", 
     "Effect":"Allow", 
     "Principal": "*", 
     "Action":["s3:GetObject"], 
     "Resource":["arn:aws:s3:::examplebucket/uploads/*"] 
    } 
    ] 
} 
0

transferManager.upload (новый PutObjectRequest ("название ведро", " имя файла "," объект пути к файлу "). withCannedAcl (CannedAccessControlList.PublicRead));