Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

siklog

[NCP/Security] NCP CDN Security Token 발급 및 사용 방법 본문

클라우드/NCP

[NCP/Security] NCP CDN Security Token 발급 및 사용 방법

ms 2022. 5. 9. 01:06

NCP의 서비스 중 CDN+, Global CDN과 같은 CDN 서비스에는 Object Storage 나 VOD 서비스에 연계해서 사용 시 암호화하여 사용자에게 제공이 가능하도록 Security Token을 지원하고 있다.

 

이번 포스팅에서는 Security Token을 발급받는 방법과 어떻게 적용하여 사용하는지 과정을 간략하게 소개해 보려고 한다.

 

1. CDN 서비스에 Security Token 사용 설정

 

먼저 사용하고자 하는 CDN 서비스의 Viewer 전송 설정 탭에서 Security Token 사용에 체크표시를 해주도록 한다.

(CDN 신청 시 혹은 이미 생성되어 있다면 설정 변경을 통해 가능) 

 

- "인증 예외 대상 확장자"에 설정한 확장자는 인증 token 없이 콘텐츠 호출/응답이 가능
- "원본에 Token 전달하는 확장자"에 설정한 확장자는 CDN 캐시 서버를 통해 원본서버 요청 시 token 값을 전달함

 

 

2. Secure Token을 생성하는 SDK 다운

 

SDK를 통해 Secure Token을 생성할 수 있고, 아래 사용하는 프로그래밍 언어에 따라 선택하여 다운로드 받아 사용하면 된다.

여기서는 Python 으로 테스트 진행해 보았다.

# wget https://github.com/akamai/EdgeAuth-Token-Python/archive/refs/heads/master.zip
편한 방법으로 다운 받으면 되고 토큰 발행할 서버의 로컬로 위치 시키면 된다.

 

 

3. Security Token 발행 

 

다운 받은 SDK의 압축을 풀고 아래 명령어로 토큰을 발행해 주면 된다.

Token 유효시간의 시작시간(st), 만료시간(exp), ACL(URL 경로조건)을 활용하여 인증 token을 생성하며, 생성된 token을 Query String으로 전달한다.

 

이때 Key 값을 넣는 부분에는 사용하고자 하는 CDN에서 발급 받은 Security Token 인증암호를 넣고 발급 받으면 된다. 

# unzip master.zip
# cd EdgeAuth-Token-Python-master
# python cms_edgeauth.py -k [인증암호] -n token -s [시작시간] -w [만료시간] -a /[ACL]*

 

Token 생성의 Parameter 정보는 아래와 같다.

  • Token명 : 'token' 값으로 생성이 필요
  • Start(st)/End times(exp) : 인증 token이 유효한 시작/종료 시간
  • Key : Security Token 설정 시 발급되는 key 값으로 생성이 필요
  • ACL(Acess Control List) : token으로 일회성 접근 허용 대상 URI, * 문자를 통해 특정 Path 단위로 설정이 가능

토큰을 생성하면 아래와 같은 형태로 생성이된다.

ex) token=st=1592204787~exp=1592208387~acl=/ncplogo.jpg*~hmac=79872098f16596c8c40ebab649ae2aac8cce3e3bece204b641c99b6cfac42779

 

4. 접근 확인

 

CDN의 서비스 도메인과 앞서 발급 받은 토큰을 합치면 주소가 완성되고 해당 주소로 접근 시에만 접근이 가능하다.
(기본 CDN의 서비스 도메인으로는 접속안됨)

토큰 미사용시
토큰 사용시

 

 

* Security Token 사용 시 주의할 점

- 아래 사진과 같이 같은 토큰을 사용하고 일정시간 지나게 되면 다시 접속이 안되는 것을 볼 수 있다.


- 인증의 Token은 유효시간과 ACL(URL 경로 조건)을 활용하기 때문
token 생성시 입력한 만료시간(exp)에 따라 인증 유효여부를 체크한다. 이는 token이 재사용이 가능함을 의미한다.
따라서 토큰은 파일 요청 시마다 생성하는 것을 권장한다. 

 

 

 

해당 포스팅은 아래 ncp 가이드를 참고하였습니다.
https://guide.ncloud-docs.com/docs/networking-networking-8-1
 

CDN+ 사용 가이드 - CDN+

 

guide.ncloud-docs.com

 

 

Comments