この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

厳格な CSP 制限

Lightning コンポーネントフレームワークでは、すでに W3C 標準のコンテンツセキュリティポリシー (CSP) を使用して、ページに読み込むことができるコンテンツのソースを制御しています。[より厳格なコンテンツセキュリティポリシーを有効化] 組織設定は、CSP を強化して、クロスサイトスクリプティング攻撃のリスクを軽減します。Locker Service が有効になっているかどうかに関係なく、CSP ルールはページレベルで機能し、すべてのコンポーネントに適用されます。

厳格な CSP では、script-srcunsafe-inline が禁止されています。つまり、スクリプトタグを使用して JavaScript を読み込むことができず、イベントハンドラでインライン JavaScript を使用することもできません。防止される例を次に示します。

1<button onclick="doSomething()"></button>

厳格な CSP が有効になっている場合、サードパーティライブラリを含むすべてのコードが厳格な CSP 制限に準拠していることを確認する必要があります。

  • Summer '18 より前では、厳格な CSP で unsafe-eval も無効になっていました。今はもう違います。Summer '18 の Locker Service では、eval() 関数および Function() 関数のセキュアなバージョンがサポートされています。
  • Winter '19 より前のリリースでは、厳格な CSP は重要な更新「Lightning コンポーネントの厳格なコンテンツセキュリティポリシーの有効化」で制御されていました。この重要な更新が組織設定に変更され、その有効化をより詳細に制御できるようになりました。

メモ

厳格な 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 は、デフォルトで有効になっています。無効にする手順は、次のとおりです。

  1. [設定] から、[クイック検索] ボックスに「セッション」と入力し、[セッションの設定] を選択します。
  2. [厳格なコンテンツセキュリティポリシーを有効化] チェックボックスをオンにします。
  3. [保存] をクリックします。