Uso de las políticas de los buckets de Amazon S3 con la versión 3 de AWS SDK para PHP
Puede utilizar una política de bucket para conceder permisos a sus recursos de Amazon S3. Para obtener más información, consulte Uso de políticas de bucket y usuario.
El siguiente ejemplo muestra cómo:
-
Devolver la política a un bucket determinado utilizando GetBucketPolicy.
-
Sustituir una política en un bucket utilizando PutBucketPolicy.
-
Eliminar una política de un bucket utilizando DeleteBucketPolicy.
Todo el código de ejemplo de AWS SDK para PHP está disponible aquí en GitHub
Credenciales
Antes de ejecutar el código de ejemplo, configure sus credenciales de AWS, como se indica en Autenticación con AWS mediante la versión 3 de AWS SDK para PHP. A continuación, importe AWS SDK para PHP, como se indica en Instalación del AWS SDK para PHP versión 3.
Obtener, eliminar y sustituir una política en un bucket
Importaciones
require "vendor/autoload.php"; use Aws\Exception\AwsException; use Aws\S3\S3Client;
Código de muestra
$s3Client = new S3Client([ 'profile' => 'default', 'region' => 'us-west-2', 'version' => '2006-03-01' ]); $bucket = 'amzn-s3-demo-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"; }