IT/Infra&Cloud

[aws] S3 Security — 4. Create S3 pre-signed URL with validity period

Hayley Shim 2023. 10. 29. 00:48

안녕하세요. 최근 CloudNet@ AWS Security Study를 진행하며 해당 내용을 이해하고 공유하기 위해 작성한 글입니다. 해당 내용은 ‘쉽게 적용하는 AWS 보안 레시피’ 책과 AWS Docs 내용을 기반으로 했습니다.

[aws] S3 Security — 3. 동일한 계정의 S3 계정 접근편 다음으로 [aws] S3 Security — 4. S3 사전 서명된 URL 생성에 대해 알아봅시다.

4. 유효 기간이 설정된 S3 사전 서명된 URL 생성

  • 서명된 URL은 만료 기간 안에 S3 자원에 접근할 수 있는 임시권한입니다.
  • 콘솔은 불가하고 CLI로 API를 호출하거나 SDK를 이용해야합니다.
pip3 install boto3 설치

CLI를 통해 서명된 URL을 먼저 설치합니다.

# 서명된 URL 생성 
aws s3 presign s3://cass-s3bucket-hayley/111.txt --expires-in 100 --profile awssecadminhttps://cass-s3bucket-hayley.s3.ap-northeast-2.amazonaws.com/111.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA5EYKJMNUASA5J7U6%2F20220814%2Fap-northeast-2%2Fs3%2Faws4_request&X-Amz-Date=20220814T164501Z&X-Amz-Expires=100&X-Amz-SignedHeaders=host&X-Amz-Signature=c9404d5cf8844fcdd18041f9e71973b829c2b5a1fe06584fb76e3d9fdadb4afb# 실습 
$ aws s3 presign s3://cass-s3bucket-hayley/111.txt --expires-in 100

만료 기한 내 객체 접근 가능

만료 기한 후 접근 에러

다음은 파이썬 SDK를 이용해 사전 서명을 합니다.

아래 명령어를 실행해 값을 받아옵니다.

python3 s3presign.py

 

 

blog migration project

written in 2022.8.15

https://medium.com/techblog-hayleyshim/aws-s3-security-4-%EC%9C%A0%ED%9A%A8-%EA%B8%B0%EA%B0%84%EC%9D%B4-%EC%84%A4%EC%A0%95%EB%90%9C-s3-%EC%82%AC%EC%A0%84-%EC%84%9C%EB%AA%85%EB%90%9C-url-%EC%83%9D%EC%84%B1-be0ddb16d350