ES /docs

Excon::Error::Forbidden: Expected(200) <=> Actual(403 Forbidden) excon.error.response :body => "<?xml version=\"1.0\" en

Service
cupixworks-api
Occurrences
158
Status
Reported
Confidence
85%
Actionability
28%
Cluster ID
0b3cfc31-4198-4bad-9673-bceb36d904cf
First Seen
2024-09-18 05:58 UTC
Last Seen
2026-08-05 01:42 UTC
Actions

Excon::Error::Forbidden: Expected(200) <=> Actual(403 Forbidden) excon.error.response :body => "<?xml version="1.0" en

What Happened#

cupixworks-api (실제 앱 = tesla) 가 CarrierWave 를 통해 pointcloud 썸네일을 S3 cupix-tesla-static 버킷의 tmp/cache 경로로 PUT 업로드할 때, S3 가 403 Forbidden(SignatureDoesNotMatch 및 소수의 InvalidAccessKeyId)를 반환한다. 실패는 항상 전역 CarrierWave 설정(config/initializers/carrierwave.rb)이 사용하는 access key AKIAQBGWD5FH5URQYYOO 로 서명된 요청에서 발생하며, production 환경 다수 테넌트(walmart, gilbaneco, pclconstruction, accoes, tpc 등)에 걸쳐 결정론적으로 재현된다. 코드 결함이 아니라 전역 fog credential 이 stale/rotated/deactivated 되어 서명이 맞지 않는 credential 문제다.

Quick Facts#

Field Value
exception.class Excon::Error::Forbidden
exception.message Expected(200) <=> Actual(403 Forbidden) — S3 <Code>SignatureDoesNotMatch</Code> (일부 InvalidAccessKeyId)
top_frame config/initializers/carrierwave.rb:3-8 (전역 config.fog_credentials)
runtime fog-aws → Excon (CarrierWave storage :fog cache/store)
env production, us-west-2
AWSAccessKeyId AKIAQBGWD5FH5URQYYOO

Affected Teams#

Team / Domain Error Count Impact
cupixworks-api (tesla) — thumbnail upload 14d 기준 365 spans (SignatureDoesNotMatch 330 + InvalidAccessKeyId 35) pointcloud 썸네일 업로드가 조용히 실패 (사용자에게 500 노출 없음 — 아래 Impact 참조)

Timeline#

  1. 2024-09-18 14:58 KST — 최초 발생 (first_seen). Representative sample 의 StringToSign 날짜 20240918 와 일치.
  2. 2024-09-18 ~ 2026-08-04 — ~23개월간 지속 재발, 149건 집계. 전역 credential AKIAQBGWD5FH5URQYYOO 로 서명한 PUT 이 계속 거부됨.
  3. 2026-08-04 11:27 KST — 최근 발생 (last_seen). APM span 타임스탬프 2026-08-04T02:27:46Z (UTC) 와 정확히 일치 → representative 는 stale 아님.

Scoring#

Confidence 85% · Actionability 28%

Confidence#

Dimension Score Detail
Evidence completeness 5/5 30 code refs, 7 log queries
Code path explicitness 3/3 30 file:line refs
Log evidence 2/3 section, query
RCA structure 3/3 3/3 sections
Revision history 1/3 1 revision(s)
Agent execution 3/3 success

Actionability#

Dimension Score Detail
Fix complexity 1/5 critical
Affected files 1/5 21 file(s)
Single repo 1/3 3 service(s)
Immediate actions 0/3 absent
Testability 0/3 no test info
External dependency 1/3 external deps found
Data migration 3/3 no migration