この記事の目次
SalesforceContentSecurityPolicyとは?

1. JavaScriptライブラリ
すべてのJavaScriptライブラリは、Salesforce静的リソースとしてアップロードされる必要があります。詳細については公式サイトを参照してください。2. リソースのHTTPS接続
すべての外部フォント、画像、フレーム、およびCSSは、HTTPS URLを使用する必要があります。CSP信頼済みサイトを追加することにより、CSPポリシーを変更して、サードパーティリソースへのアクセスを拡張できます。3. インラインJavaScriptの制限
スクリプトタグを使用してJavaScriptを読み込むことはできません。 また、イベントハンドラーでインラインJavaScriptを使用することもできません。ブラウザのサポート
CSPはすべてのブラウザで適用されるわけではありません。 使用可能な各ブラウザのVersionについては公式サイトを参照してください。 IE11はCSPをサポートしていないため、セキュリティを強化するために、サポートされている他のブラウザを使用することをおすすめします。CSP違反の検出
CSPポリシー違反は、ブラウザの開発者コンソールログに記録されます。アプリの機能に影響がない場合は、CSP違反は無視できます。より厳格なCSP制限
Lightningコンポーネントフレームワークは、W3C標準であるContentSecurityPolicy(CSP)を使用して、ページに読み込むことができるコンテンツのソースを厳格に制御しています。 CSPルールはページレベルで機能し、Lightning Lockerが有効かどうかに関係なく、すべてのコンポーネントとライブラリに適用されます。クロスサイトスクリプティング攻撃のリスクをさらに軽減するために、[より厳格なContentSecurityPolicyを有効化]組織設定がVersion-Winter’19リリースで追加されました。この設定はデフォルトで有効になっています。 EnableStricterContentSecurityPolicy設定は、script-srcディレクティブの安全でないインラインソースを許可しません。スクリプトタグを使用してJavaScriptを読み込むことはできません。また、イベントハンドラーはインラインJavaScriptを使用できません。 注意点として、セキュリティを強化するために、[より厳密なContentSecurityPolicyを有効にする]設定は常に有効になっています。セッション設定で無効にした場合、インラインJavaScriptをブロックすることは引き続き有効です。安全でないインラインJavaScriptの制限が常に適用されるため、将来のリリースでセッション設定から設定を削除する予定です。 第三者のライブラリを含むすべてのコードが、すべてのCSP制限を尊重していることを確認する必要があります。厳格なCSPは何に影響するか?
より厳格なCSPは、以下の項目に影響します。 Lightningの体験 Salesforceアプリ 作成する独立型アプリ(myApp.appなど) 以下の項目には、より厳格なCSPは影響しません。 Salesforceクラシック SalesforceClassicのSalesforceコンソールなど、SalesforceClassicのすべてのアプリケーション 独自のCSP設定を持つExperience Builderサイト LightningOut。これにより、Lightningアプリケーションの外部のコンテナでLightningコンポーネントを実行できます。たとえば、VisualforceおよびSalesforceTabs+VisualforceサイトのLightningコンポーネントなどです。 コンテナはCSPルールを定義します。 ExperienceBuilderサイトのCSPは、各サイトの設定によって個別に制御されますContent Security Policyで安全なWeb編集を!

この記事の監修者・著者

-
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞