피드로 돌아가기
The Misleading "User is not authorized to access connection" Error in AWS CodeBuild — and Why Your IAM Policy Looks Fine
Dev.toDev.to
DevOps

CodeBuild OAuthProviderException 해결을 위한 IAM Policy 정밀 설계 전략

The Misleading "User is not authorized to access connection" Error in AWS CodeBuild — and Why Your IAM Policy Looks Fine

Morgan Wowk2026년 5월 24일6intermediate

Context

AWS CodeBuild가 CodeConnections를 통해 GitHub 소스를 가져올 때 발생하는 권한 오류의 원인 분석. 에러 메시지의 'User'가 호출자가 아닌 CodeBuild Service Role을 지칭하여 디버깅 혼선을 초래하는 구조적 한계 존재.

Technical Solution

  • Service Role 중심의 권한 검토를 통한 주체 식별 오류 해결
  • 문서화되지 않은 GetConnectionToken 권한 추가로 API 호출 요구사항 충족
  • ListConnections 등 Resource-level scoping 미지원 액션을 위한 resources: ["*"] 분리 설계
  • 서비스 명칭 변경에 따른 codestar-connections와 codeconnections 접두사 동시 적용으로 SDK 호환성 확보
  • IAM Eventual Consistency로 인한 Race Condition 방지를 위해 IAM 정책과 프로젝트 리소스를 별도 스택으로 분리 배포

- OAuthProviderException 발생 시 호출자가 아닌 CodeBuild Service Role 권한 우선 확인 - UseConnection과 GetConnectionToken 권한이 쌍으로 구성되었는지 검토 - List 계열 액션에 특정 ARN을 지정하여 Silent Deny가 발생하는지 확인 - 서비스 리네임 이력이 있는 경우 구/신 접두사 권한을 모두 포함하여 설정 - IaC 배포 시 권한 전파 지연을 고려하여 IAM 스택을 리소스 스택보다 선행 배치

원문 읽기