Verwaltung von Amazon S3 S3-Bucket-Zugriffsberechtigungen mit der AWS SDK for PHP Version 3 - AWS SDK for PHP

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.

Verwaltung von Amazon S3 S3-Bucket-Zugriffsberechtigungen mit der AWS SDK for PHP Version 3

Zugriffskontrolllisten (ACLs) sind eine der ressourcenbasierten Zugriffsrichtlinienoptionen, mit denen Sie den Zugriff auf Ihre Buckets und Objekte verwalten können. Sie können sie verwendenACLs, um anderen Konten grundlegende Lese-/Schreibberechtigungen zu gewähren. AWS Weitere Informationen finden Sie unter Zugriff verwalten mit. ACLs

Das folgende Beispiel zeigt eine Anleitung für:

  • Rufen Sie die Zugriffskontrollrichtlinie für einen Bucket ab, indem Sie GetBucketAcl.

  • Legen Sie die Berechtigungen für einen Bucket mithilfe ACLs von fest PutBucketAcl.

Der gesamte Beispielcode für AWS SDK for PHP ist hier verfügbar GitHub.

Anmeldeinformationen

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK for PHP, wie unter beschriebenGrundlegende Verwendung.

Rufen Sie eine Richtlinie für die Zugriffskontrollliste ab und legen Sie sie fest

Importe

require 'vendor/autoload.php'; use Aws\S3\S3Client; use Aws\Exception\AwsException;

Beispiel-Code

// Create a S3Client $s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); // Gets the access control policy for a bucket $bucket = 'amzn-s3-demo-bucket'; try { $resp = $s3Client->getBucketAcl([ 'Bucket' => $bucket ]); echo "Succeed in retrieving bucket ACL as follows: \n"; var_dump($resp); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo "\n"; } // Sets the permissions on a bucket using access control lists (ACL). $params = [ 'ACL' => 'public-read', 'AccessControlPolicy' => [ // Information can be retrieved from `getBucketAcl` response 'Grants' => [ [ 'Grantee' => [ 'DisplayName' => '<string>', 'EmailAddress' => '<string>', 'ID' => '<string>', 'Type' => 'CanonicalUser', 'URI' => '<string>', ], 'Permission' => 'FULL_CONTROL', ], // ... ], 'Owner' => [ 'DisplayName' => '<string>', 'ID' => '<string>', ], ], 'Bucket' => $bucket, ]; try { $resp = $s3Client->putBucketAcl($params); echo "Succeed in setting bucket ACL.\n"; } catch (AwsException $e) { // Display error message echo $e->getMessage(); echo "\n"; }