S3에 이미지를 업로드 한 후 해당 이미지를 썸네일이나, 웹에 띄우기 위해 여러가지 설정이 가능하다.
가장 쉬운 방법은 S3 버킷 자체를 퍼블릭하게 열어주면 된다.
하지만 만약 내 S3 버킷안에 들어간 이미지에 개인정보가 있거나 혹은 중요한 계약 정보가 담겨 있다면 S3 버킷을 공개로 열어놓는 것은 보안상 매우 취약한 행동이 될 것이다.
그렇다면 어떤 방법으로 S3는 비활성화를 유지하며 URL을 오픈할 수 있을까?
1. 미리 서명된 URL 공유
이 기능은 버킷 및 객체가 프라이빗하다고 하더라도 미리 서명된 URL을 통해서 외부에서 접근을 가능하게 하는 것이다.
하지만 이 URL은 정해진 시간이 있어 그 시간이 만료되면 URL이 만료가 된다.
이 기능을 지속적으로 쓰려고 한다면 람다를 통해서 일정 시간마다 계속 서명된 URL을 만들어 공유를 해야한다.
단기적으로 URL 공유가 필요하다면 해당 기능을 사용하는 것이 좋다.
2. CloudFront
Cloud Front를 통해서 s3 버킷을 원본으로 배포를 진행합니다.
CloudFront는 서명된 URL 및 서명된 쿠키를 사용하여 접근 권한을 설정할 수 있습니다. 특히 서명된 쿠키는 콘텐츠가 여러 페이지에 걸쳐 사용되는 경우 유용합니다. 이 방식으로 S3 자체는 프라이빗으로 유지하면서도 안전하게 접근을 제어할 수 있습니다.
또한 Cloud Front는 CDN으로 접근 속도와 성능, 또 캐싱 기능을 가지고 있으므로 보안, 접근성, 속도 에서 CloudFront를 연동해서 쓰는 것을 권장합니다.
'[AWS-SM] > S3' 카테고리의 다른 글
[참고][AWS] 클라이언트 툴로 S3 접속해서 간편하게 다루기 [MobaXterm] (0) | 2023.03.10 |
---|---|
[참고][AWS] S3 - CLI 명령어 종류 총정리 (0) | 2023.03.10 |