S3 버킷에 대한 퍼블릭 액세스 차단 설정 구성 - Amazon Simple Storage Service

S3 버킷에 대한 퍼블릭 액세스 차단 설정 구성

Amazon S3 퍼블릭 액세스 차단 기능은 액세스 포인트, 버킷 및 계정에 대한 설정을 제공하여 Amazon S3 리소스에 대한 퍼블릭 액세스를 관리하는 데 도움을 줍니다. 기본적으로 새 버킷, 액세스 포인트 및 객체는 퍼블릭 액세스를 허용하지 않습니다.

자세한 내용은 Amazon S3 스토리지에 대한 퍼블릭 액세스 차단 섹션을 참조하세요.

S3 콘솔, AWS CLI, AWS SDK 및 REST API를 사용하여 버킷에 대한 퍼블릭 액세스 차단 설정을 구성할 수 있습니다. 자세한 내용은 아래의 섹션을 참조하세요.

계정의 모든 버킷에 대한 퍼블릭 액세스 차단 설정을 구성하려면 계정에 대한 퍼블릭 액세스 차단 설정 구성 섹션을 참조하세요. 액세스 포인트에 대한 퍼블릭 액세스 차단 구성에 대한 자세한 내용은 액세스 포인트에서 퍼블릭 액세스 차단 작업 수행 단원을 참조하세요.

Amazon S3 퍼블릭 액세스 차단은 S3 버킷 내에서 데이터에 대한 퍼블릭 액세스를 허용하는 모든 설정의 적용을 차단합니다. 이 단원에서는 하나 이상의 S3 버킷에 대한 퍼블릭 액세스 차단 설정을 편집하는 방법에 대해 설명합니다. AWS CLI, AWS SDK 및 Amazon S3 REST API를 사용하여 퍼블릭 액세스를 차단하는 방법에 대한 자세한 내용은 Amazon S3 스토리지에 대한 퍼블릭 액세스 차단 섹션을 참조하세요.

버킷 목록에서 버킷에 공개적으로 액세스할 수 있는지 확인할 수 있습니다. 액세스 열에서 Amazon S3는 버킷에 대한 권한에 다음과 같이 레이블을 지정합니다.

  • 퍼블릭 – 누구나 객체 목록 생성, 객체 쓰기, 읽기 및 쓰기 권한 중 하나 이상에 액세스할 수 있습니다.

  • 객체는 퍼블릭일 수 있음 – 버킷은 퍼블릭이 아니지만 적절한 권한이 있는 사람은 객체에 퍼블릭 액세스 권한을 부여할 수 있습니다.

  • 버킷과 객체는 퍼블릭이 아님 – 버킷 및 객체에는 퍼블릭 액세스가 없습니다.

  • 이 계정에 권한 있는 사용자만 해당 – 퍼블릭 액세스를 부여하는 정책이 있기 때문에, 액세스는 이 계정과 AWS 서비스 보안 주체의 IAM 사용자 및 역할로 격리됩니다.

액세스 유형별로 버킷 검색을 필터링할 수도 있습니다. 버킷 검색 막대 옆에 있는 드롭다운 목록에서 액세스 유형을 선택하세요.

단일 S3 버킷의 Amazon S3 퍼블릭 액세스 차단 설정을 편집하려면

단일 S3 버킷에 대한 퍼블릭 액세스 설정을 변경해야 하는 경우 다음 단계를 따르세요.

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 버킷 이름 목록에서 원하는 버킷의 이름을 선택합니다.

  3. Permissions를 선택합니다.

  4. 버킷의 퍼블릭 액세스 설정을 변경하려면 편집을 선택하세요. 네 가지 Amazon S3 퍼블릭 액세스 차단 설정에 대한 자세한 내용은 퍼블릭 액세스 차단 설정 섹션을 참조하세요.

  5. 변경할 설정을 선택한 다음 저장을 선택합니다.

  6. 확인 메시지가 표시되면 confirm을 입력합니다. 그런 다음확인을 선택해 변경 사항을 저장합니다.

버킷을 생성할 때 Amazon S3 퍼블릭 액세스 차단 설정을 변경할 수 있습니다. 자세한 내용은 버킷 생성 섹션을 참조하세요.

버킷에서 퍼블릭 액세스 차단 작업을 수행하려면 AWS CLI 서비스 s3api를 사용하세요. 이 서비스를 사용하는 버킷 수준 작업은 다음과 같습니다.

  • PUT PublicAccessBlock(버킷)

  • GET PublicAccessBlock(버킷)

  • DELETE PublicAccessBlock(버킷)

  • GET BucketPolicyStatus

자세한 내용과 예제는 AWS CLI 참조put-public-access-block을 참조하세요.

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 사용 방법에 대한 자세한 내용은 AWS SDK 및 Explorer를 사용하여 Amazon S3로 개발 단원을 참조하세요.

REST API를 통한 Amazon S3 퍼블릭 액세스 차단 사용에 대한 자세한 내용은 Amazon Simple Storage Service API Reference의 다음 주제를 참조하세요.