メインコンテンツにスキップ

Messengerを介して送信するデータのセキュリティ確保

JWTと保護された属性でMessengerを通じて信頼できるデータ更新のみを許可する方法

対応者:Penny Gray

Intercomは、名前、メールアドレス、サブスクリプションレベルなどのユーザーデータをリアルタイムで送信・更新できるようにし、お客様の理解とサポートを支援します。このデータは自動化、パーソナライズされたサポート、チームメンバーのコンテキストに不可欠です。

この情報の信頼性と安全性を確保するために、Intercomはデータ更新の出所を検証するコントロールを提供しています。JSON Web Tokens (JWTs)を使用し、署名されていない更新をブロックするオプションの設定もあります。


安全でないデータのリスク

データ属性がロックされていない場合

  • 悪意のあるユーザーがIntercomに送信されるデータを偽装または改ざんする可能性があります

  • ワークスペースに不正確または操作されたユーザー情報が反映される可能性があります。

  • 重要なworkflows(ターゲットメッセージングやサポート自動化など)が信頼できない入力に基づいてトリガーされる可能性があります。


JWTでデータ属性に署名する

改ざんを防ぐために、IntercomはJSON Web Tokens (JWTs)をサポートしています。JWTを使うと、ユーザーデータに署名でき、バックエンドから送信されたことを証明し、ユーザーのブラウザからではないことを示せます。

これは以下に適用されます:

  • 名前、メール、登録日などの標準属性

  • 追加のユーザー詳細を追跡するために定義したカスタム属性

JWTを使用する場合:

  • 更新したいすべての属性を含むトークンをバックエンドで生成します。

  • 秘密鍵を使ってトークンに署名します。

  • JWTをユーザーセッションと共にIntercomに送信します。


詳細はこちら:


署名された属性更新の強制

デフォルトでは、Intercomは署名済みと未署名の両方のソース(例えばブラウザ直接やバックエンド)からの属性更新を受け入れます。データを完全に保護するには、Intercomの「Require verified updates」設定を有効にしてください。

この設定を有効にすると、Messenger経由での属性設定や更新は、JWTやREST APIなどの認証済みリクエストからでない限り無視されます。これにより、信頼できる検証済みのソースのみがIntercomのユーザーデータを変更できます。

JWTで送信する属性には、このトグルを有効にすることを推奨します。

  1. ロックしたい属性を選択してください

  2. 「Require verified updates」を有効にするトグルをオンにします

この属性更新トグルは、leadsからのボットによる直接データ収集を妨げません。このデータはユーザーから直接取得されます。

重要:これはワークスペース全体の設定です。有効にする前に、バックエンドがすべての必要な属性に署名する準備が整っていることを確認してください。


ベストプラクティス

  • メッセージング、ターゲティング、ビジネスロジックに使う重要なユーザーデータ更新はすべてJWTで署名してください

  • 属性を設定 > データ > Peopleでロックダウンしてください

  • JWTの秘密鍵をフロントエンドコードに絶対に公開しないでください

  • トークンの再利用影響を制限するために有効期限(exp)クレームを追加してください


よくある質問

属性保護とは何ですか?

Intercomに送信するusersや企業に関するすべての属性は、Messengerチャネル経由での検証済み更新を要求するトグルでロックダウンできます。属性をロックすると、安全なJWTまたはREST API経由で送信された値のみが更新可能になります。これにより、ユーザーデータの不正な更新を防ぎ、あなたからの更新のみが適用されることを保証します。

属性の状態は設定 > データ > Peopleで確認できます。MessengerをJWTで保護する方法の詳細はヘルプ記事をご覧ください。

標準属性にも適用されますか?

はい。設定 > データ > Peopleから標準属性とカスタム属性のすべてをロックダウンする必要があります。

強制が有効になった後にフロントエンドがJWTなしでデータを送信したらどうなりますか?

そのデータは無視されます。JWTが存在し有効でない限り、Intercomは更新を適用しません。

本番環境で有効にする前にJWTの強制をテストできますか?

はい。テスト用ワークスペースで実装を検証してください。

こちらの回答で解決しましたか?