2011-11-29 13 views
6

Mam zamiar użyć usługi Amazon S3, aby umożliwić użytkownikom przesyłanie zdjęć z iPhone'a, a następnie umożliwić ich publiczną prezentację.Zasady dotyczące wiaderek Amazon S3 do anonimowego przesyłania zdjęć do wiaderka

Mam pewne kłopoty ze zrozumieniem, jak skonfigurować te ograniczenia bezpieczeństwa w polityce wieloczynnościowy:

  • Każdy może przeczytać każdy plik.
  • Każdy może przesłać plik nowy o maksymalnej wielkości 256 KB.
  • Nikt nie może usunąć żadnego pliku.
  • Nikt nie może zmodyfikować żadnego pliku.

Odpowiedz

8

OK W pewnym sensie udało mi się to wypracować. Jedyną rzeczą jest to, że nie można ustawić różnych uprawnień do dodawania plików i aktualizowania plików. Wszystkie są objęte s3: PutObject. Ponadto, nie wydaje się możliwe ograniczenie rozmiaru pliku.

{ 
    "Version": "2008-10-17", 
    "Id": "policy", 
    "Statement": [ 
     { 
      "Sid": "allow-public-read", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucket/*" 
     }, 
    { 
      "Sid": "allow-public-put", 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:PutObject", 
      "Resource": "arn:aws:s3:::bucket/*" 
     } 
    ] 
} 
+0

, więc nie ma opcji, aby ustawić ograniczenie maksymalnej wielkości? – Rizon

0

Może coś podobnego do tego poniżej zadziała, ale nie jestem pewien, czy możesz ograniczyć rozmiar przesyłanego pliku.

{ 
    "Statement": [ 
    { 
     "Effect": "Allow", 
     "Principal":"*", 
     "Action": [ 
     "s3:GetObject", 
     "s3:PutObject", 
     "s3:GetObjectAcl", 
     "s3:PutObjectAcl" 
     ], 
     "Resource": "arn:aws:s3:::mybucket/*", 
     "Condition": {} 
    }, 
    { 
     "Effect": "Allow", 
     "Action": [ 
     "s3:ListBucket", 
     "s3:GetBucketAcl" 
     ], 
     "Resource": "arn:aws:s3:::mybucket", 
     "Condition": {} 
    } 
    ] 
} 
+0

Dlaczego określasz działania * Acl? –

Powiązane problemy