동의 화면이 사라진 첫 로그인

2026년 6월 18일 MCP 블로그는 Enterprise-Managed Authorization(EMA) 확장을 stable로 발표했습니다. 조직이 Okta 같은 IdP에서 정책을 한 번 정의해 두면, 사용자는 첫 로그인 시점에 조직이 연결해 둔 MCP 서버 묶음을 그대로 받고 서버별 OAuth 동의 화면을 한 번도 거치지 않습니다. Asana를 처음 붙이든 Figma를 열 번째로 붙이든 클릭 승인이 없다는 뜻이며, 온보딩에서 반복되던 팝업 승인 마찰이 통째로 제거됩니다.

ID-JAG와 Okta XAA가 토큰을 교환하는 방식

동의 화면이 하던 인가 절차는 SSO 흐름 안으로 들어갔습니다. 사용자가 SSO로 로그인하면 클라이언트는 Identity Assertion JWT Authorization Grant(ID-JAG)를 받고, 이 어서션을 각 MCP 서버의 액세스 토큰으로 교환합니다. 이 교환을 규정하는 Okta의 XAA(Cross App Access) 프로토콜이 MCP 인가 스펙에 내장되면서, 서버마다 별도 동의를 받던 자리를 IdP가 발급하는 어서션 한 장이 대신합니다.

초기 지원 범위와 맞바꾼 대가

초기 지원은 IdP 측 Okta, 클라이언트 측 Anthropic Claude 제품군과 VS Code, 서버 측 Asana·Atlassian·Canva·Figma·Linear·Supabase 등으로 시작합니다. 엔터프라이즈 납품 팀 입장에서 온보딩 마찰이 사라진 대가는 분명합니다. 접근을 켜고 끄는 판단이 전부 IdP 정책 한 곳으로 모이면서, IdP 그룹·역할 설계가 곧 접근 통제의 단일 실패 지점이 됩니다.

IdP 단일 지점 시대의 운영 설계: 정책부터 회수 리허설까지

(a) 기획·목표 수치: EMA를 켜기 전에 무엇을 재는지부터 정합니다. 서버×그룹 정책 커버리지는 매트릭스로 관리하며 승인된 조합 대비 미정의 셀 0건을 출발선으로 둡니다. 접근 회수 리드타임은 퇴사·이동 티켓 발생부터 에이전트 접근 차단까지의 시간으로 정의하고 24시간 이내, 민감 서버는 1시간 이내를 목표로 잡습니다. 미승인 서버 연결 시도 건수는 주간 추세로 보되 신규 서버 정책 누락의 조기 경보로 씁니다.

커버리지 매트릭스가 없으면 "일단 다 연결"의 유혹이 커집니다. 서버 6종과 그룹 수십 개의 교차표를 먼저 그려 두면, 새 서버가 편입될 때 채워야 할 셀이 눈에 보이고 정책 공백이 대시보드에서 드러납니다.

(b) 실패 패턴 세 가지: 첫째, IdP 그룹·역할이 정리되지 않은 채 서버를 일괄 연결하는 경우입니다. 마케팅 그룹에 Supabase가 딸려 들어가도 동의 화면이 없어 아무도 눈치채지 못합니다. 둘째, 퇴사·이동 시 에이전트 접근 회수가 누락되는 경우로, 계정은 비활성화됐는데 발급된 액세스 토큰이 만료 전까지 살아 있으면 회수 리드타임 지표가 무너집니다. 셋째, 서버별 동의 화면이 수행하던 최소 고지 기능이 사라져 사용자가 어떤 도구에 어떤 범위로 접근이 열렸는지 인지하지 못하는 경우입니다.

(b') 복구 분기: 잘못 연결된 조합은 서버를 끄는 것이 아니라 IdP 정책의 그룹 배정을 수정해 되돌립니다. 회수는 IdP에서 그룹·역할을 떼는 것과 서버 측 토큰 무효화를 함께 걸어야 하며, 토큰 수명이 길수록 능동적 revocation 경로를 명시적으로 확보해 둡니다. 최소 고지 소실은 첫 연결 시 어떤 서버가 어떤 범위로 붙었는지 사용자에게 요약 통지하는 별도 안내로 보완합니다.

(c) 운영 체크리스트: 서버 등록은 그룹 배정 검토 → 스코프 확인 → 파일럿 그룹 우선 연결 → 전체 확산 순으로 진행하고, 각 서버 편입 시 커버리지 매트릭스에 승인 셀을 명시합니다. 로그에는 사용자·그룹·서버·발급된 ID-JAG 식별자·토큰 교환 시각·회수 이벤트를 필수 필드로 남겨야 접근 이력을 재구성하고 감사에 대응할 수 있습니다. 미승인 서버 연결 시도는 별도 알림으로 분리해 신규 서버 정책 누락을 즉시 감지합니다.

(d) 회수 리허설과 개선 루프: 분기마다 가상의 퇴사·역할 이동 케이스로 회수 리허설을 돌려 리드타임을 실측하고, 목표선을 넘으면 IdP 그룹 구조와 토큰 수명 설정을 손봅니다. 미승인 연결 시도 상위 서버는 정책 매트릭스의 공백을 가리키는 신호이므로 주간 리뷰에서 커버리지에 반영합니다. 리허설 없이 문서만 있는 회수 절차는 실제 퇴사 당일 리드타임 지표로 곧장 깨집니다.

바로 쓰는 접근통제 점검 포인트

EMA는 동의 화면이라는 마찰을 없앤 대신 통제 책임을 IdP 정책 한 곳에 몰아줍니다. 서버×그룹 커버리지 매트릭스에 미정의 셀 0건, 회수 리드타임 24시간 이내를 코드처럼 선언하고, 그룹·역할을 정리한 뒤 서버를 등록하며, 분기 회수 리허설과 미승인 연결 시도 모니터링을 상시로 돌리면 Okta 외 IdP나 신규 서버가 편입돼도 같은 운영 골격이 유지됩니다.

참고 링크

Enterprise-Managed Authorization: Zero-touch OAuth for MCP — MCP Blog