# Presigned URL이란? --- ## 1. Presigned URL이란? > ****S3에 저장된 파일을 제한된 시간 동안만 접근할 수 있게 해주는 임시 링크**** - AWS 인증이 없는 사용자도 접근 가능하다. - URL에 ****서명(signature)********만료 시간****이 포함되는 것이 특징이다. - 다운로드 또는 업로드 둘 다 가능하다. --- ## 2. 왜 필요한가? S3는 기본적으로 ****비공개(private)**** 이기 때문에, 이미지나 파일을 외부 사용자에게 보여주려면 S3를 공개로 설정해야 하거나 ****Presigned URL을 발급****해야 한다. 이 때 Presigned URL 이 ****더 안전하고 일시적인 방법으로 선호된다.**** --- ## 3. 사용 예시
시나리오 설명
사용자 프로필 이미지 업로드 프론트엔드에서 서버를 거치지 않고 S3에 직접 업로드
다운로드 링크 제공 로그인한 사용자에게만 일시적 다운로드 허용
전자책/PDF 같은 유료 콘텐츠 구매한 사람에게만 유효기간 있는 다운로드 링크 제공
- Presigned URL은 기본적으로 몇 분~몇 시간 단위로 설정 - 예: 1시간짜리 링크는 1시간 지나면 접근 불가 --- ## 4. 예시 코드 ``` https://my-bucket.s3.amazonaws.com/sample.pdf? X-Amz-Algorithm=AWS4-HMAC-SHA256& X-Amz-Credential=...& X-Amz-Date=...& X-Amz-Expires=3600& X-Amz-Signature=... ``` > 위는 Presigned URL이 생성된 형태이다. URL 자체에 인증 정보와 만료 시간이 포함되어 있어, 다른 사람도 이 링크만 알면 다운로드 가능하지만, ****시간이 지나면 무효****가 된다.