2016-07-16 36 views
0

Zunächst lassen Sie mich Ihnen Kontext verknüpfen:Bucket-Richtlinien gelten für Objekte, die ich nicht besitze? (? Public Eimer)

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

Ich versuche, einen öffentlichen Eimer für einige App zu erstellen schreibe ich. Ich habe eine Richtlinie, um PUT und GET für alle Elemente im Bucket zuzulassen. Aber, wie Sie aus dem obigen Link sehen können, wird die Richtlinie einfach nicht auf irgendwelche Elemente angewendet, die mir nicht das Eigentum geben.

Gibt es eine Lösung? Ist es tatsächlich möglich, einen wirklich öffentlichen Bucket zu erstellen?

Im Idealfall ist jedes Objekt in diesem Bereich für alle zugänglich, unabhängig davon, wer es hochgeladen hat.

+0

http://StackOverflow.com/Questions/22944054/cant-download-files-uploaded-by-shared-account-s3-bucket Duplizieren – Hunter

+0

Sie möchten nur Leseberechtigungen für die Öffentlichkeit erteilen? – error2007s

+0

Und Upload-Rechte – Hunter

Antwort

0

Heres eine Arbeitspolitik:

{ 
    "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/*" 
     } 
    ] 
} 

Sie bestreitet alle Objekte, die die Dosen ACL nicht „bucket-Inhaber-Vollzugriff“ verwenden, sind auch Objekte, die unsere offene GetObject Politik ignorieren würde.

+0

Dies ist der richtige Weg, um eine wirklich schlechte Idee zu implementieren. Ein öffentlicher Eimer bittet darum, missbraucht zu werden. –

+0

Haben Sie berücksichtigt, dass dies möglicherweise keine Produktionspolitik ist? – Hunter

+0

Ich würde behaupten, dass ein öffentlich beschreibbarer Bucket genau null gültige Anwendungsfälle hat. Unterschreiben Sie die Anfragen. –