Gestione delle autorizzazioni di accesso al bucket Amazon S3 con la versione 3 AWS SDK for PHP - AWS SDK for PHP

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Gestione delle autorizzazioni di accesso al bucket Amazon S3 con la versione 3 AWS SDK for PHP

Le liste di controllo degli accessi (ACL) sono una delle opzioni basate su risorse della policy di accesso che è possibile utilizzare per gestire l'accesso ai bucket e agli oggetti. Le ACL possono essere utilizzate per concedere autorizzazioni base di lettura/scrittura ad altri account AWS. Per ulteriori informazioni, consulta la sezione relativa alla gestione degli accessi con ACL.

Gli esempi seguenti mostrano come:

  • Ottieni la politica di controllo degli accessi per un bucket che utilizza GetBucketAcl.

  • Imposta le autorizzazioni su un bucket utilizzando gli ACL, utilizzando. PutBucketAcl

Tutto il codice di esempio per il AWS SDK for PHP è disponibile qui GitHub.

Credenziali

Prima di eseguire il codice di esempio, configura AWS le tue credenziali, come descritto inCredenziali. Quindi importare il fileAWS SDK for PHP, come descritto inUtilizzo di base.

Ottieni e imposta una politica sulla lista di controllo degli accessi

Importazioni

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

Codice di esempio

// 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 = 'my-s3-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"; }