AWS SDK for PHP 버전 3을 사용한 Amazon S3 버킷 정책 작업
버킷 정책을 사용하여 Amazon S3 리소스에 대한 권한을 부여할 수 있습니다. 자세한 내용은 버킷 정책 및 사용자 정책 사용을 참조하세요.
다음 예에서는 작업 방법을 보여줍니다.
-
GetBucketPolicy를 사용하여 지정된 버킷에 대한 정책을 반환합니다.
-
PutBucketPolicy를 사용하여 버킷에 대한 정책을 대체합니다.
-
DeleteBucketPolicy를 사용하여 버킷에서 정책을 삭제합니다.
AWS SDK for PHP에 대한 모든 예제 코드는 GitHub
보안 인증 정보
예제 코드를 실행하기 전에 AWS SDK for PHP 버전 3을 사용하여 AWS로 인증에 설명된 대로 AWS 보안 인증을 구성합니다. 그 다음 AWS SDK for PHP 버전 3 설치에 설명된 AWS SDK for PHP를 가져옵니다.
버킷에 대한 정책 가져오기, 삭제, 바꾸기
가져옵니다.
require "vendor/autoload.php"; use Aws\Exception\AwsException; use Aws\S3\S3Client;
샘플 코드
$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"; }