버킷 정책 예제 - Amazon Simple Storage Service

버킷 정책 예제

이 섹션에서는 몇 가지 버킷 정책의 일반적인 사용 사례에 대한 예제를 제시합니다. 정책에서는 리소스 값에 DOC-EXAMPLE-BUCKET 문자열을 사용합니다. 이러한 정책을 테스트하려면 이 문자열을 버킷 이름으로 대체합니다. 버킷 정책에 대한 자세한 내용은 버킷 정책 사용 단원을 참조하세요. 정책 언어에 대한 자세한 정보는 Amazon S3의 정책 및 권한 섹션을 참조하세요.

버킷 정책은 버킷과 해당 버킷의 객체에 대한 액세스 권한을 부여할 수 있는 리소스 기반 정책입니다. 버킷 소유자만 정책을 버킷에 연결할 수 있습니다. 버킷에 연결된 권한은 버킷 소유자가 소유한 모든 버킷의 객체에 적용됩니다. 이러한 권한은 다른 AWS 계정이 소유한 객체에는 적용되지 않습니다.

기본적으로 다른 AWS 계정이 S3 버킷에 객체를 업로드하면 해당 계정(객체 작성자)이 객체를 소유하고 객체에 액세스할 수 있으며 액세스 제어 목록(ACL)을 통해 다른 사용자에게 객체에 대한 액세스 권한을 부여할 수 있습니다. 객체 소유권을 사용하여 ACL이 사용 중지되고 버킷 소유자로서 버킷의 모든 객체를 자동으로 소유하도록 이 기본 동작을 변경할 수 있습니다. 결과적으로 데이터에 대한 액세스 제어는 IAM 정책, S3 버킷 정책, Virtual Private Cloud(VPC) 엔드포인트 정책 및 AWS Organizations 서비스 제어 정책(SCP)과 같은 정책을 기반으로 합니다. 자세한 정보는 객체 소유권 제어 및 버킷에 대해 ACL 사용 중지을 참조하십시오.

버킷 정책에 대한 자세한 내용은 버킷 정책 사용를 참조하십시오.

참고

버킷 정책은 크기가 20KB로 제한됩니다.

AWS 정책 생성기를 사용하여 Amazon S3 버킷에 대한 버킷 정책을 생성할 수 있습니다. 그런 다음 생성된 문서를 사용하여 여러 타사 도구 또는 애플리케이션을 통해 Amazon S3 콘솔을 사용하여 버킷 정책을 설정할 수 있습니다.

중요

Amazon S3 콘솔을 사용하여 권한을 테스트할 경우 콘솔이 요구하는 추가 권한 즉, s3:ListAllMyBuckets, s3:GetBucketLocations3:ListBucket을 부여해야 합니다. 콘솔을 사용하여 사용자에게 권한을 부여하고 테스트하는 방법에 대한 예는 사용자 정책을 사용하여 버킷에 대한 액세스 제어을 참조하세요.

추가 조건을 포함하여 여러 계정에 권한 부여

다음 정책 예제는 s3:PutObjects3:PutObjectAcl 권한을 여러 AWS 계정에 부여하고, 이러한 작업에 대한 요청에 public-read 표준 액세스 제어 목록(ACL)을 포함하도록 요구합니다. 자세한 내용은 Amazon S3 작업Amazon S3 조건 키 예 단원을 참조하십시오.

주의

Amazon S3 버킷에 대한 익명 액세스 권한을 부여하거나 퍼블릭 액세스 차단 설정을 사용 중지할 때 주의하세요. 익명 액세스 권한을 부여하면 전 세계 누구나 버킷에 액세스할 수 있습니다. 정적 웹 사이트 호스팅용과 같이 특별히 필요한 경우가 아니면 Amazon S3 버킷에 익명 액세스 권한을 부여하지 않는 것이 좋습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AddCannedAcl", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": { "s3:x-amz-acl": [ "public-read" ] } } } ] }

익명 사용자에게 읽기 전용 권한 부여

다음 예제 정책은 모든 퍼블릭 익명 사용자에게 s3:GetObject 권한을 부여합니다. (이들에게 허용되는 권한 및 작업 목록은 Amazon S3 작업을 참조하십시오.) 이 권한을 사용하면 모든 사용자가 객체 데이터를 읽을 수 있어, 버킷을 웹 사이트로 구성하는 경우 그리고 모든 사람이 버킷의 객체를 읽을 수 있기를 원하는 경우 유용합니다. 버킷 정책을 사용하여 익명 사용자에게 읽기 전용 권한을 부여하기 전에 버킷에 대한 퍼블릭 액세스 차단 설정을 사용 중지해야 합니다. 자세한 정보는 웹 사이트 액세스에 대한 권한 설정을 참조하십시오.

주의

Amazon S3 버킷에 대한 익명 액세스 권한을 부여하거나 퍼블릭 액세스 차단 설정을 사용 중지할 때 주의하세요. 익명 액세스 권한을 부여하면 전 세계 누구나 버킷에 액세스할 수 있습니다. 정적 웹 사이트 호스팅용과 같이 특별히 필요한 경우가 아니면 Amazon S3 버킷에 익명 액세스 권한을 부여하지 않는 것이 좋습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PublicRead", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ] } ] }

특정 IP 주소에 대한 액세스 제한

다음 예에서는 조건에 지정된 IP 주소 범위에서 요청이 시작되지 않는 한, 모든 사용자가 지정된 S3 버킷의 객체에 대한 Amazon S3 작업을 수행할 수 있는 권한을 거부합니다.

이 명령문은 허용되는 IPv4(인터넷 프로토콜 버전 4) IP 주소의 54.240.143.0/24 범위를 식별합니다.

Condition 블록은 AWS 전체 조건 키인 NotIpAddressaws:SourceIp 조건 키를 사용합니다. 이러한 조건 키에 대한 자세한 내용은 Amazon S3 조건 키 예을 참조하십시오. aws:SourceIp IPv4 값은 표준 CIDR 표기법을 사용합니다. 자세한 내용은 IAM 사용 설명서IAM JSON 정책 요소 참조를 참조하십시오.

주의

이 정책을 사용하기 전에 이 예제의 54.240.143.0/24 IP 주소 범위를 사용 사례에 적합한 값으로 바꿉니다. 그렇지 않으면 버킷에 액세스할 수 없습니다.

{ "Version": "2012-10-17", "Id": "S3PolicyId1", "Statement": [ { "Sid": "IPAllow", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": { "NotIpAddress": { "aws:SourceIp": "54.240.143.0/24" } } } ] }

IPv4 및 IPv6 주소 허용

IPv6 주소를 사용하고자 하는 경우, IPv6으로 전환하는 동안 조직의 정책이 계속 적용되도록 하려면 기존 IPv4 범위 외에도 IPv6 주소 범위를 포함하도록 조직의 모든 정책을 업데이트하는 것이 좋습니다.

다음 버킷 정책 예제에서는 IPv4 및 IPv6 주소 범위를 혼합하여 조직의 유효 IP 주소를 모두 표현하는 방법을 보여 줍니다. 이 정책 예에서는 IP 주소 예제 54.240.143.12001:DB8:1234:5678::1에 대한 액세스를 허용하며, 주소 54.240.143.1292001:DB8:1234:5678:ABCD::1에 대한 액세스는 거부합니다.

aws:SourceIp에 대한 IPv6 값은 표준 CIDR 형식이어야 합니다. IPv6의 경우 0의 범위를 나타내기 위해 ::을 사용할 수 있습니다(예: 2032001:DB8:1234:5678::/64). 자세한 내용은 IAM 사용 설명서IP 주소 조건 연산자를 참조하십시오.

주의

이 정책을 사용하기 전에 이 예제의 IP 주소 범위를 사용 사례에 적합한 값으로 바꾸세요. 그렇지 않으면 버킷에 액세스할 수 없습니다.

{ "Id": "PolicyId2", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIPmix", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" ], "Condition": { "IpAddress": { "aws:SourceIp": [ "54.240.143.0/24", "2001:DB8:1234:5678::/64" ] }, "NotIpAddress": { "aws:SourceIp": [ "54.240.143.128/30", "2001:DB8:1234:5678:ABCD::/80" ] } } } ] }

특정 HTTP Referer에 대한 액세스 제한

Amazon S3 버킷인 DOC-EXAMPLE-BUCKET에 저장된 사진과 동영상 링크가 포함된 도메인 이름(www.example.com 또는 example.com)의 웹 사이트가 있다고 가정합니다. 기본적으로 모든 Amazon S3 리소스는 비공개이므로 리소스를 만든 AWS 계정만 이 리소스에 액세스할 수 있습니다. 웹 사이트에서 이들 객체에 대한 읽기 권한을 허용하려면, aws:Referer 키를 사용하여 특정 웹 페이지에서만 GET 요청을 허용하는 조건으로 s3:GetObject 권한을 허용하는 버킷 정책을 추가할 수 있습니다. 다음 정책은 StringLike 조건 키로 aws:Referer 조건을 지정합니다.

{ "Version":"2012-10-17", "Id":"HTTP referer policy example", "Statement":[ { "Sid":"Allow GET requests originating from www.example.com and example.com.", "Effect":"Allow", "Principal":"*", "Action":["s3:GetObject","s3:GetObjectVersion"], "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition":{ "StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]} } } ] }

사용하는 브라우저에는 요청의 HTTP referer 헤더가 포함되어야 합니다.

주의

aws:Referer 조건 키를 사용할 때 주의하는 것이 좋습니다. 공개적으로 알려진 HTTP 참조자 헤더 값을 포함하는 것은 위험합니다. 권한이 없는 사용자가 수정된 브라우저나 사용자 지정 브라우저를 사용하여 원하는 aws:Referer 값을 제공할 수 있습니다. 따라서 승인되지 않은 당사자가 직접 AWS 요청을 하지 못하도록 aws:Referer를 사용하지 마세요.

aws:Referer 조건 키는 고객이 Amazon S3에 저장된 콘텐츠 등의 디지털 콘텐츠를 권한이 없는 서드 파티 사이트에서 참조하지 못하도록 보호하기 위해서만 제공됩니다. 자세한 내용은 IAM 사용 설명서에서 aws:Referer 섹션을 참조하세요.

Amazon CloudFront OAI에 권한 부여

다음 예제 버킷 정책은 CloudFront 오리진 액세스 ID(OAI)에 권한을 부여하여 Amazon S3 버킷에서 모든 객체를 가져옵니다(읽습니다). CloudFront OAI를 사용하면 사용자가 Amazon S3이 아니라 CloudFront를 통해 버킷의 객체에 액세스하도록 허용할 수 있습니다. 자세한 내용은 Amazon CloudFront 개발자 안내서오리진 액세스 ID를 사용하여 Amazon S3 콘텐츠에 대한 액세스 제한 단원을 참조하십시오.

다음 정책은 OAI의 ID를 정책의 Principal로 사용합니다. S3 버킷 정책을 사용하여 CloudFront OAI에 대한 액세스 권한을 부여하는 방법에 대한 자세한 내용은 Amazon CloudFront 개발자 안내서Amazon S3 버킷 정책 사용을 참조하십시오.

이 예제 사용

{ "Version": "2012-10-17", "Id": "PolicyForCloudFrontPrivateContent", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity EH1HDMB1FH2TC" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

MFA가 필요한 버킷 정책 추가

Amazon S3은 Amazon S3 리소스에 액세스하기 위해 멀티 팩터 인증(MFA)을 적용할 수 있는 기능인 MFA 보호 API 액세스를 지원합니다. 멀티 팩터 인증은 AWS 환경에 적용할 수 있는 추가 보안 레벨을 제공합니다. MFA는 사용자가 유효한 MFA 코드를 제공하여 MFA 디바이스를 물리적으로 가지고 있음을 증명하게 하는 보안 기능입니다. 자세한 내용은 AWS 멀티 팩터 인증을 참조하세요. Amazon S3 리소스에 액세스하는 모든 요청에 대해 MFA가 필요할 수 있습니다.

MFA 요구 사항을 실행하려면 버킷 정책에서 aws:MultiFactorAuthAge 키를 사용합니다. AWS Identity and Access Management (IAM) 사용자는 AWS Security Token Service(AWS STS)에서 발급한 임시 자격 증명을 사용하여 Amazon S3 리소스에 액세스할 수 있습니다. AWS STS 요청 시 MFA 코드를 제공합니다.

Amazon S3에서 Multi-Factor Authentication으로 요청을 수신한 경우 aws:MultiFactorAuthAge 키는 임시 자격 증명이 생성된 시간(초 단위)을 나타내는 숫자 값을 제공합니다. 요청 시 제공된 임시 자격 증명이 MFA 디바이스를 사용하여 만들어진 경우 이 키 값은 null(없음)입니다. 버킷 정책에서는 다음 예시에서 나온 것처럼 이 값을 확인할 수 있는 조건을 추가할 수 있습니다. 이 예에서 MFA를 사용하여 요청이 인증되지 않으면 정책은 /taxdocuments 버킷의 DOC-EXAMPLE-BUCKET 폴더에서 모든 Amazon S3 작업을 거부합니다. MFA에 대한 자세한 내용은 IAM 사용 설명서AWS에서 멀티 팩터 인증(MFA) 사용을 참조하세요.

{ "Version": "2012-10-17", "Id": "123", "Statement": [ { "Sid": "", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/taxdocuments/*", "Condition": { "Null": { "aws:MultiFactorAuthAge": true }} } ] }

Condition 블록의 Null 조건이 true로 평가되려면 aws:MultiFactorAuthAge 키 값이 null이 되어 요청 시 임시 보안 자격 증명이 MFA 디바이스 없이 만들어졌음을 나타내야 합니다.

다음 버킷 정책은 이전 버킷 정책을 확장한 것입니다. 이 버킷 정책에는 두 가지 정책 명령문이 포함됩니다. 하나의 문은 모든 사용자에게 버킷(DOC-EXAMPLE-BUCKET)에 대한 s3:GetObject 권한을 허용합니다. 다른 문은 버킷의 DOC-EXAMPLE-BUCKET/taxdocuments 폴더에 액세스할 때 MFA를 요구함으로써 액세스를 제한합니다.

{ "Version": "2012-10-17", "Id": "123", "Statement": [ { "Sid": "", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/taxdocuments/*", "Condition": { "Null": { "aws:MultiFactorAuthAge": true } } }, { "Sid": "", "Effect": "Allow", "Principal": "*", "Action": ["s3:GetObject"], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

요청 인증 시 사용된 임시 보안 자격 증명의 수명 주기에 상관없이 aws:MultiFactorAuthAge 키가 유효한 기간을 제한하는 숫자 조건을 선택적으로 사용할 수 있습니다. 예를 들어, 다음 버킷 정책은 MFA 인증 요구 이외에도 임시 세션이 얼마 전에 생성되었는지도 확인합니다. aws:MultiFactorAuthAge 키 값이 임시 세션이 1시간(3,600초) 전에 생성되었음을 나타낼 경우 해당 정책은 모든 작업을 거부합니다.

{ "Version": "2012-10-17", "Id": "123", "Statement": [ { "Sid": "", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/taxdocuments/*", "Condition": {"Null": {"aws:MultiFactorAuthAge": true }} }, { "Sid": "", "Effect": "Deny", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/taxdocuments/*", "Condition": {"NumericGreaterThan": {"aws:MultiFactorAuthAge": 3600 }} }, { "Sid": "", "Effect": "Allow", "Principal": "*", "Action": ["s3:GetObject"], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

버킷 소유자가 완벽하게 제어할 수 있도록 보증하면서 객체에 업로드하는 교차 계정 권한 부여

다음 예에서는 업로드된 객체를 완전히 제어하면서 다른 AWS 계정이 버킷에 객체를 업로드하도록 허용하는 방법을 보여줍니다. 이 정책은 특정 AWS 계정(111122223333)이 업로드 시 bucket-owner-full-control이라는 표준 ACL을 포함하고 있는 경우에만 객체를 업로드할 수 있는 권한을 부여합니다. 정책의 StringEquals 조건은 요구 사항을 표현하도록 s3:x-amz-acl condition 키를 지정합니다(Amazon S3 조건 키 예 참조).

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PolicyForAllowUploadWithACL", "Effect":"Allow", "Principal":{"AWS":"111122223333"}, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Condition": { "StringEquals": {"s3:x-amz-acl":"bucket-owner-full-control"} } } ] }

Amazon S3 인벤토리 및 Amazon S3 분석에 권한 부여

Amazon S3 인벤토리는 Amazon S3 버킷의 객체 목록을 생성하고, Amazon S3 분석 내보내기는 분석에서 사용되는 데이터의 출력 파일을 생성합니다. 인벤토리가 객체를 열거하는 버킷을 원본 버킷이라고 합니다. 인벤토리 파일 또는 분석 내보내기 파일이 작성되는 버킷을 대상 버킷이라고 합니다. 인벤토리 또는 분석 내보내기를 설정할 때는 대상 버킷의 버킷 정책을 생성해야 합니다. 자세한 내용은 Amazon S3 인벤토리Amazon S3 분석 - 스토리지 클래스 분석 섹션을 참조하세요.

다음 버킷 정책 예는 원본 버킷의 계정에서 대상 버킷에 객체를 쓸 수 있는 Amazon S3 권한(PUT 요청)을 부여합니다. Amazon S3 인벤토리와 Amazon S3 분석 내보내기를 설정할 때는 대상 버킷에서 이와 같은 버킷 정책을 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "InventoryAndAnalyticsExamplePolicy", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::destinationbucket/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::sourcebucket" }, "StringEquals": { "aws:SourceAccount": "111122223333", "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

Amazon S3 인벤토리 보고서에 대한 액세스 제한

Amazon S3 인벤토리는 S3 버킷 내 객체들의 목록과 각 객체의 메타데이터를 생성합니다. s3:PutInventoryConfiguration 권한을 통해 사용자는 사용 가능한 모든 객체 메타데이터 필드를 포함하는 인벤토리 보고서를 생성하고 인벤토리를 저장할 대상 버킷을 지정할 수 있습니다. 대상 버킷의 객체에 대한 읽기 권한이 있는 사용자는 인벤토리 보고서에서 사용할 수 있는 모든 객체 메타데이터 필드에 액세스할 수 있습니다. S3 인벤토리에서 사용 가능한 메타데이터 필드에 대한 자세한 내용은 Amazon S3 인벤토리 목록 섹션을 참조하세요.

사용자가 사용 가능한 모든 객체 메타데이터에 대한 S3 인벤토리 보고서를 구성하지 못하도록 제한하려면 해당 사용자의 s3:PutInventoryConfiguration 권한을 제거하세요.

사용자가 대상 버킷의 S3 인벤토리 보고서에 액세스하지 못하도록 제한하려면 대상 버킷에서 다음 예와 같은 버킷 정책을 생성하세요. 이 예시 버킷 정책은 사용자 Ana를 제외한 모든 보안 주체가 대상 버킷 OC-EXAMPLE-DESTINATION-BUCKET의 인벤토리 보고서 DOC-EXAMPLE-DESTINATION-BUCKET-INVENTORY에 액세스하는 것을 거부합니다.

{ "Id": "GetObjectPolicy", "Version": "2012-10-17", "Statement": [{ "Sid": "AllowListBucket", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET", "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/*" ], "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/Ana" ] } }, { "Sid": "AllowACertainUserToReadObject", "Action": [ "s3:GetObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/DOC-EXAMPLE-DESTINATION-BUCKET-INVENTORY/*", "Principal": { "AWS": [ "arn:aws:iam::111122223333:user/Ana" ] } }, { "Sid": "DenyAllTheOtherUsersToReadObject", "Action": [ "s3:GetObject" ], "Effect": "Deny", "Resource": "arn:aws:s3:::DOC-EXAMPLE-DESTINATION-BUCKET/DOC-EXAMPLE-DESTINATION-BUCKET-INVENTORY/*", "Principal": { "AWS": "*" }, "Condition": { "ArnNotEquals": { "aws:PrincipalArn": "arn:aws:iam::111122223333:user/Ana" } } } ] }

Amazon S3 Storage Lens에 대한 권한 부여

Amazon S3 Storage Lens는 사용량 및 활동 지표를 집계하고 Amazon S3 콘솔 홈(버킷) 페이지의 계정 스냅샷, 대화형 대시보드 또는 CSV 또는 Parquet 형식으로 다운로드할 수 있는 지표 내보내기를 통해 정보를 표시합니다. 대시보드를 사용하여 인사이트와 추세를 시각화하고, 이상치에 표시하고, 스토리지 비용 최적화와 데이터 보호 모범 사례 적용을 위한 권장 사항을 수신할 수 있습니다. AWS Management Console, AWS CLI, AWS SDK 또는 REST API를 통해 S3 Storage Lens를 사용할 수 있습니다.

S3 Storage Lens에서 Amazon S3 버킷의 지표 내보내기로 스토리지 사용량을 집계하여 추가 분석에 사용할 수 있습니다. S3 Storage Lens가 지표 내보내기를 배치하는 버킷을 대상 버킷이라고 합니다. S3 Storage Lens 지표 내보내기를 설정할 때 대상 버킷에 대한 버킷 정책이 있어야 합니다. 자세한 정보는 Amazon S3 Storage Lens를 사용하여 스토리지 활동 및 사용량 평가을 참조하십시오.

다음 예시 버킷 정책은 대상 버킷에 객체(PUT 요청)를 쓸 수 있는 권한을 Amazon S3에 부여합니다. S3 Storage Lens 지표 내보내기를 설정할 때는 대상 버킷에 이와 같은 버킷 정책을 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3StorageLensExamplePolicy", "Effect": "Allow", "Principal": { "Service": "storage-lens.s3.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::destination-bucket/destination-prefix/StorageLens/111122223333/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "111122223333", "aws:SourceArn": "arn:aws:s3:AWS 리전:111122223333:storage-lens/storage-lens-dashboard-configuration-id" } } } ] }

S3 Storage Lens 조직 수준 지표 내보내기를 설정할 때 이전 버킷 정책의 Resource 스테이트먼트를 다음과 같이 수정합니다.

"Resource": "arn:aws:s3:::destination-bucket/destination-prefix/StorageLens/your-organization-id/*",