AWS SDK for PHP 버전 3을 사용하여 Amazon S3 버킷 액세스 권한 관리 - AWS SDK for PHP

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK for PHP 버전 3을 사용하여 Amazon S3 버킷 액세스 권한 관리

액세스 제어 목록(ACLs)은 버킷 및 객체에 대한 액세스를 관리하는 데 사용할 수 있는 리소스 기반 액세스 정책 옵션 중 하나입니다. ACLs 를 사용하여 다른 AWS 계정에 기본 읽기/쓰기 권한을 부여할 수 있습니다. 자세한 내용은 를 사용한 액세스 관리를 ACLs참조하세요.

다음 예에서는 작업 방법을 보여줍니다.

  • 를 사용하여 버킷에 대한 액세스 제어 정책을 가져옵니다GetBucketAcl.

  • 를 사용하여 버킷에 대한 권한을 설정합니다ACLsPutBucketAcl.

에 대한 모든 예제 코드는 에서 GitHub확인할 AWS SDK for PHP 수 있습니다.

보안 인증 정보

예제 코드를 실행하기 전에 에 설명된 대로 AWS 자격 증명을 구성합니다보안 인증. 그런 다음 에 설명된 AWS SDK for PHP대로 를 가져옵니다기본 사용법.

액세스 제어 목록 정책 가져오기 및 설정

가져오기

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

샘플 코드

// 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"; }