OAuth vs. API Keys for Agentic AI
개요
Agentic AI 시스템은 기존 API 클라이언트와 달리 자율적이고 예측 불가능한 특성을 가지므로, API 인증 방식에서 OAuth와 API Key의 선택은 보안 및 제어 측면에서 재검토가 필요하다.
주요 내용
* API Key: 식별자와 비밀번호 역할을 하는 단순하고 정적인 문자열로, API 제공자가 발급하며 요청 시 헤더나 쿼리 파라미터에 포함되어 발신자를 인증한다.
* 장점: 구현 및 배포가 단순하고, 오버헤드가 적으며, 내부 마이크로서비스, CI/CD 파이프라인 등 예측 가능하고 통제된 환경에 적합하다.
* 단점: 기본적으로 만료 기한이 없고(long-lived), 표준화된 스코프(권한 범위) 개념이 없어 유연성이 낮으며, 대규모 회전(rotation)이 어렵고, 특정 사용자 대신 애플리케이션 자체를 나타내 감사 및 추적이 제한적이다.
* OAuth 2.0: 인증(Authentication)과 권한 부여(Authorization)를 분리하며, 단일 정적 자격 증명 대신 명시적 권한 부여 흐름을 통해 발급되는 짧은 수명의 액세스 토큰을 사용한다.
* 주요 특징:
* 인증과 권한 부여 분리: 신원 확인과 접근 권한 부여를 명확히 분리한다.
* 세분화된 스코프: read:calendar, write:events 등 특정 권한을 요청하고 토큰에 해당 권한만 부여한다.
* 토큰 기반, 짧은 수명, 취소 가능: 액세스 토큰은 보통 1시간 내에 만료되며, 새로 발급받는 과정에서 새로고침 토큰을 사용한다. 가장 중요한 것은 새로고침 토큰을 즉시 취소하여 액세스를 차단할 수 있다는 점이다.
* 표준화된 토큰 교환 및 실시간 스코프 축소: OAuth Token Exchange (RFC 8693)를 통해 런타임에 특정 작업에 필요한 최소한의 권한을 가진 임시 토큰으로 교환할 수 있다.
* 사용자 동의 흐름: 사용자는 요청되는 권한 목록을 확인하고 명시적으로 동의한다.
* Agentic AI 시스템에서의 이점: 위임 모델은 신뢰 경계와 일치하며, 세분화된 액세스는 기본적으로 최소 권한 원칙을 시행하고, 토큰 사용에 대한 감사 및 취소 기능이 뛰어나 분산된 자율성과 위험이 있는 생태계에 더 적합하다.
* Agentic AI의 특성과 인증 요구사항: Agentic AI는 예측 불가능한 결정과 API 호출 체인을 수행하므로, 세분화된 작업별 권한, 세밀한 감사 추적, 사용자 권한의 안전한 위임, 즉각적인 권한 취소가 가능한 시스템이 필요하다.
* 시나리오 비교:
* 달력 관리 에이전트: API Key는 모든 달력 작업에 대한 전체 액세스를 허용하여 보안 위험이 크지만, OAuth는 read:calendar와 같은 특정 스코프만 부여하여 안전하다.
* 개발자 도구 자동화 에이전트: API Key는 리포지토리 삭제와 같은 민감한 작업까지 허용할 수 있으나, OAuth는 repo:issues:write, project:read와 같은 제한된 스코프로 보안성을 높인다.
* 다중 에이전트 워크플로우: API Key는 모든 에이전트가 동일한 권한을 공유하여 위험을 증폭시키지만, OAuth는 각 에이전트에게 고유한 ID와 content:read, content:draft, content:publish와 같이 최소한의 스코프를 부여하여 각 에이전트의 역할을 명확히 하고 보안을 강화한다.
* Model Context Protocol (MCP)의 OAuth 의무화: MCP는 사용자 데이터 접근 또는 사용자 대리 시 OAuth 2.1 사용을 의무화하여, 에이전트의 안전한 도구 상호작용을 위한 표준을 제시한다.
* API Key가 적합한 경우: Agentic AI가 아닌 M2M 자동화, 사설 네트워크 내의 내부 마이크로서비스 호출, 예측 가능한 백엔드 프로세스, 높은 제어가 가능한 내부 관리 도구 등에는 API Key가 여전히 실용적일 수 있다.
* 권장 사항: Agentic AI 시스템에서는 OAuth를 사용하여 세분화된 스코프 정의, 짧은 수명 토큰 사용, 명시적 사용자 동의 흐름, 에이전트 ID와 토큰 발급 바인딩, 완전한 감사 로깅을 구현해야 한다. API Key를 사용할 경우, 정기적인 자동 회전, 보안 저장소 사용, IP 제한 등의 보안 조치를 적용해야 한다.
시사점
Agentic AI의 등장으로 API 인증 방식은 단순한 자격 증명 관리를 넘어, 세분화된 권한 부여, 감사 가능성, 즉각적인 취소 기능이 필수적인 OAuth 중심으로 전환되고 있으며, 이는 AI 시스템의 안전하고 책임감 있는 발전을 위한 핵심 요소이다.
댓글
GitHub Discussions