MCP OAuth 2.1 토큰 브로커 실전 가이드: 에이전트 권한분리 아키텍처 (2026)
MCP 서버를 운영할 때 가장 많이 터지는 인증·권한 이슈를 OAuth 2.1 토큰 브로커 패턴으로 정리했습니다. 비용·구현난이도·보안강도를 비교하고, 2주 내 도입 가능한 절차를 제공합니다.
1) 문제 정의
대상 독자는 사내 MCP 서버를 운영하거나, AI 에이전트를 SaaS/내부 시스템에 연결하려는 백엔드·플랫폼 엔지니어입니다. 실제 운영에서 가장 자주 발생하는 문제는 장기 API 키 노출, 에이전트 권한 과다 부여, 감사로그 부재입니다.
이 글은 MCP 연동 구간에서 OAuth 2.1 기반 토큰 브로커를 도입해 권한을 분리하는 방법을 다룹니다. 범위는 서버-서버/사용자 위임 혼합 시나리오이며, 모바일 퍼스트 로그인 UX 최적화나 IdP 제품 선택 자체는 제외합니다.
2) 근거 및 비교
| 접근 | 초기 비용 | 운영 복잡도 | 보안 강도 | 권장 상황 |
|---|---|---|---|---|
| 정적 API Key 공유 | 낮음 | 낮음 | 낮음 | 개인 실험, 폐쇄망 PoC |
| 서비스 계정 단일 토큰 | 중간 | 중간 | 중간 | 소규모 내부 자동화 |
| OAuth 2.1 토큰 브로커 + 세분 스코프 | 중간~높음 | 중간~높음 | 높음 | 팀/고객 데이터가 섞이는 프로덕션 |
OAuth 2.1 BCP는 Implicit/Password grant 제거, PKCE 기본화 등 "안전한 기본값"을 요구합니다. 여기에 MCP의 도구 호출 특성을 결합하면, 에이전트가 직접 장기 키를 보유하지 않고 짧은 만료 토큰 + 최소 스코프로 호출하도록 설계하는 것이 합리적입니다.
3) 단계별 실행 방법
Step 1. 권한 경계 정의 (반나절)
도구를 읽기/쓰기/관리 3단계로 나누고 스코프를 분리합니다. 예: docs.read, docs.write, admin.rotate_keys.
Step 2. 토큰 브로커 배치 (1일)
MCP 서버 앞단에 브로커 API를 두고, 브로커만 IdP와 통신하게 만듭니다. 에이전트는 브로커에 단기 토큰 발급 요청만 수행합니다.
Step 3. 토큰 정책 설정 (반나절)
Access Token TTL 5~15분, Refresh Token 회전(1회성), audience 고정, 발급시 jti 기록을 기본값으로 둡니다.
Step 4. 도구별 정책 강제 (1일)
MCP tool registry에 스코프 매핑을 강제합니다. 예: tool=export_finance_csv는 finance.export 없으면 403 반환.
Step 5. 운영 검증 (2~3일)
침해 가정 리허설(토큰 탈취/재사용/권한상승) 3종을 수행하고, 탐지 시간(MTTD)·차단 시간(MTTR)을 계측합니다.
예시 정책(요약)
{
"tool": "crm.update_contact",
"required_scopes": ["crm.write"],
"token_ttl_sec": 600,
"aud": "mcp-gateway",
"deny_if_user_context_missing": true
}
4) 실수/함정(Pitfalls)
- 함정 1: 스코프를 "*"로 시작 — 예방: 초기부터 최소 권한 템플릿(읽기/쓰기/관리)으로 분리하고, 신규 도구는 기본 거부(deny-by-default) 정책을 적용합니다.
- 함정 2: 토큰 TTL을 길게 설정 — 예방: 내부망이라도 15분 이내를 기본으로 두고, 실패 시 자동 재발급 로직으로 UX를 보완합니다.
- 함정 3: 감사로그에 사용자/에이전트 구분 없음 — 복구:
sub,act(actor),tool,scope,jti를 한 이벤트로 남겨 추적 가능성을 확보합니다.
5) 실행 체크리스트
- 도구별 required scope가 문서와 코드에 동일하게 반영되었는가?
- Access Token TTL이 15분 이하로 설정되었는가?
- Refresh Token 회전/폐기 정책이 활성화되었는가?
- 토큰 audience와 issuer 검증이 모든 API 게이트웨이에서 강제되는가?
- 403/401 로그에서 tool·scope·actor를 확인할 수 있는가?
- 권한상승 시도(없는 scope) 테스트가 CI 보안 테스트에 포함되었는가?
Definition of Done: 2주 파일럿 기간 동안 "과다권한 호출 0건"과 "토큰 재사용 공격 차단율 100%"를 충족하면 운영 전환 완료로 본다.
6) 참고자료
- IETF OAuth 2.1 Draft (확인일: 2026-02-25)
- RFC 9700: OAuth 2.0 Security Best Current Practice (확인일: 2026-02-25)
- Model Context Protocol Specification (2025-06-18) (확인일: 2026-02-25)
- OWASP OAuth 2.0 Cheat Sheet (확인일: 2026-02-25)
- Auth0 Docs: Refresh Token Rotation (확인일: 2026-02-25)
7) 작성자 관점(Author Viewpoint)
제 추천은 명확합니다. 프로덕션 MCP 환경에서는 정적 키 공유를 끝내고 토큰 브로커 패턴으로 전환해야 합니다. 초기 구현비가 늘더라도, 사고 대응 비용(보안 사고·감사 대응·고객 신뢰 훼손) 대비 기대손실을 크게 줄입니다.
비추천은 "내부망이니까 안전하다"는 가정입니다. 예외적으로 완전 분리된 단기 PoC는 서비스 계정 단일 토큰으로 시작할 수 있지만, 고객 데이터나 다부서 접근이 시작되는 순간 OAuth 2.1 최소권한 모델로 전환해야 합니다.
공유하기
관련 글

우리은행 AI 에이전트 뱅킹 실전 해석: 175개 에이전트를 금융 현장에 넣을 때 먼저 설계해야 할 운영 기준
우리은행의 AI 에이전트 뱅킹 추진은 금융권이 답변형 AI를 넘어 실행형 업무 오케스트레이션 단계로 이동하고 있음을 보여줍니다. 175개 이상의 에이전트를 실제 운영 체계로 전환할 때 필요한 권한 설계, 로그, 승인 흐름, 롤백 기준을 실무 관점에서 정리했습니다.

넷플릭스 VOID 실전 도입 가이드: 영상 객체 제거를 넘어 물리 상호작용까지 지우는 오픈소스 모델, 언제 써야 하나
넷플릭스의 오픈소스 VOID는 영상에서 객체만 지우는 것이 아니라, 그 객체가 남긴 물리적 영향까지 다시 생성하려는 모델입니다. 개발팀이 기존 인페인팅·SaaS와 비교해 언제 검토해야 하는지 실무 기준으로 정리했습니다.
AWS Trainium + Cerebras 하이브리드 추론 가이드 2026
AWS Trainium과 Cerebras를 함께 볼 때 어떤 추론 워크로드에 유리한지, 비용·속도·운영 관점에서 바로 판단할 수 있게 정리한 실전 가이드입니다.
AQ 테스트 해보기
지금 내 AI 활용 능력이 어느 수준인지 3분 안에 확인해보세요. 인지력, 활용력, 검증력, 통합력, 윤리감을 한 번에 진단하고 맞춤형 인사이트를 받아볼 수 있습니다.
무료 AQ 테스트 시작하기