Content Security Policy¶
HTTP レスポンスヘッダー Content-Security-Policy を使用すると、サイト管理者はユーザーエージェントが特定のページに対して読み込むことができるリソースを制御できます。いくつかの例外を除き、設定されたポリシーは主に指定されたサーバーのオリジンとスクリプトのエンドポイントに関連するため、クロスサイトスクリプティング(XSS)攻撃の防止に役立ちます。
詳細については、Content-Security-Policy を参照してください。
複数のコンテンツセキュリティポリシー¶
CSP では、Content-Security-Policy ヘッダー、Content-Security-Policy-Report-Only ヘッダー、meta 要素などを使用して、1 つのリソース内で複数のポリシーを指定できます。
例:
// 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 を使用している Web アプリケーションに RUM SDK を組み込む方法¶
お使いの Web アプリケーションが CSP を使用している場合、Guance RUM SDK を組み込んだ後に、ブラウザにセキュリティ違反の警告が表示される可能性があります。その場合は、以下の URL を対応するディレクティブに追加してください。
Datakit レポート URL¶
RUM SDK 初期化設定 の datakitOrigin オプションによって異なります。
CSP セキュリティディレクティブに、次のエントリを追加してください。
web worker¶
RUM SDK の Session Replay 機能を有効にしている場合、または RUM 初期化設定に compressIntakeRequests 設定を追加している場合は、次の worker-src エントリを追加してください。
SDK バージョン >=3.2.0 からは、web worker ファイルをセルフホスティングできるようになりました。SDK 設定に workerUrl、replayCanvasWorkerUrl(SDK バージョン >= 3.3.0)を追加して、ホスティングアドレスを指定します。worker ファイルは、以下の 2 つの方法で取得できます。
-
Guance 公式アドレス https://static.guance.com/browser-sdk/v3/worker.js および https://static.guance.com/browser-sdk/v3/canvas-worker.js からダウンロードする
-
@cloudcare/browser-worker NPM パッケージをインストールし、ビルドツールを使用してビルドアセットに含める(Webpack 4、Webpack 5、Vite、Rollup のドキュメントを参照)。
必要条件
- ファイルを Web アプリケーションと同じオリジンでホスティングする必要があります。ブラウザの制限により、別のドメイン(サードパーティの CDN ホストなど)や別のスキームでホスティングすることはできません。
- SDK バージョンが
>=3.2.0である必要があります。
CDN アドレス¶
CDN 非同期または CDN 同期 の方法で RUM SDK を導入している場合は、次の script-src エントリを追加してください。