안전한 이미지 변환 요청

이 페이지에서는 콘텐츠를 볼 수 있는 사용자와 콘텐츠를 볼 수 있는 기간을 더 상세하게 제어하는 방법을 설명합니다. Cloud CDN 서명된 URL 및 Service Extensions를 사용하여 최적화된 이미지에 대한 안전하고 시간 제한적인 액세스를 제공할 수 있습니다.

표준 서명되지 않은 URL을 사용하면 사용자가 브라우저에서 쿼리 매개변수 문자열을 수동으로 변경하거나 삭제할 수 있습니다. 비즈니스 로직이 개인 정보 보호 또는 액세스 제어를 위한 이미지 변환에 의존하는 경우 서명되지 않은 쿼리는 다음과 같은 위험을 초래합니다.

  • 메타데이터 유출: 공격자가 metadata,preserve=none과 같은 매개변수를 삭제하여 소스 파일에 포함된 숨겨진 GPS 좌표 또는 민감한 카메라 정보를 가져올 수 있습니다.

  • 시각적 수정 우회: 자르기, 크기 조절 또는 흐리게 처리로 얼굴, 번호판 또는 기밀 배경을 숨기는 매개변수를 사용하는 경우 사용자가 이러한 매개변수를 삭제하여 수정되지 않은 이미지를 볼 수 있습니다.

서명된 URL 및 Service Extensions를 사용하여 원치 않는 변환 요청을 방지할 수 있습니다.

서명된 URL을 통한 방지

이러한 위험을 완화하려면 Cloud CDN 서명된 URL을 구성하여 경로를 보호하세요. URL이 서명되면 전체 imop 쿼리 매개변수 구성 문자열이 Cloud CDN이 모든 요청에서 검증하는 암호화 서명의 일부가 됩니다. 사용자가 작업 또는 매개변수(예: sizes)를 변경하려고 하면 Cloud CDN이 암호화 서명을 자동으로 검증하고 요청을 거부하며 HTTP 403 Forbidden 상태 코드를 반환합니다.

자세한 내용은 서명된 URL을 참조하세요.

Service Extensions를 통한 허용 목록

Service Extensions를 사용하면 개발자가 커스텀 프로그래밍 가능한 로직을 Cloud CDN 데이터 영역에 삽입할 수 있습니다. 이 커스텀 로직을 사용하면 이미지 최적화 기능이 요청을 처리하기 전에 고급 요청 조작 및 보안 적용이 가능합니다.

Service Extensions를 사용하면 imop 쿼리 문자열을 파싱하고 매개변수를 고정된 허용 목록과 일치시킬 수 있습니다. 예를 들어 미리 정의된 반응형 너비(200, 400 또는 800)만 허용할 수 있습니다.

다음 예에서는 승인되지 않은 요청이 에지 캐시를 우회하려고 시도하는 방법과 Service Extensions가 이러한 요청을 처리하는 방법을 보여줍니다.

  1. 클라이언트가 캐시되지 않은 비표준 이미지 크기를 요청합니다.

    image.jpg?imop=Resize,width=401

  2. Service Extensions가 Cloud CDN 에지에서 요청을 가로챕니다. 쿼리 문자열을 파싱하여 transformation parameter: width=401을 추출합니다.

  3. Service Extensions가 401을 미리 정의된 반응형 디자인 중단점과 비교합니다.

  4. 허용 목록: 200, 400, 800

  5. 401이 허용 목록에 없음을 감지하면 Service Extensions가 즉시 요청을 종료하고 HTTP 403 (Forbidden) 오류를 반환하거나 매개변수를 삭제하여 원본 이미지를 제공합니다.

요청이 처리되지 않으므로 에지 컴퓨팅 소진을 방지할 수 있습니다.

자세한 내용은 Service Extensions을 참조하세요.

다음 단계