

# 버킷 정책 예제
<a name="S3Outposts-example-bucket-policies"></a>

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

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

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

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

**참고**  
Amazon S3 콘솔을 사용하여 [https://docs.aws.amazon.com/cli/latest/reference/s3outposts/](https://docs.aws.amazon.com/cli/latest/reference/s3outposts/) 권한을 테스트할 경우 콘솔이 요구하는 추가 권한, 즉 `s3outposts:createendpoint` 및 `s3outposts:listendpoints` 등을 부여해야 합니다.

**버킷 정책 생성을 위한 추가 리소스**
+ S3 on Outposts 버킷 정책을 만들 때 사용할 수 있는 IAM 정책 작업, 리소스 및 조건 키 목록은 [Actions, resources, and condition keys for Amazon S3 on Outposts](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3onoutposts.html)를 참조하세요.
+ S3 on Outposts 정책 생성에 대한 지침은 [Amazon S3 on Outposts 버킷의 버킷 정책 추가 또는 편집](S3OutpostsBucketPolicyEdit.md) 섹션을 참조하세요.

**Topics**
+ [특정 IP 주소를 기반으로 Amazon S3 on Outposts 버킷에 대한 액세스 관리](#S3OutpostsBucketPolicyManageIPaccess)

## 특정 IP 주소를 기반으로 Amazon S3 on Outposts 버킷에 대한 액세스 관리
<a name="S3OutpostsBucketPolicyManageIPaccess"></a>

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

### 액세스를 특정 IP 주소로 제한
<a name="S3Outposts-example-bucket-policies-IP-1"></a>

다음 예제에서는 지정된 IP 주소 범위에서 요청된 것이 아닌 한, 어떤 사용자도 지정된 버킷 내의 객체에 [S3 on Outposts 작업](https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3OutpostsWorkingBuckets.html)을 수행하지 못하도록 거부합니다.

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

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

`Condition` 블록은 AWS 전체 조건 키인 `NotIpAddress` 및 `aws:SourceIp` 조건 키를 사용합니다. `aws:SourceIp` 조건 키는 퍼블릭 IP 주소 범위에만 사용할 수 있습니다. 이러한 조건 키에 대한 자세한 내용은 [Actions, resources, and condition keys for S3 on Outposts](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazons3onoutposts.html)를 참조하세요. `aws:SourceIp` IPv4 값은 표준 CIDR 표기법을 사용합니다. 자세한 내용은 **IAM 사용 설명서의 [IAM JSON 정책 요소 참조](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Conditions_IPAddress)를 참조하세요.

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

```
 1. {
 2.     "Version": "2012-10-17",		 	 	 
 3.     "Id": "S3OutpostsPolicyId1",
 4.     "Statement": [
 5.         {
 6.             "Sid": "IPAllow",
 7.             "Effect": "Deny",
 8.             "Principal": "*",
 9.             "Action": "s3-outposts:*",
10.             "Resource": [
11.                 "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/accesspoint/EXAMPLE-ACCESS-POINT-NAME",
12.                 "arn:aws:aws:s3-outposts:region:111122223333:outpost/OUTPOSTS-ID/bucket/amzn-s3-demo-bucket"
13.             ],
14.             "Condition": {
15.                 "NotIpAddress": {
16.                     "aws:SourceIp": "192.0.2.0/24"
17.                 }
18.             }
19.         }
20.     ]
21. }
```

### IPv4 및 IPv6 주소 모두 허용
<a name="S3Outposts-example-bucket-policies-IP-2"></a>

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

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

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

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

------
#### [ JSON ]

****  

```
{
    "Id": "S3OutpostsPolicyId2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowIPmix",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": [
                "s3-outposts:GetObject",
                "s3-outposts:PutObject",
                "s3-outposts:ListBucket"
            ],
            "Resource": [            
                "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/amzn-s3-demo-bucket",
                "arn:aws:s3-outposts:us-east-1:111122223333:outpost/op-01ac5d28a6a232904/bucket/amzn-s3-demo-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"
                    ]
                }
            }
        }
    ]
}
```

------