버킷 정책 예제 - Outposts에서의 Amazon S3

버킷 정책 예제

S3 on Outposts 버킷 정책을 사용하면 적절한 권한을 가진 사용자만 객체에 액세스할 수 있도록 하여 S3 on Outposts 버킷의 객체 액세스를 보호할 수 있습니다. 인증받은 사용자라도 적절한 권한이 없다면 S3 on Outposts 리소스에 액세스하지 못하게 할 수도 있습니다.

이 섹션에서는 S3 on Outposts 버킷 정책의 일반적인 사용 사례에 대한 예제를 제시합니다. 이러한 정책을 테스트하려면 user input placeholders를 (귀하의 버킷 이름 등) 자체 정보로 대체합니다.

객체 집합으로의 권한을 부여 또는 거부하려면 Amazon 리소스 이름(ARN) 및 기타 값에 와일드카드 문자(*)를 사용하면 됩니다. 예를 들어, 공통 접두사로 시작하거나 .html과 같은 지정된 확장자로 끝나는 객체 그룹에 대한 액세스를 제어할 수 있습니다.

AWS Identity and Access Management(IAM) 정책 언어에 대한 자세한 내용은 S3 on Outposts로 IAM 설정를 참조하십시오.

참고

Amazon S3 콘솔을 사용하여 s3outposts 권한을 테스트할 경우 콘솔이 요구하는 추가 권한, 즉 s3outposts:createendpoints3outposts:listendpoints 등을 부여해야 합니다.

버킷 정책 생성을 위한 추가 리소스

특정 IP 주소를 기반으로 Amazon S3 on Outposts 버킷에 대한 액세스 관리

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

액세스를 특정 IP 주소로 제한

다음 예제에서는 지정된 IP 주소 범위에서 요청된 것이 아닌 한, 어떤 사용자도 지정된 버킷 내의 객체에 S3 on Outposts 작업을 수행하지 못하도록 거부합니다.

참고

특정 IP 주소에 대한 액세스를 제한할 때는 S3 on Outposts 버킷에 액세스할 수 있는 VPC 엔드포인트, VPC 소스 IP 주소 또는 외부 IP 주소도 지정해야 합니다. 그렇지 않으면 적절한 권한이 이미 갖춰지지 않은 상태에서 모든 사용자가 S3 on Outposts 버킷의 객체에 대해 s3outposts 작업을 수행하는 것을 정책에서 거부하는 경우 버킷에 대한 액세스 권한을 상실하게 될 수 있습니다.

이 정책의 Condition 문은 192.0.2.0/24 주소가 IPv4(IP 버전 4) IP 주소 허용 범위에 속하는지 식별합니다.

Condition 블록은 AWS 전체 조건 키인 NotIpAddressaws:SourceIp 조건 키를 사용합니다. aws:SourceIp 조건 키는 퍼블릭 IP 주소 범위에만 사용할 수 있습니다. 이러한 조건 키에 대한 자세한 내용은 Actions, resources, and condition keys for S3 on Outposts를 참조하세요. aws:SourceIp IPv4 값은 표준 CIDR 표기법을 사용합니다. 자세한 내용은 IAM 사용 설명서의 IAM JSON 정책 요소 참조를 참조하세요.

주의

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

{ "Version": "2012-10-17", "Id": "S3OutpostsPolicyId1", "Statement": [ { "Sid": "IPAllow", "Effect": "Deny", "Principal": "*", "Action": "s3outposts:*", "Resource": [ "arn:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/accesspoint/EXAMPLE-ACCESS-POINT-NAME" "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/bucket/DOC-EXAMPLE-BUCKET" ], "Condition": { "NotIpAddress": { "aws:SourceIp": "192.0.2.0/24" } } } ] }

IPv4 및 IPv6 주소 모두 허용

IPv6 주소를 사용하고자 할 때는 기존 IPv4 범위 외에도 IPv6 주소 범위를 포함하도록 조직의 모든 정책을 업데이트하는 것이 좋습니다. 이렇게 하면 IPv6로 전환하는 중에도 정책이 계속 기능합니다.

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

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

주의

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

{ "Id": "S3OutpostsPolicyId2", "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIPmix", "Effect": "Allow", "Principal": "*", "Action": "s3outposts:*", "Resource": [ "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/bucket/DOC-EXAMPLE-BUCKET", "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/bucket/DOC-EXAMPLE-BUCKET/*" ], "Condition": { "IpAddress": { "aws:SourceIp": [ "192.0.2.0/24", "2001:DB8:1234:5678::/64" ] }, "NotIpAddress": { "aws:SourceIp": [ "203.0.113.0/24", "2001:DB8:1234:5678:ABCD::/80" ] } } } ] }