728x90

AWS S3에서 'AccessControlListNotSupported' 오류 해결하기

 

 

안녕하세요, 개발자 여러분! 오늘은 AWS S3와 연동할 때 마주칠 수 있는 AccessControlListNotSupported 오류와 이를 해결하는 방법에 대해 자세히 알아보겠습니다.



문제 상황


AWS S3에 파일을 업로드하거나 버킷과 관련된 작업을 수행할 때 다음과 같은 오류 메시지를 받았다면, 여러분도 이 문제에 부딪혔을 가능성이 높습니다.

 

{
    "code": "AccessControlListNotSupported",
    "message": "The bucket does not allow ACLs",
    "data": null,
    "exception": {
        "name": "AccessControlListNotSupported",
        "$fault": "client",
        "$metadata": {
            "httpStatusCode": 400,
            "requestId": "CATRYMMDGNYYE35B",
            "extendedRequestId": "nQgUAS5FFNSG1nUHtR/2qyI5fppuHSwtz6u13ezWVokiYPThVvMmwiuaWgzm8F1dBn/oICFkXT4=",
            "attempts": 1,
            "totalRetryDelay": 0
        },
        "Code": "AccessControlListNotSupported",
        "RequestId": "CATRYMMDGNYYE35B",
        "HostId": "nQgUAS5FFNSG1nUHtR/2qyI5fppuHSwtz6u13ezWVokiYPThVvMmwiuaWgzm8F1dBn/oICFkXT4=",
        "message": "The bucket does not allow ACLs"
    }
}

 

원인


이 오류는 AWS S3 버킷에 ACL (Access Control List) 설정을 시도할 때 나타납니다. 특히 Object Lock이 활성화된 S3 버킷은 ACLs를 지원하지 않게 됩니다. 대신 버킷 정책만을 사용하여 액세스 권한을 제어해야 합니다.

해결 방법

2. 버킷 정책 사용

ACL 대신에 버킷 정책을 사용하여 필요한 권한을 부여하는 방법도 있습니다. AWS Management Console에서 해당 S3 버킷의 '권한' 탭으로 이동하여 '버킷 정책' 섹션에서 원하는 권한을 설정할 수 있습니다.

 

마치며


AWS S3와 같은 클라우드 서비스를 사용할 때는 다양한 설정과 권한 문제로 인해 예상치 못한 오류가 발생할 수 있습니다. 항상 문서를 철저히 읽고, 테스트를 꼼꼼히 수행하며, 필요한 권한만 최소한으로 부여하는 원칙을 지키는 것이 중요합니다.

오늘의 글이 여러분의 NestJs 개발에 도움이 되었기를 바랍니다. 다음 번에도 유용한 정보로 찾아뵙겠습니다. 화이팅! 🚀

 

 

+ Recent posts