厳格な CSP 制限
Lightning コンポーネントフレームワークでは、すでに W3C 標準のコンテンツセキュリティポリシー (CSP) を使用して、ページに読み込むことができるコンテンツのソースを制御しています。[より厳格なコンテンツセキュリティポリシーを有効化] 組織設定は、CSP を強化して、クロスサイトスクリプティング攻撃のリスクをさらに軽減します。Lightning Locker が有効になっているかどうかに関係なく、CSP ルールはページレベルで機能し、すべてのコンポーネントとライブラリに適用されます。
厳格な CSP では、script-src の unsafe-inline が禁止されています。スクリプトタグを使用して JavaScript を読み込むことができず、イベントハンドラでインライン JavaScript を使用することもできません。たとえば、次のようにイベントハンドラを使用してインラインスクリプトを実行することはできません。
1<button onclick="doSomething()"></button>厳格な CSP が有効になっている場合、サードパーティライブラリを含むすべてのコードが厳格な CSP 制限に準拠していることを確認する必要があります。
厳格な CSP による影響
厳格な CSP は以下に影響します。
- Lightning Experience
- Salesforce アプリケーション
- 独自に作成したスタンドアロンアプリケーション (myApp.app など)
厳格な CSP は以下には影響しません。
- Salesforce Classic
- Salesforce Classic のアプリケーション (Salesforce Classic の Salesforce コンソールなど)
- コミュニティ
- Lightning アプリケーション外のコンテナにある Lightning コンポーネント (Visualforce や Visualforce ベースのコミュニティの Lightning コンポーネントなど) を実行できる Lightning Out。そのコンテナで CSP ルールが定義されます。
厳格な CSP の無効化
厳格な CSP は、デフォルトで有効になっています。無効にする手順は、次のとおりです。
- [設定] から、[クイック検索] ボックスに「セッション」と入力し、[セッションの設定] を選択します。
- [厳格なコンテンツセキュリティポリシーを有効化] チェックボックスをオンにします。
- [保存] をクリックします。