2009-07-14 9 views
5

Ich habe ein paar Dinge ausprobiert: S3Browse, die RightAws Ruby gem und andere Werkzeuge. Alle erlauben den Zugriff auf einer individuellen Schlüsselbasis, aber ich konnte die ACL nicht auf Buckets setzen. Eigentlich habe ich die ACL auf den Bucket gesetzt, es werden keine Fehler zurückgegeben. Aber wenn ich ein anderes Tool aktualisiere oder einchecke, wird die ACL des Buckets nur auf den Besitzer zurückgesetzt.Wie legt man die ACL eines Buckets auf S3 fest?

Ich möchte Lese- und Schreibzugriff auf FlixCloud für eine Anwendung geben, die ich entwickle. Sie benötigen den Zugriff, um die Ausgabedateien zu schreiben.

Antwort

1

Yup, nur noch einmal nach 10 min überprüft. ACL bleibt wie konfiguriert. Ich schätze, das ist dann etwas für dich. Probieren Sie ein anderes Konto/eine andere Workstation.

+0

Vergessen, dies jemals zu beantworten. Mein Problem war ein Skript, das ich geschrieben hatte und das die ACL ein paar Minuten später überschrieb. –

1

Ich habe gerade überprüft, dass für Sie - S3fm war in der Lage, die ACL erfolgreich zu ändern. Ich benutzte ihre E-Mail [email protected] als Benutzer-ID. Sie können den Benutzer in der folgenden Liste als flixclouds3.

+0

Haben Sie überprüfen Sie die ACL nach 1 oder 2 Minuten? An meinem Ende wird die ACL immer nur auf den Besitzer zurückgesetzt. –

11

Ich hatte Probleme mit der ACL vs. Bucket Policy und fand folgendes nützlich.

ACL

Die ACL definiert die in einer einzigen Datei in Ihrem Eimer angebracht Berechtigungen. Die Bucket-Richtlinie ist ein Skript, das die Berechtigungen für einen Ordner oder eine Datei in einem Bucket erläutert. Verwenden Sie die Eimer polcies heißen Verknüpfung zu beschränken, gewähren oder verweigern den Zugriff auf bestimmte oder alle Dateien, beschränken IP-Adresse usw.

Bearbeiten Sie die S3 Bucket Politik

Log in Amazon Web Services, klicken Sie auf S3 und Klicken Sie auf den Bucket-Namen in der linken Spalte. Zeigen Sie das Bucket-Eigenschaftenfenster am unteren Seitenrand an. Klicken Sie auf die Schaltfläche in der unteren rechten Ecke, die "Bucket-Richtlinie bearbeiten" lautet. Dadurch wird ein Leuchtkasten angezeigt, in den Sie das Richtlinienskript einfügen können. Wenn das Skript die Validierung nicht besteht, wird es nicht gespeichert.

Beispielpolitik, die den Zugriff auf alle lesen aktiviert ist (nützlich, wenn der Eimer als Content-Delivery-Netzwerk verwendet wird)

{ 
    "Version": "2008-10-17", 
    "Id": "", 
    "Statement": [ 
      { 
       "Sid": "AddPerm", 
       "Effect": "Allow", 
       "Principal": { 
        "AWS": "*" 
       }, 
       "Action": "s3:GetObject", 
       "Resource": "arn:aws:s3:::my_bucket_name/*" 
      } 
    ] 
} 

Beispielpolitik nicht autorisierte hotlinking (Websites Dritter, um es zum Verlinken) zu verhindern, aber irgend jemand erlauben zum Download der Dateien:

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

eine Politik generieren

Richtlinien

Probe Bucket

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

+3

Bucket Policies sind großartig, ein Vorbehalt ... Sie arbeiten nur für Objekte, die dem Besitzer des Eimers gehören. Wenn Ihr Inhalt also über ein anderes Benutzerkonto als den Bucket-Besitzer in Ihrem Bucket landet, müssen Sie ACLs verwenden oder das Objekt in den Bucket als Eigentümer kopieren, um den Besitzer zurückzusetzen. –

+0

Danke für den Tipp Steve, ich wusste nichts von der Vorbehaltsverletzung des Besitzers. –