블로그 릴레이 - Amazon S3의 미리 서명된 URL을 통해 객체 공유
안녕하세요! 클라우드 사업본부의 임채정입니다.
본 블로그는 당사의 한국어 블로그 릴레이의 2025년 36번째 블로그입니다.
이번 블로그의 주제는 「Amazon S3의 미리 서명된 URL을 통해 객체 공유」 입니다.
미리 서명된 URL (Pre-signed URL)
Amazon S3의 모든 객체는 기본적으로 비공개로 설정되어 있으며, 오직 객체 소유자만 접근할 수 있습니다.
객체 소유자는 미리 서명된 URL(Pre-signed URL)을 생성하여 제한적으로 객체를 공유할 수 있습니다.
미리 서명된 URL 은 다음과 같은 특징을 가집니다.
- 시간 제한: 설정된 기간 동안만 유효
- 보안 자격 증명 기반: AWS 보안 자격 증명을 활용한 권한 부여
- 다운로드 권한 제공: URL 소유자에게 객체 다운로드 허용
미리 서명된 URL을 통해 객체 공유하기
그럼 실제로 「미리 서명된 URL」를 통해 S3 버킷에 저장된 객체를 공유해보겠습니다.
테스트용으로 버킷을 하나 생성해서 객체를 넣어줬습니다.
- 버킷명 :
pre-signed-url-202510 - 객체 공유 테스트용
AmazonS3.png객체를 업로드 (Amazon S3 아이콘 사진)

콘솔
콘솔을 사용해서 「미리 서명된 URL」를 사용하는 법을 알아보겠습니다.
먼저 S3 콘솔 화면에서 공유하고 싶은 객체가 있는 버킷 페이지로 이동합니다.
그리고 원하는 객체를 선택하고 작업을 선택합니다.
그 중, 미리 서명된 URL과 공유 을 클릭합니다.

그러면 URL이 만료될 때까지의 시간 간격을 설정할 수 있습니다.
입력가능한 시간을 다음과 같습니다.
- 분 :
1 ~ 720 - 시간 :
1 ~ 12
이번에는 테스트를 위해 5분으로 설정하고 시간이 지난 후에 어떻게 되는지도 살펴보겠습니다.
시간을 설정하고 미리 설정된 URL 생성 버튼을 클릭합니다.

그 후에 초록색 안내창으로 미리 설정된 URL이 생성되었다고 출력됩니다.
URL은 생성되는 것과 동시에 클립보드에 복사됩니다.

브라우저에 URL를 입력해보면 다음과 같이 저장해둔 사진이 출력됩니다.

그럼 5분이 지나면 어떻게 될까요.
설정해둔 시간의 5분이 지난 후에 다시 브라우저에 URL을 입력해봤는데, 아래와 같은 에러 페이지가 출력됩니다.

AWS CLI
이번에는 AWS CLI를 통해 「미리 서명된 URL」를 사용해보겠습니다.
사용할 명령어는 다음과 같습니다.
이 때, --expires-in 항목은 옵션인데 콘솔처럼 URL 만료 기간을 설정할 수 있습니다.
콘솔과 다른 점은 AWS CLI에서는 만료 기간을 최대 604800초(7일)까지 생성할 수 있습니다.
aws s3 presign s3://<버킷명>/<객체 경로> --expires-in <설정할 시간(초)>
그럼 이번에는 실제로 생성해보겠습니다.
이 때, 콘솔과 동일하게 5분 후에 URL이 만료되도록 설정하겠습니다.
aws s3 presign s3://pre-signed-url-202510/AmazonS3.png --expires-in 300
그러면 다음과 같이 긴 URL이 출력됩니다.
# https://pre-signed-url-202510.s3.ap-northeast-1.amazonaws.com/AmazonS3.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIA3DULRMV2ATYFBOV2%2F20251026%2Fap-northeast-1%2Fs3%2Faws4_request&X-Amz-Date=20251026T141035Z&X-Amz-Expires=300&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjENb%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaDmFwLW5vcnRoZWFzdC0xIkgwRgIhAP6wzfekcGAardWeEo38oB2y%2FYm7Kv8WCL5d2MkNLn9%2BAiEAlCAB2irVa2b3oJvAEbVv758IMwiASkpzDsEQAGz5lL0qsQIIj%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FARAAGgw3NjM3MjMwODEwNzYiDK9LaEie%2FDll1jSIhSqFAopb%2FVRS7OKarBAZ%2FrRDf3bgPXvRJrZXbVx%2FaNE63qiKRN604M6KeLIkvtcSk3HF8hZXq58%2FG3BHII8SLSCqDlIRKebZMXGr69JvHG8NtZakc4qwRowujiGXevf6dICWpKd7S1Lck0DYAphdW8Hx5LEFhVEluVWVO%2FgpaEykBFA1fPOINuOJnnL1f7SfMLcT0TlKpmL0aiLTud3ip0sL8u7b9%2FSFJAqqP138LzCVJboUl9h8gMR7JnEdY4BysB6N%2F7Hpun5mytlI%2B%2BVXaJcYqYcr9OEk8213IqUos7eG1unNJGwjJBq%2FgSKxwy7yVYbH%2F%2Bo%2BnsSVzwogmfcJrsbXCDtmeDK7pzDR1%2FjHBjqcATsHXFuYujqQdZrxZcSM%2FmAKt4MfNwAGUexCpg9gLDgup7mOGEYkEa4kC%2BwK2lUnaBD5OWU5DrkGCf2vEdIJ7Gxd4OuyfSgqLTmDqhx9eDhPNrM4kvB%2FulhsNHuylV09U5WjovjtzbdYjqPUgZkSZAVXsdboT33bOyWORpCU6qJPIvcvLMREvnWYtCNvat9hvv04hYibwdYJhKwwNw%3D%3D&X-Amz-Signature=63d0f50f4fc38face6388b723db15cd25cb512e2cf41e7562fb3330bfe24fc32
이걸 브라우저에 붙여넣으면 콘솔화면과 동일하게 저장해둔 사진이 잘 출력됩니다.

5분이 지나면 URL이 만료되서 에러 페이지가 출력됩니다.

마무리
이상, 한국어 블로그 릴레이의 2025년 36번째 블로그「Amazon S3의 미리 서명된 URL을 통해 객체 공유」편이었습니다.
끝까지 읽어주셔서 감사합니다! 이상, 클라우드 사업본부의 임채정이었습니다.
다음 페이지에서블로그 릴레이의 다른 블로그도 확인할 수 있습니다.
문의 사항은 클래스메소드코리아로!
클래스메소드코리아에서는 다양한 세미나 및 이벤트를 진행하고 있습니다.
진행중인 이벤트는 아래 페이지를 참고해주세요.
AWS에 대한 상담 및 클래스메소드코리아 멤버스에 관한 문의사항은 아래 메일로 연락주시면 감사드립니다!
Info@classmethod.kr






