미리 준비된 정책을 사용하여 서명된 쿠키 설정 - Amazon CloudFront

미리 준비된 정책을 사용하여 서명된 쿠키 설정

미리 준비된 정책을 사용하여 서명된 쿠키를 설정하려면 다음 단계를 완료하세요. 서명을 만들려면 미리 준비된 정책을 사용하는 서명된 쿠키에 대한 서명 생성 단원을 참조하세요.

다음 예제는 배포와 연결된 도메인 이름을 파일의 URL에 사용할 때 서명된 쿠키 한 개의 Set-Cookie 헤더를 보여줍니다.

Set-Cookie: CloudFront-Expires=1426500000; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=d111111abcdef8.cloudfront.net; Path=/images/*; Secure; HttpOnly

다음 예제는 파일에 대한 URL의 example.org 대체 도메인 이름을 사용할 때 하나의 서명된 쿠키에 대한 예제 Set-Cookie 헤더를 보여줍니다.

Set-Cookie: CloudFront-Expires=1426500000; Domain=example.org; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Signature=yXrSIgyQoeE4FBI4eMKF6ho~CA8_; Domain=example.org; Path=/images/*; Secure; HttpOnly Set-Cookie: CloudFront-Key-Pair-Id=K2JCJMDEHXQW5F; Domain=example.org; Path=/images/*; Secure; HttpOnly

URL에 example.com과 같은 대체 도메인 이름을 사용하려면 Domain 속성 지정 여부와 상관없이 대체 도메인 이름을 배포에 추가해야 합니다. 자세한 내용은 대체 도메인 이름(CNAME) 주제에서 배포 설정 참조 섹션을 참조하세요.

미리 준비된 정책을 사용하는 서명된 쿠키에 대한 서명 생성

미리 준비된 정책을 사용하는 서명된 쿠키의 서명을 만들려면 다음 절차를 완료하세요.

미리 준비된 정책을 사용하는 서명된 쿠키에 대한 정책 설명 생성

미리 준비된 정책을 사용하는 서명된 쿠키를 설정할 때 CloudFront-Signature 속성은 정책 설명의 해시 및 서명된 버전입니다. 미리 준비된 정책을 사용하는 서명된 쿠키의 경우, 사용자 지정 정책을 사용하는 서명된 쿠키와 마찬가지로 Set-Cookie 헤더에 정책 설명을 포함하지 않습니다. 정책 설명을 만들려면 다음 단계를 수행합니다.

미리 준비된 정책을 사용하는 서명된 쿠키에 대한 정책 설명을 만들려면
  1. 다음 JSON 형식과 UTF-8 문자 인코딩을 사용하여 정책 설명을 구성합니다. 지정된 모든 문장 부호 및 기타 리터럴 값을 정확히 포함해야 합니다. ResourceDateLessThan 파라미터에 대한 내용은 서명된 쿠키에서 미리 준비된 정책을 위한 정책 설명에서 지정한 값를 참조하세요.

    { "Statement": [ { "Resource": "base URL or stream name", "Condition": { "DateLessThan": { "AWS:EpochTime": ending date and time in Unix time format and UTC } } } ] }
  2. 정책 설명에서 모든 공백(탭과 줄바꿈 문자 포함)을 제거합니다. 애플리케이션 코드의 문자열에 이스케이프 문자를 포함해야 할 수도 있습니다.

서명된 쿠키에서 미리 준비된 정책을 위한 정책 설명에서 지정한 값

미리 준비된 정책에 대한 정책 설명을 만들 때 다음 값을 지정합니다.

리소스

쿼리 문자열을 포함하는 기본 URL(있는 경우)은 다음과 같습니다.

https://d111111abcdef8.cloudfront.net/images/horizon.jpg?size=large&license=yes

Resource에 대해 값을 하나만 지정할 수 있습니다.

다음을 참조하세요.

  • 프로토콜(Protocol) – 값은 http:// 또는 https://로 시작해야 합니다.

  • 쿼리 문자열 파라미터(Query string parameters) – 쿼리 문자열 파라미터가 없는 경우, 물음표를 생략합니다.

  • 대체 도메인 이름(Alternate domain names) – URL에 대체 도메인 이름(CNAME)을 지정하는 경우, 웹 페이지 또는 애플리케이션의 파일을 참조할 때 대체 도메인 이름을 지정해야 합니다. 파일에 대한 Amazon S3 URL을 지정하지 마시기 바랍니다.

DateLessThan

Unix 시간 형식(초) 및 협정 세계시(UTC) 기준의 URL 만료 날짜 및 시간. 값을 인용 부호로 묶지 마세요.

예를 들면 2015년 3월 16일 오전 10시(UTC)를 Unix 시간 형식인 1426500000으로 변환합니다.

이 값은 CloudFront-Expires 헤더의 Set-Cookie 속성 값과 일치해야 합니다. 값을 인용 부호로 묶지 마세요.

자세한 내용은 CloudFront가 서명된 쿠키의 만료 날짜 및 시간을 확인하는 시기 단원을 참조하십시오.

미리 준비된 정책에 대한 정책 설명 예제

서명된 쿠키에 다음 예제의 정책 설명을 사용할 경우, 사용자는 UTC 기준 2015년 3월 16일 오전 10시까지 https://d111111abcdef8.cloudfront.net/horizon.jpg 파일에 액세스할 수 있습니다.

{ "Statement": [ { "Resource": "https://d111111abcdef8.cloudfront.net/horizon.jpg?size=large&license=yes", "Condition": { "DateLessThan": { "AWS:EpochTime": 1426500000 } } } ] }

정책 설명에 서명하여 미리 준비된 정책을 사용하는 서명된 쿠키에 대한 서명 생성

CloudFront-Signature 헤더의 Set-Cookie 속성의 값을 만들려면 미리 준비된 정책을 사용하는 서명된 쿠키에 대한 정책 설명을 만들려면에서 만든 정책 설명을 해시하고 서명합니다.

다음 주제를 참조하여 정책 설명을 해시, 서명 및 인코딩하는 방법에 대한 추가적인 내용과 예제를 확인하세요.