2016-07-16 2 views
0

Tout d'abord, permettez-moi de vous lier contexte:La stratégie de compartiment s'applique aux objets que je ne possède pas? (? Seau public)

https://stackoverflow.com/a/9285074/6347501

Je suis en train de créer un seau public une application que je vous écris. J'ai une politique pour permettre PUT et GET sur tous les articles dans le seau. Mais, comme vous pouvez le voir sur le lien ci-dessus, la politique ne s'appliquera tout simplement pas aux éléments mis dans le seau qui ne me donnent pas la propriété.

Y a-t-il une solution? Est-il réellement possible de créer un seau vraiment public?

Idéalement, tous les objets de ce compartiment sont accessibles à tous, quel que soit leur auteur.

+0

http://stackoverflow.com/questions/22944054/cant-download-files-uploaded-by-shared-account-s3-bucket Dupliquer – Hunter

+0

Vous voulez accorder des droits Lecture seule au public? – error2007s

+0

Et les droits de téléchargement – Hunter

Répondre

0

Heres une politique de travail:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Principal": "*", 
      "Action": "s3:PutObject", 
      "Resource": "arn:aws:s3:::my-bucket/*", 
      "Condition": { 
       "StringEquals": { 
        "s3:x-amz-acl": "bucket-owner-full-control" 
       } 
      } 
     }, 
     { 
      "Effect": "Allow", 
      "Principal": "*", 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::my-bucket/*" 
     } 
    ] 
} 

Il nie tous les objets qui n'utilisent pas le « seau plein propriétaire d'accès, » ACL en conserve qui sont aussi des objets qui ne tiendraient pas compte de notre politique GetObject ouverte.

+0

C'est la bonne façon d'implémenter une très mauvaise idée. Un seau public demande à être abusé. –

+0

Avez-vous considéré que cela pourrait ne pas être une politique de production? – Hunter

+0

J'affirmerais qu'un bucket public-writable a exactement zéro cas d'utilisation valides. Signez les demandes. –