[AWS] CloudFront 배포에서 서명된 URL로 접근 제어 설정하는 법

[AWS] CloudFront 배포에서 서명된 URL로 접근 제어 설정하는 법

서명된 URL 만들기 
- cloudfront에서 프라이빗 컨텐츠에 대한 엑세스 제한을 하기 위해 

1단계: CloudFront 키 페어 생성
루트 계정으로 콘솔에 로그인 후, 상단 우측에서 "내 보안 자격 증명>(Continue to Security Credentials)>CloudFront의 키 페어" 에서 생성하여 피시/서버에 다운 받아 둡니다.  IAM 사용자는 CloudFront 키 페어를 만들 수 없습니다.
웹페이지 소스에서 위에서 서버에 저장한 개인키를 읽어서 URL을 서명하고 서명된 URL을 리턴하는 함수를 작성하여 클라이언트에 제공한다. 
참조링크: https://docs.aws.amazon.com/ko_kr/AmazonCloudFront/latest/DeveloperGuide/PrivateCFSignatureCodeAndExamples.html 

2단계: 
CloudFront Distributions -> [해당 CF 배포] -> Behaviors -> Create Behavior -> Cache Behavior Settings: 
1. Path Pattern: (예: images/*.jpg 입력하면 images 디렉토리 이하 모든 jpg 확장자 대상 접속 제한 걸림)
2. Restrict Viewer Access(Use Signed URLs or Signed Cookies): Yes 체크 
3. Trusted Signers: Self 체크 설정확인: Behaviors 목록에서 필드 값 중, Trusted Signers: 활성 
이제 클라이언트가 제한된 경로에 있는 특정 파일을 요청 시 리퀘스트 파라미터에 서명을 스트링을 전달하여 요청받을 수 있도록 구성합니다.

참고: CloudFront용 키페어를 만드는 또 다른 방법은 openssl 같은 프로그램은 키페어를 만들고 퍼블릭키를 AWS 콘솔의 CloudFront 메뉴에서 "public keys" 메뉴에서 업로드 하는 방법도 있습니다.
이 방법은 AWS 계정에서 루트로 로그인하기 어려울 때 사용할 수 있습니다.


댓글

이 블로그의 인기 게시물

AWS SA 자격증 시험 합격 후기

[AWS] Lightsail vs EC2 (서울리전 2018.5 기준)

[AWS] EC2 SMTP 트래픽 제한 해제 하기 - 대량 이메일 발송서버 구성을 위해