セキュリティに関する考慮事項
アウトバウンドメッセージを使用するには、次のような対応を行って、Salesforce からの送信であるかのように見せかけたメッセージが第三者からエンドポイントに送信されることのないようにします。
- クライアントアプリケーションのリスナーを、Salesforce IP 範囲からの要求のみを受け入れるようロックダウンします。これにより、Salesforce からメッセージが送信されることが保証されます。ただし、別の顧客が誤ったエンドポイントをポイントしてメッセージを送信することを回避できるものではありません。Salesforce IP 範囲の最新のリストは、https://help.salesforce.com/articleView?id=000321501&type=1&mode=1 を参照してください。
- SSL/TLS を使用します。SSL/TLS を使用すると、データがインターネットで転送される間の機密保持を可能にします。SSL/TLS を使用しない場合、悪意のある第三者によってデータが侵害される危険性が生じます。この問題は、データの送信において個人情報保護が必要であり、メッセージで SessionId を渡す場合に特に重要です。また、接続の証明書を認証し、その証明書が有効な認証期間から発行されていることを確認し、証明書のドメインと Salesforce が接続しようとしているドメインと一致していることを確認します。この確認により、不正なエンドポイントとの通信を回避できます。
- [送信セッション ID] を選択する場合、セッション ID の安全な送信を確保するためにエンドポイント URL では HTTPS のみがサポートされます。Spring '19 より前に HTTPS エンドポイントを使用せずにこのオプションで作成された管理パッケージおよび未管理パッケージでも、登録者はインストールできます。Spring '19 以降、安全でないアウトバウンドメッセージオプションでパッケージを作成することはできません。
- アウトバウンドメッセージに含まれる SessionId の範囲は API 要求のみであり、UI 要求には適用されません。
- アプリケーション (エンドポイント) サーバの SSL/TLS 設定が可能な場合、サーバへのクライアントのロールを取得する際に、Salesforce クライアント証明書を使用して、Salesforce サーバの ID を検証します。証明書のダウンロードの詳細は、「Salesforce クライアント証明書のダウンロード」を参照してください。
- 組織 Id が各メッセージに記載されています。ID データ型の詳細は、「ID データ型」を参照してください。クライアントアプリケーションで、メッセージに組織 Id が記載されていることを確認します。