콘텐츠로 이동

Content Security Policy

HTTP 응답 헤더 Content-Security-Policy를 사용하면 사이트 관리자가 사용자 에이전트가 특정 페이지에 로드할 수 있는 리소스를 제어할 수 있습니다. 몇 가지 예외를 제외하고, 설정된 정책은 주로 지정된 서버의 출처와 스크립트 종료 지점을 다루어 사이트 간 스크립팅(Cross-Site Script) 공격을 방지하는 데 도움을 줍니다.

자세한 내용은 Content-Security-Policy를 참고하세요.

다중 콘텐츠 보안 정책

CSP는 Content-Security-Policy 헤더, Content-Security-Policy-Report-Only 헤더 및 meta 컴포넌트를 통해 하나의 리소스에 여러 정책을 지정할 수 있습니다.

예시:

// header
Content-Security-Policy: connect-src http://example.com/;
                         script-src http://example.com/

// meta tag
<meta http-equiv="Content-Security-Policy" content="connect-src http://example.com/;
                         script-src http://example.com/">

CSP를 사용하는 웹 애플리케이션에서 RUM SDK를 연동하는 방법

웹 애플리케이션에서 CSP를 사용 중이라면 Guance RUM SDK를 연동한 후 브라우저에서 보안 위반 경고가 나타날 수 있습니다. 다음 URL을 해당 지시문에 추가해야 합니다.

Datakit 업로드 URL

RUM SDK 초기화 설정datakitOrigin 옵션에 따라 다릅니다.

 DATAFLUX_RUM.init({
      ...
      datakitOrigin: 'https://test.dk.com',
      ...
    })

CSP 보안 지시문에 다음 항목을 추가하세요.

    connect-src https://*.dk.com

웹 워커

RUM SDK Session Replay 기능을 활성화했거나 RUM 초기화 설정에 compressIntakeRequests 설정을 추가한 경우, 다음 worker-src 항목을 추가하세요.

 worker-src blob:;

SDK 버전 >=3.2.0부터 웹 워커 파일을 자체 호스팅할 수 있습니다. SDK 설정에 workerUrl, replayCanvasWorkerUrl(SDK 버전 >= 3.3.0)을 추가하여 호스팅 주소를 지정합니다. 워커 파일은 다음 두 가지 방법으로 가져올 수 있습니다.

  1. Guance 공식 주소 https://static.guance.com/browser-sdk/v3/worker.js 및 https://static.guance.com/browser-sdk/v3/canvas-worker.js에서 다운로드

  2. @cloudcare/browser-worker NPM 패키지를 설치하고 빌드 도구를 사용하여 빌드 자산에 포함시킵니다(Webpack 4, Webpack 5, ViteRollup 문서 참조).

필수 조건
  • 파일을 웹 애플리케이션과 동일한 출처(origin)에서 호스팅해야 합니다. 브라우저 제한으로 인해 별도의 도메인(예: 타사 CDN 호스트)이나 다른 스킴에서는 호스팅할 수 없습니다.
  • SDK 버전이 >=3.2.0이어야 합니다.

CDN 주소

CDN 비동기 또는 CDN 동기 방식으로 RUM SDK를 도입하는 경우, 다음 script-src 항목을 추가하세요.

script-src https://static.guance.com

문서 평가

이 페이지가 도움이 되었나요?