aws s3 presign으로 임시 다운로드 URL 만들기
조회 0 · 댓글 0
S3 객체를 잠깐만 외부에 넘겨야 할 때가 있습니다. 버킷을 퍼블릭으로 열지 않고도 서명된 임시 URL 하나 뽑아 건네면 받는 쪽은 그냥 HTTP GET으로 받아갑니다. CLI에서는 aws s3 presign 한 줄이면 끝납니다.
# 기본: 1시간(3600초) 유효
aws s3 presign s3://my-bucket/report.pdf
# 유효기간 지정(초 단위), 최대 604800초=7일
aws s3 presign s3://my-bucket/report.pdf --expires-in 604800나오는 긴 URL을 그대로 브라우저나 curl로 넘기면 됩니다. --expires-in 기본값은 3600초, 최댓값은 604800초(7일)라 그보다 길게는 못 줍니다. 서명은 SigV4라 region이 명시적으로 잡혀 있어야 하니 안 되면 --region을 붙여보면 됩니다.
일단 이 CLI 명령은 GET용 다운로드 URL만 만든다는 점은 알아두면 좋습니다. 그리고 역할(STS) 같은 임시 자격증명으로 서명하면, --expires-in을 길게 줘도 그 자격증명이 먼저 만료되는 순간 URL도 같이 죽습니다. 긴 유효기간이 필요하면 서명 주체의 수명을 먼저 확인하는 게 안전합니다.
🔗 https://docs.aws.amazon.com/cli/latest/reference/s3/presign.html
로그인 후 답글을 남길 수 있습니다.