

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

# Amazon S3 정책
<a name="orgs_manage_policies_s3"></a>

Amazon S3 정책을 사용하면 조직의 계정 전체에서 Amazon S3 리소스에 대한 구성을 대규모로 중앙에서 관리할 수 있습니다. Amazon S3 정책은 현재 퍼블릭 액세스를 차단하기 위한 설정을 지원합니다.

Amazon S3 정책을 사용하여 네 가지 퍼블릭 액세스 차단 설정을 모두 활성화 또는 비활성화할지 여부를 지정할 수 있으며, 해당 사양은 선택한 계정 내의 모든 Amazon S3 리소스에 적용됩니다. Amazon S3 정책에서 퍼블릭 액세스 차단 설정을 사용하여 조직 전체에 일관된 보안 태세를 적용하고 개별 계정 구성 관리의 운영 오버헤드를 제거할 수 있습니다.

## 작동 방식
<a name="s3-policies-how-it-works"></a>

Amazon S3 정책을 조직 엔터티에 연결하면 해당 범위의 계정 내 모든 Amazon S3 리소스에 적용되는 설정이 정의됩니다. 이러한 구성은 계정 수준 설정을 재정의하므로 Amazon S3 설정을 중앙에서 관리할 수 있습니다.

Amazon S3 정책은 전체 조직, 조직 단위(OUs) 또는 개별 계정에 적용할 수 있습니다. 조직에 가입하는 계정은 조직 계층 구조의 위치에 따라 Amazon S3 정책을 자동으로 상속합니다.

분리 동작: Amazon S3 정책이 분리되면 계정이 자동으로 이전 계정 수준 구성으로 돌아갑니다. Amazon S3는 원래 계정 수준 설정을 보존하여 원활한 복원을 지원합니다.

## 주요 기능
<a name="s3-policies-key-features"></a>
+ 통합 제어: 네 가지 퍼블릭 액세스 차단 설정(BlockPublicAcls, BlockPublicPolicy, IgnorePublicAcls, RestrictPublicBuckets)이 모두 단일 구성으로 함께 제어됩니다.
+ 자동 상속: 새 계정은 조직 배치에 따라 정책을 자동으로 상속합니다.
+ 보호 재정의: 조직 정책이 활성 상태일 때 계정 수준 수정 방지
+ 원활한 복원: 정책이 분리되면 원래 계정 설정이 보존되고 복원됩니다.

## 사전 조건
<a name="s3-policies-prerequisites"></a>

Amazon S3 정책을 사용하기 전에 다음을 충족해야 합니다.
+ 모든 기능 모드의 AWS 조직
+  AWS Organizations 정책을 관리할 수 있는 권한(organizations:CreatePolicy, organizations:AttachPolicy 등)
+ 조직에 대해 활성화된 Amazon S3 정책 유형

# Amazon S3 정책 사용 모범 사례
<a name="orgs_manage_policies_s3_best_practices"></a>

조직 전체에 Amazon S3 정책을 구현할 때 확립된 모범 사례를 따르면 성공적인 배포 및 유지 관리를 보장하는 데 도움이 됩니다.

## 간단하게 시작하고 소규모로 변경
<a name="s3-start-simple-incremental-changes"></a>

디버깅을 단순화하려면 간단한 정책으로 시작하여 한 번에 한 항목씩 변경합니다. 다음 변경을 수행하기 전에 각 변경의 동작 및 영향을 검증합니다. 이러한 접근 방식은 오류 또는 예기치 않은 결과가 발생할 때 고려해야 할 변수를 줄입니다.

## 검토 프로세스 수립
<a name="s3-establish-review-processes"></a>

새 정책 속성을 모니터링하고, 정책 예외를 평가하고, 조직 보안 및 운영 요구 사항에 맞게 조정하는 프로세스를 구현합니다.

## DescribeEffectivePolicy를 사용하여 Amazon S3 정책에 대한 변경 사항 검증
<a name="s3-validate-policy-changes"></a>

Amazon S3 정책을 변경한 후 변경한 수준 미만의 대표 계정에 대한 유효 정책을 확인합니다. AWS 관리 콘솔을 사용하거나 DescribeEffectivePolicy API 작업 또는 AWS CLI 또는 AWS SDK 변형 중 하나를 사용하여 유효 정책을 볼 수 있습니다. 변경한 내용이 유효 정책에 의도한 영향을 미쳤는지 확인합니다.

## 커뮤니케이션 및 훈련
<a name="s3-communicate-and-train"></a>

조직이 정책의 목적과 영향을 이해하고 있는지 확인합니다. 예상되는 동작과 정책 적용으로 인한 실패를 처리하는 방법에 대한 명확한 지침을 제공합니다.

## 합법적인 퍼블릭 액세스 요구 사항 계획
<a name="s3-plan-for-public-access"></a>

조직 수준 정책을 구현하기 전에 합법적인 비즈니스 목적(예: 정적 웹 사이트 호스팅)을 위해 퍼블릭 Amazon S3 버킷이 필요한 계정을 식별합니다. OU 수준 또는 계정 수준 정책 연결을 사용하여 이러한 계정을 제외하거나 퍼블릭 버킷 요구 사항을 전용 계정으로 통합하는 것이 좋습니다.

## 정책 적용 모니터링
<a name="s3-monitor-policy-enforcement"></a>

 AWS CloudTrail을 사용하여 정책 연결 및 적용 작업을 모니터링합니다. EventBridge 규칙을 설정하여 정책 위반 또는 변경에 대한 응답을 자동화합니다.

# Amazon S3 정책 구문 및 예제
<a name="orgs_manage_policies_s3_syntax"></a>

Amazon S3 정책은 [JSON](http://json.org) 규칙에 따라 구조화된 일반 텍스트 파일입니다. Amazon S3 정책의 구문은 모든 관리 정책 유형에 대한 구문을 따릅니다. 자세한 내용은 [관리 정책 상속에 대한 이해](orgs_manage_policies_inheritance_mgmt.md) 단원을 참조하십시오. 이 주제에서는 Amazon S3 정책의 특정 요구 사항과 해당 정책이 관리하는 데 도움이 되는 퍼블릭 액세스 차단 설정에 해당 일반 구문을 적용하는 데 중점을 둡니다.

다음 Amazon S3 정책 예제에서는 기본 정책 구문을 보여줍니다.

```
{
    "s3_attributes": {
        "public_access_block_configuration": {
            "@@assign": "all"
        }
    }
}
```

## Amazon S3 정책 구문에는 다음 요소가 포함됩니다.
<a name="s3-policy-syntax-elements"></a>

`s3_attributes`  
Amazon S3 정책 구성을 위한 최상위 키입니다.

`public_access_block_configuration`  
조직의 퍼블릭 액세스 차단 동작을 정의합니다.

`@@assign`  
다음 두 값 중 하나를 수락하는 할당 연산자입니다.  
+ `"all"` - 조직 수준에서 네 가지 Amazon S3 퍼블릭 액세스 차단 설정을 모두 활성화합니다.
+ `"none"` - 조직 수준 제어를 비활성화하여 개별 계정이 자체 퍼블릭 액세스 차단 설정을 관리할 수 있도록 허용합니다.
Amazon S3 퍼블릭 액세스 차단에는 퍼블릭 액세스를 제어하는 네 가지 설정이 있습니다.  

1. **BlockPublicAcls** - Amazon S3는 새로 추가된 버킷 또는 객체에 적용되는 퍼블릭 액세스 권한을 차단하고 기존 버킷 및 객체에 대한 새 퍼블릭 액세스 제어 목록(ACLs) 생성을 방지합니다. 이 설정은 ACLs을 사용하여 Amazon S3 리소스에 대한 퍼블릭 액세스를 허용하는 기존 권한을 변경하지 않습니다.

1. **BlockPublicPolicy** - Amazon S3는 버킷 및 객체에 대한 퍼블릭 액세스 권한을 부여하는 새 버킷 및 액세스 포인트 정책을 차단합니다. 이 설정은 Amazon S3 리소스에 대한 퍼블릭 액세스를 허용하는 기존 정책을 변경하지 않습니다.

1. **IgnorePublicAcls** - Amazon S3는 버킷 및 객체에 대한 퍼블릭 액세스 권한을 부여하는 모든 ACLs을 무시합니다.

1. **RestrictPublicBuckets** - Amazon S3는 버킷 및 객체에 대한 퍼블릭 액세스 권한을 부여하는 정책을 사용하여 버킷 또는 액세스 포인트에 대한 퍼블릭 및 크로스 계정 액세스를 무시합니다.
를 `@@assign`로 설정하면 조직 수준에서 네 가지 설정이 `"all"`모두 통합되고 활성화되어 조직의 모든 계정에서 퍼블릭 액세스에 대한 포괄적인 보호를 제공합니다.