

# S3 버킷에 대한 퍼블릭 액세스 차단 설정 구성
<a name="configuring-block-public-access-bucket"></a>

Amazon S3 Block Public Access 기능은 액세스 포인트, 버킷, 조직 및 계정에 대한 설정을 제공하여 Amazon S3 리소스에 대한 퍼블릭 액세스를 관리하는 데 도움을 줍니다. 기본적으로 새 버킷, 액세스 포인트 및 객체는 퍼블릭 액세스를 허용하지 않습니다. 자세한 내용은 [Amazon S3 스토리지에 대한 퍼블릭 액세스 차단](access-control-block-public-access.md) 섹션을 참조하세요.

**참고**  
버킷 수준 Block Public Access 설정은 조직 및 계정 수준 정책과 함께 작동합니다. S3는 버킷 수준 구성과 효과적인 계정 수준 구성 간에 가장 제한적인 설정을 적용합니다(있는 경우 조직 정책에 따라 적용될 수 있음).

S3 콘솔, AWS CLI, AWS SDK 및 REST API를 사용하여 하나 이상의 버킷에 퍼블릭 액세스 권한을 부여할 수 있습니다. 이미 퍼블릭 상태인 버킷에 대한 퍼블릭 액세스를 차단할 수도 있습니다. 자세한 내용은 아래의 섹션을 참조하십시오.

계정의 모든 버킷에 대한 퍼블릭 액세스 차단 설정을 구성하려면 [계정에 대한 퍼블릭 액세스 차단 설정 구성](configuring-block-public-access-account.md) 섹션을 참조하십시오. 조직 전체의 중앙 집중식 관리는 *AWS Organizations 사용 설명서*의 [S3 정책](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_s3.html)을 참조하세요.

액세스 포인트에 대한 퍼블릭 액세스 차단 구성에 대한 자세한 내용은 [액세스 포인트에서 퍼블릭 액세스 차단 작업 수행](access-control-block-public-access.md#access-control-block-public-access-examples-access-point) 단원을 참조하십시오.

## AWS CLI 사용
<a name="configuring-block-public-access-bucket-cli"></a>

버킷에서 퍼블릭 액세스를 차단하거나 퍼블릭 액세스 블록을 삭제하려면 AWS CLI 서비스 `s3api`를 사용하십시오. 이 서비스를 사용하는 버킷 수준 작업은 다음과 같습니다.
+ `PutPublicAccessBlock` (버킷의 경우)
+ `GetPublicAccessBlock` (버킷의 경우)
+ `DeletePublicAccessBlock` (버킷의 경우)
+ `GetBucketPolicyStatus`

자세한 내용과 예제는 *AWS CLI 참조*의 [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-public-access-block.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/s3api/put-public-access-block.html) 섹션을 참조하십시오.

**참고**  
이러한 버킷 수준 작업은 조직 수준 정책에 의해 제한되지 않습니다. 그러나 효과적인 퍼블릭 액세스 동작은 여전히 버킷, 계정 및 조직 설정의 가장 제한적인 조합에 의해 관리됩니다. 계층 구조 및 정책 상호 작용에 대한 자세한 내용은 [S3 콘솔 사용](block-public-access-bucket.md) 섹션을 참조하세요.

## AWS SDK 사용
<a name="configuring-block-public-access-bucket-sdk"></a>

------
#### [ Java ]

```
AmazonS3 client = AmazonS3ClientBuilder.standard()
	  .withCredentials({{<credentials>}})
	  .build();

client.setPublicAccessBlock(new SetPublicAccessBlockRequest()
		.withBucketName({{<bucket-name>}})
		.withPublicAccessBlockConfiguration(new PublicAccessBlockConfiguration()
				.withBlockPublicAcls({{<value>}})
				.withIgnorePublicAcls({{<value>}})
				.withBlockPublicPolicy({{<value>}})
				.withRestrictPublicBuckets({{<value>}})));
```

**중요**  
이 예제는 `AmazonS3` 클라이언트 클래스를 사용하는 버킷 수준 작업에만 적용됩니다. 계정 수준 작업의 경우 다음 예제를 참조하십시오.

------
#### [ Other SDKs ]

다른 AWS SDK 사용에 대한 정보는 **Amazon S3 API 참조의 [AWS SDK를 사용하여 Amazon S3에서 개발](https://docs.aws.amazon.com/AmazonS3/latest/API/sdk-general-information-section.html)을 참조하세요.

------

## REST API 사용
<a name="configuring-block-public-access-bucket-api"></a>

REST API를 통한 Amazon S3 퍼블릭 액세스 차단 사용에 대한 자세한 내용은 *Amazon Simple Storage Service API Reference*의 다음 주제를 참조하세요.
+ 버킷 수준 작업
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html)
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html)
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html)
  + [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html)