공개 접근이 활성화된 Alicloud OSS 버킷

OSS 버킷의 공개 ACL을 검토하고 의도하지 않은 익명 읽기와 쓰기를 제한하세요.

설명

OSS의 public-read ACL은 공개 읽기를, public-read-write는 공개 읽기와 쓰기를 허용하는 설정입니다. 실제 접근은 객체 ACL, 정책과 공개 접근 차단의 영향도 받으므로 함께 확인해야 합니다.

인터넷에서 연결할 수 있는 엔드포인트와 익명 접근 권한은 다릅니다. 일반적인 내부 버킷은 private를 사용하고, 공개할 데이터가 있다면 목적과 범위를 명확히 제한하세요.

잠재적 영향

  • 공개 읽기가 적용된 객체의 파일 내용이 외부에 노출될 수 있습니다.
  • 공개 쓰기가 허용되면 무단 업로드나 데이터 변경·삭제로 서비스와 저장 비용에 영향을 줄 수 있습니다.

해결 방법

  • 버킷 ACL을 private로 설정하고 객체 ACL과 버킷 정책의 불필요한 공개 권한도 제거하세요.
  • 공개가 필요 없는 저장소에는 공개 접근 차단을 사용하고 실제 요청 결과를 확인하세요.
  • 공개 콘텐츠는 내부 데이터와 분리하고, 읽기 공개가 필요해도 쓰기와 관리는 승인된 주체로 제한하세요.

예시

ACL을 비교하는 예시입니다. 기존 버킷을 변경할 때는 같은 이름과 Terraform 리소스 주소를 유지하세요.

변경 전

hcl
resource "alicloud_oss_bucket" "public_bucket" {
  bucket = "bucket-170309-acl"
  acl    = "public-read"
}

공개 읽기 ACL을 요청합니다. 다른 접근 통제가 막지 않는 범위에서 객체 내용이 노출될 수 있습니다.

변경 후

hcl
resource "alicloud_oss_bucket" "private_bucket" {
  bucket = "bucket-170309-acl"
  acl    = "private"
}

버킷 ACL을 비공개로 설정합니다. 별도로 설정된 정책과 객체 ACL의 공개 권한도 확인해야 합니다.

참조