厳格な CSP 制限
Lightning コンポーネントフレームワークでは、W3C 標準のコンテンツセキュリティポリシー (CSP) を使用して、ページに読み込むことができるコンテンツの読み込み元を制御します。Lightning Locker または Lightning Web Security が有効になっているかどうかに関係なく、CSP ルールはページレベルで機能し、すべてのコンポーネントとライブラリに適用されます。[より厳格なコンテンツセキュリティポリシーを有効化] 組織設定は、クロスサイトスクリプティング攻撃のリスクをさらに軽減します。この設定は、デフォルトで有効になっています。
[より厳格なコンテンツセキュリティポリシーを有効化] 設定は、script-src
ディレクティブでの unsafe-inline
提供元の使用を禁止します。この設定が有効な場合、script
タグを使用して JavaScript を読み込むことができません。また、イベントハンドラでインライン JavaScript を使用できません。
サードパーティライブラリを含むすべてのコードが CSP 制限に準拠していることを確認する必要があります。
Lightning Web セキュリティ (LWS) は厳格な CSP に依存しています。[より厳格なコンテンツセキュリティポリシーを有効化] の設定を無効にすると、LWS が提供するセキュリティのレベルが下がります。LWS が有効な場合は、[より厳格なコンテンツセキュリティポリシーを有効化] を有効にしたままにしておくことを強くお勧めします。
厳格な CSP は以下に影響します。
- Lightning Experience
- Salesforce アプリケーション
- 独自に作成したスタンドアロンアプリケーション (
myApp.app
など)
厳格な CSP は以下には影響しません。
- Salesforce Classic
- Salesforce Classic のアプリケーション (Salesforce Classic の Salesforce コンソールなど)
- エクスペリエンスビルダーサイト。独自の CSP 設定が存在します。
- Lightning Out。Lightning アプリケーション外のコンテナにある Lightning コンポーネント (Visualforce 内や Salesforce タブ + Visualforce サイト内の Lightning コンポーネントなど) を実行できます。そのコンテナで CSP ルールが定義されます。
エクスペリエンスビルダーサイトの CSP は各サイトの設定により個別に制御されます。