본문 바로가기
Study/기타

Presigned URL 이란?

by Becoming a Hacker 2022. 11. 17.
반응형

모든 객체 및 버킷은 Default로 Private으로 설정되어, 접근 권한이 있는 소유자만이 접근을 할 수 있습니다.

 

보통 Private S3로 구축된 서버의 경우 아래와 같은 흐름으로 동작합니다.

1. 클라이언트가 서버에게 데이터를 전송

2. S3 권한을 갖고 있는 서버가 데이터를 S3로 업로드

 

그러나 이렇게 되면 동일한 데이터를 총 2번(서버 1번, S3 1번) 사용하게 된다는 문제점이 있습니다.

 

이러한 문제점을 해결하기 위해 나온 것이 바로 Presigned URL 입니다.

 

AWS S3 Presigend URL

Presigned URL을 직역해보면 미리 서명된 URL이라는 뜻을 가지고 있습니다. 

 

그렇다면 무엇이 미리 서명된 URL일까요? 바로 보안 자격 증명을 미리 서명했다는 의미로 볼 수 있습니다. 

 

보안 자격 증명으로 미리 서명된 URL로 접근하게 된다면, 해당 권한을 가진 소유자가 S3로 접근하는 것과 동일한 역할을 하며, 이를 통해 권한이 없는 사용자도 미리 서명된 자격 증명을 이용하여 정해진 행위(GET, POST, PUT, DELETE)를 할 수 있습니다.

 

그러나 누구나 해당 URL을 이용하여 S3를 이용할 수 있기 때문에 보안적인 측면에서 위험도가 높다고 볼 수 있습니다. 그렇기 때문에 해당 S3 안에는 민감한 정보가 포함되지 않아야 하며, 짧은 유효 시간을 부여하고 필요한 경우에만 새로 생성 후 사용을 해야할 것으로 보입니다.

 

Reference

 

미리 서명된 URL 사용 - Amazon Simple Storage Service

2019년 3월 20일 이후에 시작된 모든 리전에 대해 요청이 잘못된 Amazon S3 위치에 도달하면 Amazon S3는 HTTP 400 Bad Request 오류를 반환합니다.

docs.aws.amazon.com

 

댓글