詳細情報:
API (OAuth 設定の有効化): セキュアなトークン交換フロー制御
このコントロールは、クライアントアプリケーションがサードパーティトークンを Salesforce アクセストークンと交換するときに秘密を提供する必要があるかどうかを決定します。
コントロール名
接続アプリケーション: API (OAuth 設定の有効化): Secure Token Exchange フロー
推奨設定
トークン交換フローを有効にします。[トークン交換フローの秘密を要求しない] に設定します。
制御の概要
この制御により、クライアントアプリケーションがサードパーティトークン (外部 ID プロバイダーの ID トークンなど) を Salesforce アクセストークンと交換するときに秘密を提供する必要があるかどうかが決まります。特に、公開クライアントがログイン情報を安全に保存できない場合、この要件をスキップできます。
設定されていない場合のセキュリティリスク
公開クライアントで秘密が誤って要求されると、開発者は機密のログイン情報をフロントエンドコードにハードコードし、収集できるようにする必要があります。逆に、非公開クライアントで要求しないと、未承認のサーバーが ID を証明せずに交換を実行できます。
脅威のシナリオ
攻撃者は、公開モバイルアプリケーションのバイナリからハードコードされたクライアントの秘密を抽出するか、外部 ID トークンを傍受して Salesforce セッションに「取引」します。これは、エンドポイントが要求を検証するためにバックエンドの秘密を必要としなかったためです。
推定 CVSS スコア範囲
重大 (9.0 ~ 10.0)。
リスクの影響に関する考慮事項
この設定を誤ると、クライアントログイン情報がシステム的に公開されるか、侵害された外部 ID が簡単に永続的な Salesforce アクセスに変換される「トークンジャンプ」が有効になります。
より高いリスク
トークン交換ハンドラーは、受信した信頼できないトークンのみに基づいて広範な権限を持つ新規ユーザーを作成する広範な「自動プロビジョニング」ロジックで設定されます。
低リスク
公開クライアントは、トークン交換ハンドラーが受信トークンの「発行者」および「利用者」クレームを厳密に検証するときに、PKCE (Proof Key for Code Exchange) をセカンダリ検証レイヤーとして使用します。
ビジネスと統合に関する考慮事項
これを実装するには、セキュリティポリシーがコール環境の技術的な制限 (ブラウザーとサーバーの比較) に従っていることを確認するために、交換される「Subject」トークンと「Actor」トークンの明確なインベントリが必要です。
推奨される修復
[トークン交換フローの秘密が必要] をオフにして、秘密の漏洩を防止します。
Security Health Review Guidance (セキュリティ状態レビューガイダンス)
Security Health Review (セキュリティ状態レビュー) では、これは重要な「Identity Bridging (ID ブリッジング)」制御として識別され、トークン交換のセキュリティは取引を要求するクライアントの検証によってのみ強化されます。

