byteforce

CPN 한국어 자습서 · 외부 문서 한국어 미러

MCP 문서 · Extensions

엔터프라이즈 관리형 인가

Enterprise-Managed Authorization · 원문: modelcontextprotocol.io/extensions/auth/enterprise-managed-authorization

아래는 원문을 한국어로 옮긴 미러입니다. 코드·명령은 원문 그대로이며, 가장 최신 정보는 하단 원문 링크에서 확인하세요.

ID 제공자를 통한 엔터프라이즈 환경의 MCP 중앙화 접근 제어

Enterprise-Managed Authorization 익스텐션(io.modelcontextprotocol/enterprise-managed-authorization)은 조직이 기존 ID 제공자(IdP)를 통해 MCP 서버 접근을 중앙에서 제어할 수 있게 합니다. 각 직원이 각 MCP 서버를 개별적으로 인가하는 대신, 조직의 IT 또는 보안팀이 한 곳에서 접근 정책을 관리합니다.

개요

표준 MCP 배포에서는 각 사용자가 독립적으로 MCP 클라이언트에게 각 MCP 서버에 접근할 권한을 부여합니다. 소비자 애플리케이션에서는 이 사용자 중심 모델이 이상적입니다.

엔터프라이즈 환경에서 이 모델은 마찰과 보안 격차를 만듭니다:

Enterprise-Managed Authorization은 조직의 IdP(Okta, Azure AD, 기업 SSO 시스템 등)를 권위 있는 의사 결정자로 도입하여 이 문제를 해결합니다.

사용 시기

다음 경우에 Enterprise-Managed Authorization을 사용합니다:

작동 방식

익스텐션은 엔터프라이즈 IdP가 MCP 클라이언트와 MCP 서버 사이의 중재자 역할을 하는 위임 인가 흐름을 구성합니다. MCP 클라이언트는 엔터프라이즈 IdP에서 ID-JAG(Identity Assertion JWT Authorization Grant)라는 특수 토큰을 요청합니다. 그런 다음 MCP 클라이언트는 이 ID-JAG를 MCP 서버의 인가 서버에서 액세스 토큰으로 교환합니다:

코드 · 명령
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: 사용자가 MCP 클라이언트에 로그인됨. 클라이언트가 ID 토큰 저장.

    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

흐름의 핵심 측면:

  1. 중앙화된 정책: 엔터프라이즈 IdP는 승인된 MCP 서버와 각 서버에 대한 접근 정책 레지스트리를 유지합니다. 관리자는 기존 ID 관리 도구에서 이를 구성합니다.

  2. 싱글 사인온: 직원들은 한 번 기업 자격증명으로 인증합니다. IdP가 추가 서버별 인가 프롬프트 없이 승인된 MCP 서버에 대한 접근을 허용하는 토큰을 발행합니다.

  3. 정책 적용: IdP는 토큰을 발행하기 전에 접근 정책(그룹 멤버십, 역할 할당, 조건부 접근 규칙)을 평가합니다. 인가되지 않은 직원은 적절한 오류를 받으며, MCP 클라이언트는 미인가 서버에 대한 토큰을 받지 않습니다.

  4. 중앙화된 취소: 직원의 MCP 서버 접근 취소는 IdP 수준에서 이루어지며, 모든 MCP 클라이언트에 즉시 적용됩니다.

구현 가이드

MCP 클라이언트 구현

  1. initialize 요청에서 지원 선언:
코드 · 명령
{
  "capabilities": {
    "extensions": {
      "io.modelcontextprotocol/enterprise-managed-authorization": {}
    }
  }
}
  1. SSO 지원 — 사용자가 엔터프라이즈 IdP를 통해 MCP 클라이언트에 인증합니다. 로그인 중 발행된 ID Assertion(OpenID ID 토큰 또는 SAML assertion)을 저장하세요.

  2. ID-JAG 처리 — 서버가 엔터프라이즈 관리형 인증이 필요하다고 표시하면, 이전에 획득한 ID Assertion을 사용하여 엔터프라이즈 IdP의 인가 엔드포인트에서 ID-JAG 토큰을 요청합니다. 이 ID-JAG를 MCP 인가 서버에서 액세스 토큰으로 교환합니다.

  3. 조직 구성 지원 — 관리자가 사용자별 설정이 아닌 조직 수준 설정에서 엔터프라이즈 IdP 엔드포인트를 구성할 수 있도록 허용합니다.

  4. 스코프 오류 처리 — 엔터프라이즈 IdP가 발행한 토큰은 표준 MCP 인가와 다른 스코프 제한이 있을 수 있습니다. 스코프 오류를 적절하게 처리하세요.

MCP 서버 구현

  1. 서버의 인가 메타데이터에 익스텐션을 선언하여 클라이언트가 엔터프라이즈 관리형 흐름을 사용해야 함을 나타냅니다.

  2. IdP 관리 API와 통합(선택 사항) — 엔터프라이즈 관리자가 IdP 관리 콘솔에서 접근 정책을 구성할 수 있도록 서버의 리소스 설명자를 게시합니다.

MCP 인가 서버 구현

  1. IdP의 JWKS 엔드포인트를 통해 엔터프라이즈 IdP가 발행한 ID-JAG를 검증합니다.

  2. IdP 클레임을 권한에 매핑합니다 — ID-JAG 토큰에는 직원 신원과 접근 가능한 항목을 결정하는 클레임(스코프, 리소스 정보)이 포함됩니다.

  3. 계정 연결 처리 — ID-JAG 토큰에는 항상 subject 클레임이 포함되며, 계정 연결에 사용할 수 있는 email 클레임이 추가로 포함될 수 있습니다.

클라이언트 지원

참고: 이 익스텐션에 대한 지원은 클라이언트마다 다릅니다. 익스텐션은 옵트인 방식이며 기본적으로 활성화되지 않습니다.

현재 MCP 클라이언트의 구현 현황은 클라이언트 매트릭스를 확인하세요. Enterprise-Managed Authorization은 일반적으로 MCP 클라이언트 애플리케이션 외에 조직의 IT 팀의 클라이언트 수준 지원이 필요합니다.

원문(영어): https://modelcontextprotocol.io/extensions/auth/enterprise-managed-authorization · 본 문서는 학습용 한국어 번역이며 원본의 권리는 원저작자(Model Context Protocol)에게 있습니다.

원문(영어): https://modelcontextprotocol.io/extensions/auth/enterprise-managed-authorization