Gestione delle autorizzazioni di accesso ai 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 ai bucket Amazon S3 con la versione 3 AWS SDK for PHP

Le liste di controllo degli accessi (ACLs) sono una delle opzioni di policy di accesso basate sulle risorse che puoi utilizzare per gestire l'accesso ai tuoi bucket e oggetti. È possibile utilizzare ACLs per concedere autorizzazioni di lettura/scrittura di base ad altri account. AWS Per ulteriori informazioni, consulta Gestire l'accesso con. ACLs

Gli esempi seguenti mostrano come:

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

  • Imposta le autorizzazioni su un bucket utilizzandoACLs, using. PutBucketAcl

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

Credenziali

Prima di eseguire il codice di esempio, configurate AWS le vostre credenziali, come descritto inCredenziali. Quindi importate il file AWS SDK for PHP, come descritto inUtilizzo di base.

Ottieni e imposta una politica per la 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 = '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"; }