
Claude Agent SDK MCP 서버의 보안 설계 5가지 축
요약
Claude Agent SDK를 사용하여 MCP 서버를 구축할 때 고려해야 할 5가지 보안 설계 축을 다룹니다. 호스팅 장소, 인증 방식 등 정보 시스템 담당자가 판단해야 할 핵심 기준과 리스크 관리 방안을 제시합니다.
핵심 포인트
- MCP 서버 구축 시 호스팅 장소(온프레미스 vs 클라우드) 결정이 중요함
- 데이터 기밀도와 기존 인프라 정합성에 따른 설계 판단 필요
- API 키 인증 시 시크릿 매니저 사용 및 권한 스코프 최소화 권장
- 엔드 유저 대화형 환경에는 OAuth2.0 인증 방식이 적합함
Claude Agent SDK를 활용하여 자체적으로 MCP 서버를 구축할 때, 정보 시스템(情シス) 담당자가 정리해야 할 보안 설계의 판단 축을 5가지로 분류하여 해설합니다.
- 사내 AI 에이전트 도입 및 자체 구축을 검토 중인 정보 시스템 담당자
- MCP 서버의 보안 설계에 대한 판단 축이 정리되지 않은 분
- Claude Agent SDK를 이용한 AI 에이전트의 인증, 권한, 네트워크, 감사 로그(Audit Log) 설계를 정리하고 싶은 분
MCP (Model Context Protocol)는 AI 에이전트가 외부 도구 및 데이터 소스와 안전하게 상호작용하기 위한 오픈 프로토콜입니다. Anthropic의 Claude Agent SDK는 이 프로토콜을 구현하고 있으며, 자체적으로 MCP 서버를 구축함으로써 사내 시스템과 AI 에이전트를 연결할 수 있습니다.
단, MCP 서버는 사내 데이터에 대한 액세스 창구가 되기 때문에 설계가 미흡하면 AI 에이전트가 의도하지 않은 범위의 데이터를 읽고 쓸 위험이 발생합니다. 특히 100명 규모의 기업에서는 전담 보안 엔지니어가 없는 경우가 많아, 정보 시스템 담당자가 설계 판단을 맡아야 하는 상황이 늘어나고 있습니다.
본 기사에서는 "어떤 조건일 때 어떤 선택지를 고를 것인가"라는 판단 플로우를 정리하는 것을 목적으로, 설계의 5가지 축을 해설합니다. 기능의 사용법이 아니라 설계 선택의 축을 제시하는 것에 집중하고 있으므로, Claude Agent SDK 고유의 조작 절차는 포함하지 않습니다.
설계 판단은 다음 5가지 축으로 정리할 수 있습니다. 각 축마다 "조건"과 "권장하는 선택지"를 제시합니다.
각 축은 독립적인 것이 아니라 서로 영향을 주고받습니다. 예를 들어 호스팅 장소를 VPC 내로 할지 여부에 따라 인증 방식의 선택지가 달라집니다. 5가지 축을 세트로 검토하는 것이 중요합니다.
| 설계 축 | 판단 포인트 |
|---|---|
| ① 호스팅 장소 | 사내 온프레미스 / VPC 내 vs 클라우드 매니지드 선택 |
| ... |
MCP 서버를 어디에 둘지는 보안과 운영 비용 모두에 영향을 미칩니다. 판단 기준은 "액세스하는 데이터의 기밀도"와 "기존 인프라와의 정합성" 두 가지입니다.
사내 온프레미스 / VPC 내가 적절한 케이스
- 인사, 급여, 계약 등 외부에 노출하고 싶지 않은 기밀 데이터를 다룸
- 기존 사내 인증 기반(Google Workspace의 ID 프로바이더 기능 등)과의 연동이 필요함
- 컴플라이언스상 데이터가 국외로 나가는 것이 금지되어 있음
클라우드 매니지드가 적절한 케이스
- 다루는 데이터가 공개 정보나 사내용 경미한 정보로 한정됨
- 운영 비용을 억제하고 싶음 (인프라 관리를 외부에 위탁 가능)
- 개발·검증 단계에서 신속하게 시도하고 싶음
어느 쪽을 선택하든 "MCP 서버로의 네트워크 액세스를 내부로 한정한다"는 것은 최소한의 요건입니다. 인터넷에 직접 공개된 상태에서 API 키만을 인증에 사용하는 구성은 정보 시스템 관점에서 수용하기 어려운 리스크를 동반합니다.
MCP 서버 액세스에 사용하는 인증 방식은 주로 API 키 인증과 OAuth2.0 기반 인증의 두 가지 선택지가 됩니다. 아래에 판단 축을 정리합니다.
| 비교 항목 | API 키 인증 | OAuth2.0 |
|---|---|---|
| 적합한 액세스 주체 | 서비스 계정 (자동화 처리) | 엔드 유저 대화형 · IdP 연동 |
| ... |
API 키 인증을 선택할 경우의 주의사항
API 키는 유출되었을 경우의 영향 범위가 넓고, 실효·재발행 운영이 번거로워지기 쉬운 고유한 리스크가 있습니다. 채택할 경우에는 다음과 같은 관리 방침을 세트로 검토합니다.
- 키를 코드에 하드코딩하지 않음 (시크릿 매니저나 환경 변수를 경유함)
- 키마다 권한 스코프(Scope)를 좁힘
- 정기적인 로테이션 운영 빈도와 담당자를 미리 결정함
OAuth2.0이 적절한 케이스
Google Workspace 환경에서 Admin SDK Directory API 등의 Workspace API에 액세스할 때는 OAuth 스코프가 필수입니다. 스코프는 "읽기 전용인지 쓰기도 필요한지", "전체 사용자인지 특정 OU인지"를 명확히 한 후 최소한의 스코프를 부여합니다. 엔드 유저가 대화형으로 AI 에이전트를 조작하는 시나리오에서는 OAuth2.0을 선택함으로써 기존의 싱글 사인온(SSO) 기반과 통합할 수 있습니다.
AI 에이전트에게 부여하는 권한은 "AI가 실제로 필요로 하는 조작"으로 한정하는 것이 원칙입니다. "일단 넓게 부여해 두자"는 설계는 AI가 오조작이나 예기치 않은 처리를 했을 때의 데미지를 크게 만듭니다.
피해야 할 설계 패턴
- 사용자 정보 읽기만으로 충분한데, 사용자 관리 전반(생성·삭제·권한 변경)의 권한을 부여하는 경우
- 특정 부서의 폴더 참조만으로 충분한데, 공유 드라이브 전체에 대한 읽기/쓰기를 허용하는 경우
- 하나의 서비스 계정(Service Account)에 모든 조작 권한을 집중시키는 경우
권장하는 접근 방식
- 조작 카테고리별로 권한을 분리하고, AI 에이전트가 어떤 조작을 수행하는지 문서화한다
- '읽기 전용'과 '쓰기 가능' 권한을 별도의 서비스 계정(Service Account)이나 토큰(Token)으로 관리한다
- 정기적으로 '실제로 사용 중인 스코프(Scope)'를 확인하고, 불필요한 권한을 박탈하는 감사(Audit) 사이클을 마련한다
스코프(Scope) 설계의 기준은 "만약 이 AI 에이전트가 탈취되었다고 가정했을 때, 최악의 경우에 무엇이 일어날 것인가"를 상정하여 결정합니다. 예상 피해가 허용 범위 내에 있도록 권한을 좁히는 것이 정보시스템(IT) 담당자의 역할입니다.
MCP 서버는 어디서든 접근할 수 있는 상태로 두지 않고, 액세스 원을 명시적으로 제한합니다.
VPC / 방화벽(Firewall) 설계의 판단 축
- AI 에이전트의 실행 환경과 동일한 VPC 내, 또는 VPN으로 연결된 환경에서만 액세스를 허용하는 구성을 기본으로 한다
- 클라우드 호스팅(Cloud Hosting)의 경우, IP 화이트리스트나 VPC 엔드포인트(VPC Endpoint)를 활용하여 외부 공개를 피한다
- Google Workspace의 보안 설정에서 Context-Aware Access를 조합하는 경우, 디바이스와 사용자 상태에 기반한 액세스 판단을 검토할 수 있다
AI 에이전트 실행 환경과 MCP 서버의 관계
Claude Agent SDK를 사용할 경우, AI 에이전트의 추론(Inference) 처리는 Anthropic 측의 클라우드를 경유합니다. 이 때문에 "AI 에이전트가 MCP 서버를 호출하는 경로"가 외부 통신이 된다는 점을 설계 단계부터 의식해야 합니다.
이 과제에 대한 대응으로서, MCP 서버를 인터넷에 공개하지 않고 사용할 수 있는 구성——구체적으로는 서버 사이드(Server-side)에서 에이전트를 구동하여 MCP 서버와의 통신을 내부 네트워크로 한정하는 설계——가 가능한지를 Claude Agent SDK의 공식 문서에서 확인하는 것이 우선입니다. 서버 사이드 구현과 클라이언트 사이드(Client-side) 구현은 네트워크 설계의 전제가 크게 다릅니다.
AI 에이전트는 인간보다 빠르고 대량으로 API를 호출할 수 있기 때문에, "무엇을 언제 누가(어떤 에이전트가) 조작했는가"를 추적할 수 있는 기록이 필수적입니다.
기록해야 할 최소한의 항목
- 요청 일시와 요청 원(에이전트 ID·서비스 계정명)
- 호출한 MCP 도구(Tool) 명칭과 요청 개요(기밀 데이터는 마스킹 처리)
- 응답 상태(성공 / 실패 / 타임아웃)
- 액세스한 리소스의 식별자(파일 ID·사용자 ID 등)
로그(Log)의 보관과 활용
로그는 단순히 기록하는 것에 그치지 않고, 이상 탐지의 입력값으로 활용할 수 있는 상태로 만듭니다. Google Cloud 환경이라면 Cloud Logging으로 집약하고, 사내 SIEM이 있다면 해당 전송 파이프라인을 사전에 준비해 둡니다.
또한 "AI 에이전트가 어떤 리소스에 비정상적인 액세스를 시도했는가"를 사후에 검증할 수 있는 체계가 없으면, 인시던트(Incident) 대응 시 원인 추적이 불가능해집니다. AI 에이전트 도입 전에 감사 로그(Audit Log)의 설계와 보관 기간을 미리 결정해 두는 것이 필요합니다.
특히 주의할 점은, AI 에이전트는 자연어로 지시를 받아 동작하기 때문에 "의도하지 않은 조작이 포함되어 있었다"는 사실이 나중에 밝혀지는 경우가 있다는 것입니다. 조작 로그가 상세하게 남아 있다면 조사가 빠르게 완료되지만, 로그가 부실하다면(에러만 기록하는 등) 문제 특정에 수일이 걸릴 수도 있습니다.
MCP 서버를 운영 환경에 적용하기 전에 다음 사항을 확인합니다.
- 호스팅 장소와 액세스 경로의 확정: 누구로부터 어떤 경로로 MCP 서버에 액세스할 수 있는지 네트워크 구성도로 명시할 수 있는가
- 인증 방식의 선정 및 키(Key) 관리 규칙의 문서화: API 키 또는 OAuth 토큰의 발행·로테이션·무효화 플로우가 결정되어 있는가
- 스코프(Scope) 목록의 문서화: 부여된 권한 목록과 그것이 필요한 이유를 설명할 수 있는가
- 감사 로그의 기록·보관·열람 체계 확립: 로그가 지정된 보관 장소에 기록되고 있는지 확인할 수 있는 수단이 있는가
- 인시던트 발생 시 대응 플로우 설정: AI 에이전트가 부정 조작을 수행했을 경우, 어떤 계정·API 키를 무효화하여 중단시킬 수 있는지 즉시 파악 가능한가
5가지 항목 모두에 대해 「Yes」라고 답할 수 있는 상태를 만든 후 실무에 투입하는 것이, 나중에 당황하지 않기 위한 최소한의 기준입니다. 「작동시키면서 정비한다」는 방식은 일반적인 SaaS 툴 도입에서는 허용될 수 있어도, 사내 데이터에 접근하는 AI 에이전트(AI Agent)에게는 권장하지 않습니다.
Claude Agent SDK를 사용하여 MCP 서버를 자체 구축할 때의 보안 설계는 ① 호스팅 위치, ② 인증 방식 (Authentication), ③ 스코프 설계 (Scope Design), ④ 네트워크 경계 (Network Boundary), ⑤ 감사 로그 (Audit Log)의 5가지 축으로 판단을 정리할 수 있습니다.
중요한 것은 「우선 작동하는 상태를 만드는 것」이 아니라 「무슨 일이 생겼을 때 멈출 수 있는 상태로 작동시키는 것」이라는 설계 사상입니다. AI 에이전트는 인간보다 빠르게 움직이며, 넓은 권한으로 API를 호출합니다. 권한 제한과 감사 로그 정비는 AI 도입 전에 완료해 두어야 할 준비 사항으로 취급해야 합니다.
설계의 각 축에 대해 「자사의 요구사항에는 어느 쪽이 적절한가」를 팀 내에서 한 번 논의하는 것부터 시작할 것을 권장합니다. 특히 인증 방식과 스코프 설계는 나중에 변경할 때 발생하는 비용이 높아지기 쉬우므로, 초기 단계에서 신중하게 결정해 둘 가치가 있습니다. 본 기사에서 정리한 5가지 축의 체크리스트를 논의의 시작점으로 활용해 주십시오.
이 기사에서 다룬 것과 같은 업무 개선 및 자동화의 설계부터 구현까지, DRASENAS는 코포레이트 IT (Corporate IT) 현장에 밀착하여 지원을 수행하고 있습니다.
「우선 상담만」 하는 것도 대환영입니다. DRASENAS 공식 사이트를 통해 편하게 문의해 주세요.
※ 이 기사는 DRASENAS Blog의 전재물입니다. 오리지널 게시물에서는 코드와 설정 절차가 수시로 업데이트되고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기