엔터프라이즈 관리 인가
엔터프라이즈 관리 인가 (Enterprise-Managed Authorization)
Enterprise-Managed Authorization 익스텐션(io.modelcontextprotocol/enterprise-managed-authorization)은 조직이 기존 신원 공급자(IdP)를 통해 MCP 서버 접근을 중앙에서 제어하게 해줘요. 각 직원이 각 MCP 서버를 개별적으로 인가하는 대신, 조직의 IT·보안 팀이 접근 정책을 한 곳에서 관리해요.
무엇인가
표준 MCP 배포에서는 각 사용자가 MCP 클라이언트에 각 MCP 서버 접근을 독립적으로 인가해요. 소비자 앱에서는 이 사용자 주도 모델이 이상적이에요. 개인이 자기 데이터에 어떤 게 접근하는지 통제할 수 있으니까요.
엔터프라이즈 환경에서는 이 모델이 마찰과 보안 간극을 만들어요.
- 직원들이 조직이 쓰는 모든 MCP 서버의 인가 상세를 이해할 필요가 없어야 해요
- 각 사용자가 독립적으로 인가하면 보안 팀이 일관된 접근 정책을 적용할 수 없어요
- 신입 직원 온보딩은 수십 개 서비스를 수동으로 인가하게 해요
- 퇴사 처리는 모든 서비스에서 개별적으로 접근을 취소해야 해요
Enterprise-Managed Authorization은 조직의 IdP를 권위 있는 결정자로 도입해 이 문제를 풀어요. IdP(Okta, Azure AD, 또는 기업 SSO 시스템 등)는 직원이 어떤 MCP 서버에, 어떤 조건으로 접근할 수 있는지 통제해요. 직원은 이메일, Slack, 기타 업무 도구에 쓰는 바로 그 자격 증명인 회사 신원으로 인증하고, IdP가 조직 정책에 따라 MCP 서버 접근을 허용하거나 거부해요.
언제 쓸까
다음 때 Enterprise-Managed Authorization을 쓰세요.
- 기업 환경에 MCP 배포 — IT가 모든 업무 애플리케이션 접근을 관리할 때
- 조직 접근 정책 적용 — 승인된 직원만 특정 MCP 서버에 접근하게 해야 할 때
- 접근 제어 중앙화 — 단일 관리 콘솔에서 MCP 서버 접근을 추가·취소하고 싶을 때
- 규정 준수 요구 충족 — 모든 MCP 서버 접근에 감사 가능한 인가 기록이 필요할 때
- 직원 경험 단순화 — 직원들이 서비스별 인가 흐름 없이 기존 기업 SSO 자격 증명으로 MCP 도구에 접근해야 할 때
어떻게 동작하는가
익스텐션은 엔터프라이즈 IdP가 MCP 클라이언트와 MCP 서버 사이의 중개자로 작용하는 위임 인가 흐름을 세워요. MCP 클라이언트는 엔터프라이즈 IdP에 Identity Assertion JWT Authorization Grant, 줄여서 ID-JAG라는 특수한 토큰을 요청해요. 그런 다음 MCP 클라이언트는 MCP 서버의 Authorization Server에 그 ID-JAG를 접근 토큰으로 교환해요.
sequenceDiagram
participant UA as Browser
participant C as MCP Client
participant IdP as Enterprise IdP
participant MAS as MCP Authorization Server
participant MRS as MCP Resource Server
C-->>UA: Redirect to IdP
UA->>IdP: Redirect to IdP
Note over IdP: User Logs In
IdP-->>UA: IdP Authorization Code
UA->>C: IdP Authorization Code
C->>IdP: Token Request with IdP Authorization Code
IdP-->>C: ID Token
note over C: User is logged<br/>in to MCP Client.<br/>Client stores ID Token.
C->>IdP: Exchange ID Token for ID-JAG
note over IdP: Evaluate Policy
IdP-->>C: Responds with ID-JAG
C->>MAS: Token Request with ID-JAG
note over MAS: Validate ID-JAG
MAS-->>C: MCP Access Token
loop
C->>MRS: Call MCP API with Access Token
MRS-->>C: MCP Response with Data
end
흐름의 핵심 측면:
-
중앙 정책: 엔터프라이즈 IdP가 승인된 MCP 서버 레지스트리와 각 서버의 접근 정책을 유지해요. 관리자는 기존 신원 관리 도구에서 이를 구성해요.
-
단일 로그인: 직원은 기업 자격 증명으로 한 번 인증해요. IdP는 추가 서버별 인가 프롬프트 없이 승인된 MCP 서버에 접근을 부여하는 토큰을 발급해요.
-
정책 적용: IdP는 토큰 발급 전에 접근 정책(그룹 멤버십, 역할 배정, 조건부 접근 규칙)을 평가해요. 인가되지 않은 직원은 적절한 오류를 받아요. MCP 클라이언트는 승인되지 않은 서버에 대한 토큰을 절대 받지 못해요.
-
중앙 취소: 직원의 MCP 서버 접근 취소가 IdP 수준에서 일어나 모든 MCP 클라이언트에 즉시 적용돼요. 클라이언트별·서버별 취소가 필요 없어요.
구현 가이드
MCP 클라이언트용
Enterprise-Managed Authorization을 지원하려면 클라이언트는:
- 지원 선언 — 요청별 capabilities에서:
{
"jsonrpc": "2.0",
"id": 1,
"method": "...",
"params": {
// Other fields...
"_meta": {
// Other fields...
"io.modelcontextprotocol/clientCapabilities": {
"extensions": {
"io.modelcontextprotocol/enterprise-managed-authorization": {},
},
},
},
},
}
-
SSO 지원 — 사용자가 엔터프라이즈 IdP로 MCP 클라이언트에 인증하게. 로그인 중 발급된 Identity Assertion(OpenID ID Token 또는 SAML assertion)을 나중에 쓸 수 있게 저장.
-
ID-JAG 처리 — 서버가 엔터프라이즈 관리 인증을 요구한다고 나타내면, 앞서 얻은 Identity Assertion을 사용해 엔터프라이즈 IdP의 인가 엔드포인트에서 ID-JAG 토큰을 요청. 이 ID-JAG를 MCP Authorization Server의 접근 토큰으로 교환. 사용자를 MCP Authorization Server의 인가 엔드포인트로 리다이렉트하지 말 것.
-
조직 설정 지원 — 관리자가 엔터프라이즈 IdP의 엔드포인트를 구성하게. 보통 사용자별 설정보다 조직 수준 설정으로.
-
토큰 스코프 존중 — 엔터프라이즈 IdP가 발급한 토큰은 표준 MCP 인가와 다른 스코프 제한을 가질 수 있어요. 스코프 오류를 우아하게 처리.
MCP 서버용
엔터프라이즈 관리 인가를 요구하려면:
-
익스텐션 선언 — 서버의 인가 메타데이터에, 클라이언트가 엔터프라이즈 관리 흐름을 사용해야 한다고 나타내는.
-
IdP 관리 API 통합 (선택) — 엔터프라이즈 관리자가 IdP 관리 콘솔에서 접근 정책을 구성할 수 있도록 서버의 리소스 디스크립터를 게시.
MCP Authorization Server용
-
ID-JAG 검증 — 엔터프라이즈 IdP가 발급한 ID-JAG을 검증. 보통 JWT 서명을 IdP의 JWKS 엔드포인트에 대해 검증하고 토큰의 audience·issuer·만료를 확인.
-
IdP 클레임을 권한에 매핑 — ID-JAG 토큰은 서버가 직원이 누구이며 무엇에 접근 가능한지 결정하는 데 쓰는 클레임(스코프와 리소스 정보)을 지녀요. 이 클레임에 기반해 인가 로직을 정의.
-
계정 연결 처리 — ID-JAG 토큰은 항상 subject 클레임을 포함하고 이메일 클레임을 추가로 포함할 수 있어요. 이 클레임으로 엔터프라이즈 신원을 시스템의 기존 계정에 연결할 수 있어요. subject 클레임을 사용자의 기본 안정 식별자로 쓰고, 엔터프라이즈 관리 인가 구성 전에 만들어진 기존 계정과의 매칭에는 이메일 클레임으로 폴백하세요.
클라이언트 지원
이 익스텐션의 지원은 클라이언트마다 달라요. 익스텐션은 옵트인이며 기본으로 활성화되지 않아요.
MCP 클라이언트 전반의 현재 구현 상태는 client matrix에서 확인하세요. Enterprise-Managed Authorization은 보통 MCP 클라이언트 앱 외에도 조직의 IT 팀의 클라이언트 수준 지원이 필요해요.
관련 리소스
- ext-auth 저장소 — 소스 코드와 레퍼런스 구현
- 전체 명세 — 규범적 요구사항이 있는 기술 명세
- SEP-990 — 원안: Enable Enterprise IdP Policy Controls
- MCP Authorization — 핵심 MCP 인가 명세
더 알아보기 (Learn more)
- MCP 공식 문서 — Enterprise-Managed Authorization
- MCP 공식 문서 — Authorization Extensions
- MCP 공식 문서 — OAuth Client Credentials