LY Corporation 엔지니어가 AI 에이전트의 인가(Authorization) 문제를 OAuth 2.0 확장 표준인 ID-JAG(Identity Assertion JWT Authorization Grant)로 해결하는 핸즈온을 공개했다. IETF OAuth 워킹 그룹에서 논의 중인 이 초안은 기존 인증 중심 접근을 "이 에이전트가 이 사용자를 대신해 이 권한 범위 내에서 이 리소스에 접근하도록 인가됐는가?"로 재정의한다. Keycloak + Athenz + Ollama/Gemma 4 스택으로 로컬 쿠버네티스 환경을 구성해 실패 시나리오부터 정상 흐름까지 단계별로 체험할 수 있다.
핵심 포인트- ID-JAG는 RFC 8693(Token Exchange) + RFC 7523(JWT Grant)을 결합해 AI 에이전트에 위임된 인가 토큰을 발급하는 IETF 진행 중 표준이다.
- 기존 OIDC ID 토큰은 "사용자가 클라이언트에 인증됐음"만 증명하며, 리소스 접근 인가를 위해 에이전트에 직접 전달하면 과잉 권한이나 위임 체인 불명확 문제가 생긴다.
- 데모 스택: Keycloak(IdP 인증) + Athenz(기업 정책 평가 + 액세스 토큰 발급) + KeycloakTokenExchangePlugin(두 시스템 연결) + Open WebUI/Ollama/Gemma 4(에이전트) + MCP 서버.
- 핸즈온은 정상 흐름 전에 401 Unauthorized, 토큰 교환 실패, 위임 체인 단절 등 의도적 실패를 먼저 경험하게 설계됐다.
- 전체 핸즈온 환경이 athenz-community/id-jag-the-hard-way GitHub 저장소에 오픈소스로 공개됐다.
상세 정리- 문제 배경: AI 에이전트가 사용자 대신 민감한 리소스에 접근할 때 어떤 에이전트가, 어떤 사용자를 위해, 어떤 범위만 쓸 수 있는가를 검증하는 표준 인가 메커니즘이 없었다.
- ID 토큰의 한계: OIDC ID 토큰은 사용자가 클라이언트에 성공적으로 인증됐음을 증명하는 아티팩트다. 인가 그랜트(특정 리소스·범위 접근을 위한 액세스 토큰 요청)와 목적이 달라 에이전트에 그대로 넘기면 위임 체인이 불분명해진다.
- ID-JAG 설계: RFC 8693 Token Exchange와 RFC 7523 JWT Profile을 결합해 사용자 ID를 어설션하는 JWT로 인가 서버에 액세스 토큰을 요청한다. 위임 체인(에이전트 → 사용자 → 리소스)이 JWT 클레임에 명시된다.
- 아키텍처 구성: Keycloak이 사용자 로그인을 처리하고, Athenz의 KeycloakTokenExchangePlugin이 Keycloak 토큰을 Athenz로 연결하며, Athenz가 기업 정책을 평가해 최종 액세스 토큰을 발급한다.
- 8단계 실행 흐름: 사용자 Keycloak 로그인 → AI 에이전트(Open WebUI)에 작업 지시 → Athenz에 ID-JAG 토큰 요청 → 기업 정책 평가 → 액세스 토큰 요청 → MCP 서버 호출(토큰 포함) → 토큰 교환 → 리소스 서버 최종 접근.
- 실패 학습 설계: 토큰 없이 API 호출 시 401, 권한 누락으로 토큰 교환 실패, 위임 체인 단절 등을 순서대로 경험하게 해 각 단계의 역할을 직접 체득한다.
- 향후 계획: Tech-Verse 2026에서 "AI 시대의 차세대 인가 표준"을 주제로 발표 예정.
왜 읽나AI 에이전트에 사용자 위임 권한을 안전하게 부여하는 OAuth 확장 표준을 실습 환경과 함께 이해하고 싶은 보안·백엔드 엔지니어에게 유용하다.