Amazon S3 on Outposts 버킷의 버킷 정책 추가 또는 편집 - Amazon Simple Storage Service

Amazon S3 on Outposts 버킷의 버킷 정책 추가 또는 편집

버킷 정책은 버킷과 해당 버킷의 객체에 액세스 권한을 부여할 수 있는 리소스 기반 AWS Identity and Access Management(IAM) 정책입니다. 버킷 소유자만 정책을 버킷에 연결할 수 있습니다. 버킷에 연결된 권한은 버킷 소유자가 소유한 모든 버킷의 객체에 적용됩니다. 버킷 정책은 크기가 20KB로 제한됩니다. 자세한 정보는 버킷 정책을 참조하십시오.

다음 주제에서는 AWS Management Console, AWS Command Line Interface(AWS CLI) 또는 AWS SDK for Java를 사용하여 Amazon S3 on Outposts 버킷 정책을 업데이트하는 방법을 보여줍니다.

버킷 정책 생성 또는 편집
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 Outposts 버킷을 선택합니다.

  3. 편집할 버킷 정책이 있는 Outposts 버킷을 선택합니다.

  4. 권한(Permissions) 탭을 선택합니다.

  5. 새 정책을 생성하거나 정책을 편집하려면 Outposts 버킷 정책(Outposts bucket policy) 섹션에서 편집(Edit)을 선택합니다.

    이제 S3 on Outposts 버킷 정책을 추가하거나 편집할 수 있습니다. 자세한 정보는 S3 on Outposts로 IAM 설정을 참조하십시오.

다음 AWS CLI 예제에서는 Outposts 버킷에 정책을 적용합니다.

  1. 다음 버킷 정책을 JSON 파일로 저장합니다. 이 예시에서 파일의 이름은 policy1.json으로 지정됩니다. user input placeholders를 사용자의 정보로 대체합니다.

    { "Version":"2012-10-17", "Id":"testBucketPolicy", "Statement":[ { "Sid":"st1", "Effect":"Allow", "Principal":{ "AWS":"123456789012" }, "Action":"s3-outposts:*", "Resource":"arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket" } ] }
  2. put-bucket-policy CLI 명령의 일부로 JSON 파일을 제출합니다. 이 명령을 실행하려면 user input placeholders를 사용자의 정보로 대체합니다.

    aws s3control put-bucket-policy --account-id 123456789012 --bucket arn:aws:s3-outposts:region:123456789012:outpost/op-01ac5d28a6a232904/bucket/example-outposts-bucket --policy file://policy1.json

다음 SDK for Java 예제에서는 Outposts 버킷에 정책을 적용합니다.

import com.amazonaws.services.s3control.model.*; public void putBucketPolicy(String bucketArn) { String policy = "{\"Version\":\"2012-10-17\",\"Id\":\"testBucketPolicy\",\"Statement\":[{\"Sid\":\"st1\",\"Effect\":\"Allow\",\"Principal\":{\"AWS\":\"" + AccountId+ "\"},\"Action\":\"s3-outposts:*\",\"Resource\":\"" + bucketArn + "\"}]}"; PutBucketPolicyRequest reqPutBucketPolicy = new PutBucketPolicyRequest() .withAccountId(AccountId) .withBucket(bucketArn) .withPolicy(policy); PutBucketPolicyResult respPutBucketPolicy = s3ControlClient.putBucketPolicy(reqPutBucketPolicy); System.out.printf("PutBucketPolicy Response: %s%n", respPutBucketPolicy.toString()); }