S3 공개 ACL 무시 설정 점검

S3의 공개 ACL 권한을 무시하고 불필요한 기존 권한을 제거하세요.

설명

ACL을 사용하는 S3 버킷에서 공개 ACL 권한을 무시하지 않으면 해당 권한이 외부 접근으로 이어질 수 있습니다. IgnorePublicAcls: true는 버킷과 객체의 공개 ACL 권한을 무시하지만 ACL 자체를 삭제하거나 새 공개 ACL 설정 요청을 거부하지는 않습니다.

실제 접근은 ACL 사용 여부와 계정 수준의 차단 등에도 달려 있습니다. 새 버킷은 기본적으로 ACL이 비활성화되므로 이 옵션만으로 공개 여부를 판단할 수는 없습니다.

잠재적 영향

  • 공개 읽기 권한이 적용되면 객체 내용이나 목록이 노출될 수 있습니다.
  • 남아 있는 공개 ACL을 정리하지 않으면 나중에 차단 설정을 해제할 때 공개 접근이 다시 허용될 수 있습니다.

해결 방법

  • PublicAccessBlockConfiguration에 IgnorePublicAcls: true를 설정하세요.
  • 새 공개 ACL 요청도 막으려면 BlockPublicAcls를 활성화하고, 비공개 버킷의 나머지 공개 차단 옵션도 확인하세요.
  • 기존 ACL의 불필요한 공개 권한을 제거하고 필요한 접근은 정책으로 구성하세요.

예시

다음 예제는 같은 버킷의 공개 ACL 보호 설정을 변경합니다.

변경 전

yaml
Resources:
  Bucket13:
    Type: AWS::S3::Bucket
    Properties:
      PublicAccessBlockConfiguration:
        BlockPublicAcls: false
        BlockPublicPolicy: true
        IgnorePublicAcls: false
        RestrictPublicBuckets: true

공개 ACL 권한을 무시하지 않습니다. ACL이 활성화되어 있고 다른 차단이 없다면 기존 공개 ACL 권한이 적용될 수 있습니다.

변경 후

yaml
Resources:
  Bucket13:
    Type: AWS::S3::Bucket
    Properties:
      PublicAccessBlockConfiguration:
        BlockPublicAcls: true
        BlockPublicPolicy: true
        IgnorePublicAcls: true
        RestrictPublicBuckets: true

공개 ACL 권한을 무시하고 새 공개 ACL 요청도 차단합니다. 기존 ACL은 자동 삭제되지 않으므로 별도로 정리하세요.

참조