厳格な 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 は各サイトの設定により個別に制御されます。