작성
·
31
·
수정됨
0
구글 드라이브와 같이 개인만 볼 수 있는 이미지가 있을때 S3로 구현 방법이 궁금합니다.
s3 private bucket으로 두고, 접근을 어떻게 할지가 고민입니다.
생각한 방법은
1. 권한 확인 후 presigned url 로 제한시간이 있는 접근 가능한 url로 만들어서 반환한다.
특징: 누구나 해당 url를 가지고 있으면 접근가능하다. 캐시가 어렵다
2.권한 확인 후 백엔드서버에서 s3에서 이미지를 가져와서 바이트배열로 반환한다.
특징: 서버에서 이미지를 받아서 바이트배열로 변환해야하는 작업이 필요. 브라우저 캐시 사용가능
개인적인 생각은 presigned url 노출이나 바이트 코드 노출이나 똑같이 노출인것같은데, 물론 presigend url은 시간제한이 있긴하지만.. 다른분들 생각이 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
처아미나님께서 질문하신 AWS S3에서 개인만 볼 수 있는 이미지를 어떻게 구현할 수 있는지에 대한 두 가지 방법에 대해 말씀드리겠습니다.
Presigned URL 사용:
백엔드 서버를 통한 이미지 제공:
처아미나님께서 언급하신 대로, 두 방법 모두 이미지를 노출한다는 점에서는 유사하지만, 보안적인 측면에서 presigned URL의 시간 제한은 잠재적 보안 위협을 줄이는 데 유리합니다. 각 방법의 장단점을 고려하여 시스템의 요구사항에 맞는 방법을 선택하시기 바랍니다.
이와 관련된 더 깊이 있는 정보는 AWS S3 공식 문서를 참고하시거나, Spring Boot Reference Documentation를 활용하실 수도 있습니다. 추가적인 의견이나 구현 방법에 대해 개발자 커뮤니티에서 토론하는 것도 좋은 방법이 될 것입니다.