2012-04-04 7 views
0

Ich versuche, einen Eimer policys hinzufügen Ich lese die Amazon s3 Dokumentation hier. http://docs.amazonwebservices.com/AmazonS3/latest/dev/setpolicyonbucket.htmlAmazon S3 setzen Eimer mit Eimer Politik

in der Dokumentation heißt es, diesen Code auszuführen.

PUT /?policy HTTP/1.1 
Host: bucket.s3.amazonaws.com 
Date: Tue, 04 Apr 2010 20:34:56 GMT 
Authorization: AWS AKIAIOSFODNN7EXAMPLE:VGhpcyBSAMPLEBieSBlbHZpbmc= 

{ 
"Version":"2008-10-17", 
"Id":"aaaa-bbbb-cccc-dddd", 
"Statement" : [ 
    { 
     "Effect":"Allow", 
     "Sid":"1", 
     "Principal" : { 
      "AWS":["1111-2222-3333","4444-5555-6666"] 
     }, 
     "Action":["s3:GetObject*"], 
     "Resource":"arn:aws:s3:::mybucket/*" 
    } 
] 
} 

das ist genau das, was ich tun muss, was mit denen ich zu kämpfen ist, wie ich ein PHP-Curl Anfrage laufen, dies zu tun, wo fange ich an? Neu dabei ist, dass ich die amazon s3 Klasse bis jetzt noch nicht verwendet habe.

Dank

+2

, warum Sie nicht ein SDK? Amazon hat ein PHP SDK für AWS. –

+0

Ich weiß, dass ich anfing, nicht verwendete s3-Klasse hier http://undesigned.org.za/2007/10/22/amazon-s3-php-class zu verwenden, aber als mein Projekt wächst, brauchte ich diese Funktionalität und es scheint nicht möglich mit die Klasse, die ich benutze, also versuche ich gerade, diese Funktionalität in zu verbinden. – DCHP

+0

Lassen Sie mich wissen, wenn die Lösung, die ich bekannt gab, funktioniert. Die Dokumentation ist nicht 100% klar, aber ich denke, das ist es, was Sie brauchen. –

Antwort

0

ist die Methode setAccessControlPolicy, was Sie suchen? Sie können die Zugriffskontrolle wie in dem obigen Beispiel einstellen. Aus der Dokumentation:

setAccessControlPolicy (string $ bucket, [string $ uri = ''], [Array $ acp = array()]) Nach oben

die Zugangskontrollpolitik für ein Set Objekt oder ein Eimer, wenn $ uri = ''

Beispiel:

<?php 

    if (($acp = S3::getAccessControlPolicy($bucket, $uri)) !== false) { 
     // Here you would modify the $acp array... 
     // For example, grant access to the S3 LogDelivery system: 
     $acp["acl"][] = array(
      "type" => "Group", "uri" => "http://acs.amazonaws.com/groups/s3/LogDelivery", "permission" => "WRITE" 
     ); 
     $acp["acl"][] = array(
      "type" => "Group", "uri" => "http://acs.amazonaws.com/groups/s3/LogDelivery", "permission" => "READ_ACP" 
     ); 
     // Then update the policy using the modified $acp array: 
     if (S3::setAccessControlPolicy($bucket, $uri, $acp)) { 
      echo "Policy updated"; 
     } 
    } 
?> 
+0

Hi scott yeah Ich habe schon eine Weile damit gespielt und versucht, eine Bucket-Policy hinzuzufügen, aber ich denke nicht, dass du eine Bucket-Policy hinzufügen oder aktualisieren kannst. Ich habe den Code angesehen. https://github.com/tpyo/amazon-s3-php-class/blob/master/S3.php – DCHP

+0

Was passiert, wenn Sie diese Funktion verwenden und es ausprobieren? –