ウェブサイトでContent Security Policy(CSP)を実装している場合、Intercomが正常に読み込まれるために必要なリソースを許可する必要があります。CSPはクロスサイトスクリプティング(XSS)やデータ注入攻撃などの特定の攻撃を検出・軽減するための追加のセキュリティ層です。
以下は、製品やウェブサイト全体でIntercomの完全な機能を保証するためにポリシーに含めるべきディレクティブと値です。
必要なCSPディレクティブ
Intercomは厳格なCSPv3を完全にサポートしています。
Content-Security-Policy:
object-src 'none';
script-src 'nonce-{random}' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:;
base-uri 'self';
すでにこのポリシーをウェブサイトで提供している場合、変更は不要です。また、Messengerで読み込まれる一部のスクリプトにはnonce-sourceを含める必要があることにご注意ください。nonceの扱いについてはこちら
ソースの許可リスト登録
ソースの許可リスト登録を利用したい場合(例えばCSPv2やv3の機能が使えない場合)、以下の関連ディレクティブを使用してください。
script-src:
https://app.intercom.io
https://widget.intercom.io
https://js.intercomcdn.com
他のCSPディレクティブを適用している場合、Intercomが正しく機能するために以下のエントリを追加する必要があります。
注意:以下の地域別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つの別々のエントリを使用する必要があります。
注意:
上記のエントリは、アプリ内でIntercomの機能が正しく動作するために必要です。App Storeの一部の統合では、CSPに他のエントリを追加する必要がある場合があります。その場合、ブラウザの開発者コンソールにエラーメッセージが表示されます。
https://*.intercom-messenger.comおよびwss://*.intercom-messenger.comは、Intercom Messengerのリアルタイム通信のためのより広範でスケーラブルなインフラをサポートするためにconnect-srcディレクティブに追加されました。これらのワイルドカードエントリはアップグレードを支援し、Messengerが複数のリアルタイムエンドポイントに動的に接続できるようにするために必要です。
ファイアウォール
上記の多くのドメインは、Intercomが正しく機能するためにファイアウォール設定でも許可する必要があります。
重要:ファイアウォールが有効な場合、Inboxにアクセスするには、ワークスペースのホスティング地域に応じて以下のいずれかのドメインを許可リストに追加する必要があります。
app.intercom.com(米国地域)
app.eu.intercom.com(欧州地域)
app.au.intercom.com(オーストラリア地域)
