아마존 웹 서비스를 다루는 기술 12장 - 4.4. Custom Policy를 사용한 Signed URL 생성하기
저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
전 세계에 콘텐츠를 배포하는 CDN 서비스인 CloudFront
이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30
Custom Policy를 사용한 Signed URL 생성하기
이번에는 Custom Policy를 사용한 Signed URL을 직접 생성해보겠습니다.
EC2 인스턴스 혹은 Linux가 설치된 컴퓨터에 SSH로 접속합니다. 그리고 텍스트 편집기를 열고 아래와 같이 작성한 뒤 custom_policy.json로 저장합니다.
- Resource: http://*로 모든 파일이 적용되도록 설정합니다. http://*.pdf 처럼 확장자를 지정할 수도 있습니다.
- IpAddress: 특정 IP에서만 파일을 받을 수 있도록 설정합니다. 여러분들의 공인 IP 주소를 입력합니다. 사설 IP(192.168.0.x, 10.0.0.x)는 사용할 수 없습니다. 이 부분은 옵션이므로 사용하지 않아도 Signed URL은 동작합니다.
- DateLessThan → AWS:EpochTime: Signed URL에서는 이 만료날짜 값이 필수입니다. 그리고 UTC 형식을 사용해야 합니다. 위의 정책 파일에서 1399206886 값은 이미 지나가버린 시간 값이므로 그대로 사용하면 Signed URL이 동작하지 않습니다. 꼭 미래의 시간 값을 사용하기 바랍니다.
custom_policy.json
{
"Statement": [{
"Resource":"http://*",
"Condition":{
"IpAddress":{"AWS:SourceIp":"111.111.111.111"},
"DateLessThan":{"AWS:EpochTime":1399206886}
}
}]
}
UTC 값을 생성하는 방법은 ‘12.4.3 Canned Policy를 사용한 Signed URL 생성하기’에서 ‘웹에서 UTC 값 생성하기’를 참조하기 바랍니다.