ウェブサイトでContent Security Policy(CSP)を実装している場合、Fin Messengerが正常に読み込まれるために必要なリソースを許可する必要があります。CSPはクロスサイトスクリプティング(XSS)やデータ注入攻撃などの特定の攻撃を検出・軽減するための追加のセキュリティ層です。
以下は、Fin Messengerが製品やウェブサイト全体で完全に機能するためにポリシーに含めるべきディレクティブと値です。
必要なCSPディレクティブ
Fin MessengerはGoogleの厳格なCSPv3を完全にサポートしています。
Content-Security-Policy:
object-src 'none';
script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
base-uri 'self';
すでにこのポリシーをウェブサイトで提供している場合、変更は不要です。また、Fin Messengerが読み込む一部のスクリプトにはnonce-sourceを含める必要があることにご注意ください。nonceの扱いについてはこちら
ソースの許可リスト
ソースの許可リストに依存したい場合(例えばCSPv2やv3の機能が使えない場合)、以下の関連ディレクティブを使用してください。
script-src:
https://app.intercom.io
https://widget.intercom.io
https://js.intercomcdn.com
他のCSPディレクティブを適用している場合、Fin Messengerが正しく機能するために以下のエントリを追加する必要があります。
注意:以下の地域別CDNドメインは、ワークスペースのホスティング地域にのみ追加してください。例えば、米国ホスティングのワークスペースではhttps://uploads.intercomcdn.comが必要ですが、https://uploads.intercomcdn.euやhttps://uploads.au.intercomcdn.comは不要です。他の地域特有のドメイン(例:downloads.*、messenger-apps.*、static.intercomassets.*、intercom-attachments.*)も同様です。ホスティング地域が不明な場合はワークスペース設定を確認してください。
connect-src:
https://via.intercom.io
https://api.intercom.io
https://api.au.intercom.io
https://api.eu.intercom.io
https://api-iam.intercom.io
https://api-iam.eu.intercom.io
https://api-iam.au.intercom.io
https://api-ping.intercom.io
https://*.intercom-messenger.com
wss://*.intercom-messenger.com
https://nexus-websocket-a.intercom.io
wss://nexus-websocket-a.intercom.io
https://nexus-websocket-b.intercom.io
wss://nexus-websocket-b.intercom.io
https://nexus-europe-websocket.intercom.io
wss://nexus-europe-websocket.intercom.io
https://nexus-australia-websocket.intercom.io
wss://nexus-australia-websocket.intercom.io
https://uploads.intercomcdn.com
https://uploads.intercomcdn.eu
https://uploads.au.intercomcdn.com
https://uploads.eu.intercomcdn.com
https://uploads.intercomusercontent.com
child-src:
https://intercom-sheets.com
https://www.intercom-reporting.com
https://www.youtube.com
https://player.vimeo.com
https://fast.wistia.net
font-src:
https://js.intercomcdn.com
https://fonts.intercomcdn.com
form-action:
https://intercom.help
https://api-iam.intercom.io
https://api-iam.eu.intercom.io
https://api-iam.au.intercom.io
media-src:
https://js.intercomcdn.com
https://downloads.intercomcdn.com
https://downloads.intercomcdn.eu
https://downloads.au.intercomcdn.com
img-src:
blob:
data:
https://js.intercomcdn.com
https://static.intercomassets.com
https://downloads.intercomcdn.com
https://downloads.intercomcdn.eu
https://downloads.au.intercomcdn.com
https://uploads.intercomusercontent.com
https://gifs.intercomcdn.com
https://video-messages.intercomcdn.com
https://messenger-apps.intercom.io
https://messenger-apps.eu.intercom.io
https://messenger-apps.au.intercom.io
https://*.intercom-attachments-1.com
https://*.intercom-attachments.eu
https://*.au.intercom-attachments.com
https://*.intercom-attachments-2.com
https://*.intercom-attachments-3.com
https://*.intercom-attachments-4.com
https://*.intercom-attachments-5.com
https://*.intercom-attachments-6.com
https://*.intercom-attachments-7.com
https://*.intercom-attachments-8.com
https://*.intercom-attachments-9.com
https://static.intercomassets.eu
https://static.au.intercomassets.com
style-src:
'unsafe-inline'
また、サービスがCSPv3のみをサポートしている場合、child-srcは廃止予定のため、frame-srcとworker-srcの2つの別々のエントリを使用する必要があります。
注意:
上記のエントリは、Fin Messengerの機能がアプリで正しく動作するために必要です。App Storeの一部の統合では、CSPに他のエントリを追加する必要がある場合があります。その場合、ブラウザの開発者コンソールにエラーメッセージが表示されます。
https://*.intercom-messenger.comおよびwss://*.intercom-messenger.comは、Fin Messengerのリアルタイム通信のためのより広範でスケーラブルなインフラをサポートするためにconnect-srcディレクティブに追加されています。これらのワイルドカードエントリは、アップグレードをサポートし、メッセンジャーが複数のリアルタイムエンドポイントに動的に接続できるようにするために必要です。
ファイアウォール
上記の多くのドメインは、Fin Messengerが正しく機能するためにファイアウォール設定でも許可する必要があります。
