2022/04/11

【Salesforce】ContentSecurityPolicyとは?

 
  

SalesforceContentSecurityPolicyとは?

Salesforceのツール;ライトニング(Lightning)の構成要素の枠組みは、内容の安全性に関する方針(ContentSecurityPolicy=CSP)を使用して内容に制約を適用します。主な目的は、脆弱性があるウェブアプリケーションのサイト訪問者の個人情報を盗むなどの被害をもたらす攻撃(クロスサイトスクリプティング=XSS)や、その他のコード注入攻撃を阻止することです。 CSPは、ページに読み込むコンテンツのソースを制御するためのルールを定義する、Web技術の標準化を行う協会(W3C)の標準です。すべてのCSPルールはページレベルで機能し、すべてのコンポーネントに適用されます。 このフレームワークが次のCSP ルールを有効にします。

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編集を!

今回はCSP(ContentSecurityPolicy)の概要を紹介しました。JavaScript、外部フォント、画像、フレーム、ブラウザ等をCSPのルールを守って使用することにより、サイト訪問者の個人情報を保護し、悪意あるサイト攻撃を防ぎます。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

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

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】