As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Trabalhar com políticas de bucket do Amazon S3 com o AWS SDK para PHP versão 3
Você pode usar uma política de bucket para conceder permissão aos recursos do Amazon S3. Para saber mais sobre isso, consulte Usar políticas de bucket e de usuário.
O exemplo a seguir mostra como:
-
Retornar a política de um bucket especificado usando GetBucketPolicy.
-
Substituir uma política em um bucket usando PutBucketPolicy.
-
Excluir uma política de um bucket usando DeleteBucketPolicy.
O código de exemplo completo do AWS SDK para PHP está disponível aqui no GitHub
Credenciais
Antes de executar o código de exemplo, configure suas credenciais da AWS, conforme descrito em Autenticando com o AWS uso da AWS SDK para PHP versão 3. Em seguida, importe o AWS SDK para PHP, conforme descrito em Instalando a AWS SDK para PHP versão 3.
Obter, excluir e substituir uma política em um bucket
Importações
require "vendor/autoload.php"; use Aws\Exception\AwsException; use Aws\S3\S3Client;
Código de exemplo
$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"; }