MCP용 Zero-Touch OAuth

1 hour ago 2

(blog.modelcontextprotocol.io)

  • Enterprise-Managed Authorization(EMA) 확장이 안정화되어, 기업은 MCP 서버 권한을 중앙에서 관리하고 사용자는 한 번 로그인해 허가된 서버에 접근할 수 있게 됨
  • 기존 방식은 사용자별·서버별 개별 OAuth 승인에 의존해 온보딩, 보안 정책 적용, 감사 추적, 업무·개인 계정 분리를 어렵게 만듦
  • EMA는 조직의 IdP를 권한 결정 주체로 두고, 관리자가 정책을 한 번 정의하면 사용자는 기존 조직 계정으로 필요한 MCP 연결을 상속받음
  • SSO 중 발급된 ID-JAG를 MCP 서버의 인가 서버에서 액세스 토큰으로 교환하므로, 사용자는 서버별 동의 화면으로 리다이렉트되지 않음
  • Okta, Anthropic, Visual Studio Code와 Asana·Atlassian·Canva·Figma·Granola·Linear·Supabase가 초기 지원에 포함됐고, Slack도 지원을 추가 중임

EMA 안정화와 기업 배포 목표

  • Enterprise-Managed Authorization(EMA) extensionstable 상태가 됨
  • 기업 환경에서 MCP 서버 연결을 관리할 때 반복 승인과 동의 프롬프트가 큰 불편으로 꼽혔고, EMA는 이 문제를 줄이기 위한 확장임
  • 조직은 신뢰하는 ID 공급자(IdP) 를 통해 MCP 서버 접근을 중앙에서 제어할 수 있음
  • 최종 사용자는 기존 조직 계정으로 로그인한 뒤 허가된 MCP 서버에 연결되며, 서버별 OAuth 동의나 일회성 설정 부담이 줄어듦

사용자별 인증 모델의 한계

  • 표준 MCP 권한 모델은 사용자 범위(user-scoped) 와 전통적인 대화형 인증 관례에 맞춰 설계됨
  • 개인이 자신의 데이터 접근 대상을 직접 결정하는 소비자 시나리오에는 맞을 수 있지만, 기업 배포에서는 잘 확장되지 않음
  • 기업 환경에서는 특히 세 가지 문제가 커짐
    • 직원마다 서버를 각각 승인해야 하므로 온보딩 때 서비스별 수동 연결이 필요함
    • 보안팀은 중앙 제어나 감사 추적 없이 각 사용자가 승인한 접근에 의존하게 됨
    • 회사 계정을 강제하기 어려워 사용자가 개인 계정을 업무 도구에 연결할 수 있음
  • 이런 마찰은 MCP 도입을 늦추고, 취약한 우회 구현을 만들 가능성을 높임
  • 공유 인증 상태를 보존하는 범용 표준이 없으면 구현자마다 별도 해결책을 만들게 되고, 데이터와 도구가 있어도 사용자별 권한 비용 때문에 대부분 꺼진 상태로 남을 수 있음

한 번 승인하고 어디서나 상속

  • Enterprise-Managed Authorization은 조직의 IdP를 MCP 서버 접근의 권한 결정 주체로 만듦
  • 관리자는 정책을 한 번 정의하고, 사용자는 기존 조직 ID로 MCP 호스트에 인증함
  • IdP는 그룹 멤버십, 역할, 조건부 접근 규칙에 따라 접근을 허용하거나 거부할 수 있음
  • 내부 흐름은 다음과 같음
    • 클라이언트가 SSO 중 IdP에서 Identity Assertion JWT Authorization Grant(ID-JAG)를 얻음
    • 클라이언트가 이를 MCP 서버의 인가 서버에 보내 액세스 토큰으로 교환함
    • 사용자는 서버별 동의 화면을 거치지 않음
  • 이 구조가 주는 효과는 세 가지임
    • 관리자가 조직에 서버를 활성화하면 사용자는 기존 그룹과 역할 범위 안에서 자동으로 접근함
    • 접근 결정은 IdP 관리자 콘솔에 남아, 모든 커넥터에 대해 하나의 감사 가능한 기록을 제공함
    • 대화형 계정 선택 단계를 제거해 개인 계정과 기업 계정 사이의 데이터 흐름 혼선을 줄이기 쉬워짐
  • MCP 기업 사용에서 목표는 사용자가 로그인했을 때 추가 단계 없이 허가된 도구와 데이터에 클라이언트가 연결되는 상태임

초기 지원 제품과 생태계

  • 이번 출시에는 ID 공급자, 클라이언트, 서버 세 그룹이 구현에 참여함
  • ID 공급자

    • Okta가 첫 번째 지원 ID 공급자임
    • Okta 사용 조직은 Okta’s Cross App Access(XAA)를 통해 지원 클라이언트와 서버에 MCP 접근을 프로비저닝할 수 있음
  • 클라이언트

    • Anthropic은 Claude의 공유 MCP 계층에 EMA를 구현함
    • 관리자는 Claude, Claude Code, Cowork 전반에서 사용자용 MCP 서버를 승인할 수 있음
    • Visual Studio Code도 IDE 안에 EMA 지원을 추가함
  • 서버

    • Asana, Atlassian, Canva, Figma, Granola, Linear, Supabase가 EMA를 지원함
    • Slack과 그 외 서버들도 지원을 추가 중임
    • Okta의 Aaron Parecki는 Cross App Access 프로토콜을 MCP의 EMA 확장에 내장해 identity를 중앙 거버넌스 평면으로 만들고, 보안팀에는 컴플라이언스 제어를, 사용자에게는 매끄러운 경험을 제공한다고 말함
    • Figma의 Devdatta Akhawe는 MCP 도입이 늘면서 XAA가 기업의 MCP 배포를 보안적으로 확장하기 쉽게 만든다고 말함
    • Linear의 Tom Moor는 한 번 로그인하면 모든 MCP 커넥터가 자동 설정되는 경험을 언급함

문서와 참여 채널

  • 클라이언트, 서버, identity platform은 확장 명세를 검토하고 제품에 새 표준 지원을 추가할 수 있음
  • Enterprise-Managed Authorization page는 클라이언트, 서버, 인가 서버를 위한 흐름 요구사항을 문서화함
  • ext-auth repositorydraft specification에서 EMA의 최신 변경과 지원 자료를 확인할 수 있음
  • 확장 논의, 호환성 보고, 반복 개선에는 EMA Interest Group이 사용됨
  • EMA는 MCP 커뮤니티 작업으로, SEP-990 작성자, ext-auth 저장소 유지관리자, 초기 구현을 테스트하고 명세를 진전시킨 identity 및 MCP provider가 기여함
Read Entire Article