모든 사용자에게 목록 조회를 허용하는 S3 버킷 ACL

S3 버킷의 공개 ACL을 제거하고 객체 목록과 내용의 접근 권한을 각각 확인하세요.

설명

AccessControl: PublicRead 버킷 ACL이 유효하면 익명 사용자를 포함한 모든 사용자에게 버킷 안의 객체 목록 조회를 허용할 수 있습니다. 버킷 수준의 READ는 객체 내용을 읽는 권한과 다르며, 각 객체의 읽기 권한도 따로 확인해야 합니다.

새 버킷은 기본적으로 ACL이 비활성화되고 퍼블릭 액세스가 차단됩니다. 실제 공개 여부는 Object Ownership, 계정·버킷의 퍼블릭 액세스 차단과 전체 정책에 따라 달라집니다.

잠재적 영향

  • 객체 이름과 경로를 통해 내부 구조나 보관 데이터에 관한 정보가 드러날 수 있습니다.
  • 객체 읽기도 별도로 허용되어 있다면 외부 사용자가 내용을 가져갈 수 있습니다.

해결 방법

  • 필요한 기존 접근을 정책으로 먼저 구성한 뒤 BucketOwnerEnforced로 ACL을 비활성화하세요.
  • 공개할 필요가 없는 버킷은 퍼블릭 액세스 차단을 유지하고, 버킷 정책과 기존 객체 ACL도 함께 검토하세요.
  • 정상 사용자의 접근은 유지되고 원치 않는 익명 목록 조회와 읽기는 차단되는지 확인하세요.

예시

같은 버킷의 대안 구성입니다. 전역에서 고유한 BucketName을 제공하세요. 첫 예시는 공개 ACL이 작동하는 조건을 보여 주며 권장 구성이 아닙니다. 계정이나 조직의 공개 접근 차단이 우선할 수 있으므로 실행을 위해 그 보호를 해제하지 마세요.

변경 전

yaml
Parameters:
  BucketName:
    Type: String
Resources:
  JenkinsArtifacts01:
    Type: AWS::S3::Bucket
    Properties:
      AccessControl: PublicRead
      BucketName: !Ref BucketName
      OwnershipControls:
        Rules:
          - ObjectOwnership: ObjectWriter
      PublicAccessBlockConfiguration:
        BlockPublicAcls: false
        IgnorePublicAcls: false
        BlockPublicPolicy: true
        RestrictPublicBuckets: true
      Tags:
        - Key: CostCenter
          Value: ITEngineering

ACL을 활성화하고 공개 ACL을 허용하는 버킷 설정입니다. 다른 제한이 없다면 익명 목록 조회를 허용할 수 있습니다.

변경 후

yaml
Parameters:
  BucketName:
    Type: String
Resources:
  JenkinsArtifacts01:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Ref BucketName
      OwnershipControls:
        Rules:
          - ObjectOwnership: BucketOwnerEnforced
      PublicAccessBlockConfiguration:
        BlockPublicAcls: true
        IgnorePublicAcls: true
        BlockPublicPolicy: true
        RestrictPublicBuckets: true
      VersioningConfiguration:
        Status: Enabled
      Tags:
        - Key: CostCenter
          Value: ITEngineering
        - Key: Type
          Value: CICD

ACL을 비활성화하고 네 가지 퍼블릭 액세스 차단을 켭니다. 기존 접근을 정책으로 옮긴 후 적용하세요. 버전 관리는 별도의 복구 기능이며 공개 접근을 차단하는 설정은 아닙니다.

참조