AI 에이전트(AI Agent)와 MCP 서버(MCP Server)의 OAuth, 보안은 어떻게?

by DD
2개월 전
조회수 26

AI 에이전트(AI Agent)가 MCP 서버(MCP Server)를 통해 툴을 실행할 때, 사용자 인증 및 권한 부여(Authorization)의 어려움이 발생함

토큰 스코핑(Token Scoping)을 통해 AI 에이전트(AI Agent)의 권한 범위를 제한하고, 감사 로깅(Audit Logging)을 통해 툴 호출 내역을 추적해야 함

MCP 서버(MCP Server)를 내부 API 게이트웨이(API Gateway)처럼 활용하여 보안 경계를 명확히 하는 것이 중요함

OAuth2 디바이스 플로우(OAuth2 Device Flow) 및 토큰 교환(Token Exchange)과 같은 기술을 활용하여 보안을 강화할 수 있음

MCP 서버(MCP Server) 아키텍처(Architecture)와 OAuth의 역할

MCP 서버(MCP Server)는 AI 모델과 실제 시스템 간의 브릿지 역할을 수행하며, 툴과 리소스를 노출한다. OAuth는 사용자 인증 및 권한 부여(Authorization)를 위해 사용되지만, MCP 서버(MCP Server)는 자체적인 권한 규칙을 적용해야 한다. 사용자(User)와 클라이언트(Client)의 구분을 명확히 하는 것이 중요하며, OAuth2 디바이스 플로우(OAuth2 Device Flow)와 같은 기술을 활용할 수 있다.

토큰 스코핑(Token Scoping)을 통한 권한 관리

대부분의 MCP 구현에서 간과되는 부분은 토큰 스코핑(Token Scoping)이다. 광범위한 권한(Broad Permissions)을 가진 단일 토큰(Single Token) 대신, 툴별로 좁은 범위의 권한을 가진 토큰을 발급해야 한다. 예를 들어, 이메일 읽기 툴은 이메일 전송 권한을 가져서는 안 된다. 토큰 스코핑(Token Scoping)은 보안을 강화하는 핵심 요소이다.

감사 로깅(Audit Logging)의 중요성

AI 에이전트(AI Agent)가 여러 툴을 호출하는 경우, 각 호출의 파라미터(Parameter)와 결과를 추적하는 감사 로깅(Audit Logging)이 필수적이다. Postgres와 같은 데이터 격리 아키텍처(Data Isolation Architecture)에 모든 MCP 툴 호출을 기록하여 세션(Session)의 모든 활동을 재구성할 수 있어야 한다. 이는 디버깅(Debugging) 및 규정 준수(Compliance)에 중요하다.

API 게이트웨이(API Gateway) 패턴 적용

MCP 서버(MCP Server)를 내부 API 게이트웨이(API Gateway)처럼 활용하여 보안 경계를 설정할 수 있다. API 게이트웨이(API Gateway)는 토큰 검증, 권한 확인, 속도 제한(Rate Limiting) 등을 처리하고, 실제 툴 로직은 얇은 레이어로 구현한다. 이러한 분리는 보안을 강화하고, 시스템의 유지보수성을 높이는 데 기여한다.

토큰 교환(Token Exchange) 및 JWT 활용

MCP 클라이언트(MCP Client)를 '기억 상실증에 걸린 API 게이트웨이(API Gateway with amnesia)'처럼 취급하고, 모든 권한 부여(Authorization)를 MCP 서버(MCP Server)와 백엔드(Backend)로 위임하는 방식이 효과적이다. OAuth 토큰 교환(Token Exchange) 또는 'sub', 'azp', 'tool_scope' 클레임(Claim)을 포함하는 커스텀 JWT를 사용하여 사용자 및 툴 정보를 전달할 수 있다. AI 클라이언트는 IdP(Identity Provider)에서 서명된, 검증 가능한 ID만 전달해야 한다.

How OAuth works when AI agents execute tools through MCP servers

댓글 0

첫 번째 댓글을 남겨보세요!