드디어, springboot와 S3의 연동에 성공했다.
하지만 반환된 url로 접속하니 아래와 같이 접근이 거부되는 현상을 만났다...
이에 대한 원인은 여러가지가 있다.
2 and 3. 버킷 정책은 아래와 같이 설정해두었었는다.
조금 이상했던 부분은 ACL중 이것이었다.
아래 사진처럼, 피부여자 리스트 중 모든사람에는 객체 '읽기'의 권한이 없는것이었다.
하지만 ACL이 아닌 버킷 정책으로 보안을 설정했었다. 따라서 아래 문구대로 버킷 정책을 사용하여 접근하는건 맞는데.. (ACL은 적용x)
💡근본적으로 접근해보았다.
결국 버킷 정책으로 관리되는건 확실하므로, 버킷정책을 다시 유심히 살펴보았다.
정책 생성기에서 생성했었기때문에 큰 의심없이 생성기에서 생성해준대로 넣고 지나갔었는데, 다른 블로그들과 비교해보았을때 조금 찝찝한 부분이 있었다.
바로 Resource이다.
해당 내용으로는 s3 버킷주소만 들어가있었다. 하지만 현재에는 개별적인 객체에 접근이 안되는것이므로 버킷주소명/*
으로 뒤에 '/*'를 추가했다.
그러고 다시 url로 이미지에 접근해보니 성공!
이것이 문제였구나...ㅎ하ㅏ하
참고사이트
https://inpa.tistory.com/entry/AWS-📚-S3-버킷-생성-사용법-실전-구축
https://velog.io/@ygreenb/AWS-S3-정책-권한-설정-시-403-에러