Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arbeiten mit Amazon S3 S3-Bucket-Richtlinien mit der AWS SDK für PHP Version 3
Sie können eine Bucket-Richtlinie verwenden, um Berechtigungen für Ihre Amazon S3 S3-Ressourcen zu erteilen. Weitere Informationen dazu erhalten Sie unter Verwendung von Bucket-Richtlinien und Benutzerrichtlinien.
Das folgende Beispiel zeigt eine Anleitung für:
-
Geben Sie die Richtlinie für einen bestimmten Bucket zurück mit GetBucketPolicy.
-
Ersetzen Sie eine Richtlinie für einen Bucket mit PutBucketPolicy.
-
Löschen Sie eine Richtlinie aus einem Bucket mithilfe von DeleteBucketPolicy.
Der gesamte Beispielcode für AWS SDK für PHP ist hier verfügbar GitHub
Anmeldeinformationen
Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschriebenAuthentifizierung AWS mit AWS SDK für PHP Version 3. Importieren Sie dann die AWS SDK für PHP, wie unter beschriebenInstallation der AWS SDK für PHP Version 3.
Rufen Sie eine Richtlinie für einen Bucket ab, löschen Sie sie und ersetzen Sie sie
Importe
require "vendor/autoload.php"; use Aws\Exception\AwsException; use Aws\S3\S3Client;
Beispiel-Code
$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); $bucket = 'my-s3-bucket'; // Get the policy of a specific bucket try { $resp = $s3Client->getBucketPolicy([ 'Bucket' => $bucket ]); echo "Succeed in receiving bucket policy:\n"; echo $resp->get('Policy'); echo "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; } // Deletes the policy from the bucket try { $resp = $s3Client->deleteBucketPolicy([ 'Bucket' => $bucket ]); echo "Succeed in deleting policy of bucket: " . $bucket . "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; } // Replaces a policy on the bucket try { $resp = $s3Client->putBucketPolicy([ 'Bucket' => $bucket, 'Policy' => 'foo policy', ]); echo "Succeed in put a policy on bucket: " . $bucket . "\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; }