위치:
API(OAuth 설정 활성화): 보안 토큰 교환 플로
이 제어는 클라이언트 응용 프로그램이 타사 토큰을 Salesforce 액세스 토큰과 교환할 때 암호를 제공해야 하는지 여부를 결정합니다.
제어 이름
연결된 앱: API(OAuth 설정 활성화): 보안 토큰 교환 플로
권장 구성
토큰 교환 플로를 활성화합니다. 토큰 교환 플로에 암호 필요 안 함으로 설정합니다.
제어 개요
이 제어는 Salesforce 액세스 토큰과 타사 토큰(외부 ID 공급자의 ID 토큰 등)을 교환할 때 클라이언트 응용 프로그램이 암호를 제공해야 하는지 여부를 결정하며, 특히 공용 클라이언트가 자격 증명을 안전하게 저장할 수 없는 경우 이 요구 사항을 우회할 수 있도록 합니다.
구성되지 않은 경우 보안 위험
공개 클라이언트에 암호가 잘못 필요한 경우 개발자가 중요한 자격 증명을 수집할 수 있는 프런트엔드 코드로 하드 코딩해야 합니다. 반대로 비공개 클라이언트에 대한 요구 사항을 부여하지 않으면 권한이 없는 서버가 ID를 증명하지 않고 교환을 수행할 수 있습니다.
위협 시나리오
공격자는 공용 모바일 앱의 이진에서 하드 코딩된 클라이언트 암호를 추출하거나 외부 ID 토큰을 가로채고 요청을 확인하기 위해 끝점에 백엔드 암호가 필요하지 않으므로 Salesforce 세션에 대해 이를 성공적으로 "거래"합니다.
예상 CVSS 점수 범위
중요(9.0~10.0)
위험 영향 고려 사항
이 설정을 잘못 구성하면 클라이언트 자격 증명이 체계적으로 노출되거나 "토큰 점프"가 활성화됩니다. 여기서 손상된 외부 ID가 영구 Salesforce 액세스로 쉽게 변환됩니다.
고위험 시점
토큰 교환 처리기는 수신하는 신뢰할 수 없는 토큰만을 기반으로 광범위한 권한을 가진 새 사용자를 만드는 광범위한 "자동 프로비저닝" 논리로 구성됩니다.
낮은 위험 시기
공개 클라이언트는 PKCE(코드 교환용 증명 키)를 보조 유효성 검사 계층으로 사용하고 토큰 교환 처리기가 수신 토큰의 "발급자" 및 " 대상" 클레임을 엄격하게 확인하는 경우
비즈니스 및 통합 고려 사항
이를 구현하려면 보안 정책이 호출 환경(브라우저와 서버)의 기술적 제한 사항에 부합하는지 확인하기 위해 교환되는 "주체" 및 "작업자" 토큰의 명확한 목록이 필요합니다.
권장 수정
암호 누출을 방지하려면 "토큰 교환 플로에 암호 필요"를 선택 취소합니다.
보안 상태 검토 지침
보안 상태 검토는 토큰 교환의 보안이 거래를 요청하는 클라이언트의 확인만큼 강력하다는 점을 강조하여 중요한 "ID 브라이딩" 제어로 식별합니다.

