コンテンツセキュリティポリシーの概要
Lightning Component フレームワークは、Content Security Policy (CSP) を使用してコンテンツに制約を適用します。主な目的は、クロスサイトスクリプト (XSS) 攻撃や他のコードインジェクション攻撃を阻止することです。
CSP は、ページに読み込むコンテンツのソースを制御するためのルールを定義する W3C 標準です。すべての CSP ルールはページレベルで機能し、すべてのコンポーネントに適用されます。
このフレームワークにより、次の CSP ルールが有効になります。
- JavaScript ライブラリ
- すべての JavaScript ライブラリは、Salesforce 静的リソースにアップロードする必要があります。詳細は、「外部 JavaScript ライブラリの使用」 を参照してください。
- リソースの HTTPS 接続
-
すべての外部フォント、画像、フレーム、およ��� CSS は、HTTPS URL を使用する必要があります。
CSP 信頼済みサイトを追加すれば、CSP ポリシーを変更して、サードパーティリソースへのアクセスを拡張できます。
- インライン JavaScript
-
スクリプトタグを使用して JavaScript を読み込むことができず、イベントハンドラでインライン JavaScript を使用することもできません。詳細は「厳格な CSP 制限」を参照してください。
ブラウザサポート
CSP が適用されないブラウザもあります。CSP が適用されるブラウザのリストについては、caniuse.com を参照してください。
CSP 違反の検出
CSP ポリシー違反は、ブラウザの開発者コンソールのログに記録されます。違反は次のようなメッセージになります。
1Refused to load the script 'https://externaljs.docsample.com/externalLib.js'
2because it violates the following Content Security Policy directive: ...アプリケーションの機能に影響がない場合は、CSP 違反を無視できます。