S3 버킷에 이미지를 삭제하기위해 boto3를 연결
client = boto3.client('s3',
aws_access_key_id = Config.ACCESS_KEY,
aws_secret_access_key = Config.SECRET_ACCESS
)
삭제 메소드를 실행
client.delete_objects(
Bucket=Config.BUCKET_NAME,
Delete={
'Objects': [
{
'Key': imgUrl
}
],
},
)
an error occurred (accessdenied) when calling the deleteobject operation: access denied
액세스 권한이 없다는 에러 메세지를 반환했다.
나는 S3 풀액세스 권한을 분명히 설정해두었고
ACL도 문제가 없었고
S3의 정책권한도 여러번 설정했지만 되지않았고
그래서
AWS가 S3버킷의 객체삭제를 의도적으로 막아놓았다고 생각했다.
그리고 결국 알아낸것이
IAM에 2개의 권한이 자기멋대로 설정되있었다.
비밀번호를 바꾸라는 권한과, IAM을 잠구는 권한
AWS매니저 콘솔에서 알림을 확인해보니
내깃허브에 config파일을 보여주었다.
public 상태로 공개 되어있어 악용의 소지가 있다는내용
때문에 IAM을 새로 발급하고 config파일을 교체했다.
끝