Skip to main content
이 문서는 GenAI 개념 섹션의 일부입니다.

A2A 보안 고려사항

엔터프라이즈 환경에서 A2A를 도입할 때, 보안은 가장 중요한 설계 요소입니다.

인증 (Authentication)

  • Agent Card의 authentication.schemes 필드로 지원하는 인증 방식을 명시합니다
  • OAuth2 가 권장 방식입니다. 토큰 만료, 스코프 제한 등 세밀한 제어가 가능합니다
  • API Key 는 구현이 간단하지만 보안이 약합니다. 개발/테스트 환경에만 권장합니다
  • Mutual TLS (mTLS) 는 양방향 인증서 검증으로, 높은 보안이 필요한 금융/의료 환경에 권장됩니다

인가 (Authorization)

  • Agent가 요청할 수 있는 skill 범위를 제한해야 합니다
  • Task 생성 권한과 특정 skill 호출 권한을 분리하여 관리합니다
  • 예: “항공 Agent는 search_flights만 가능, book_flight는 별도 권한 필요”와 같이 세분화합니다

데이터 보안

  • Agent 간 전달되는 모든 데이터는 TLS 암호화가 필수 입니다
  • PII(개인정보) 전달 시 마스킹 또는 토큰화를 적용합니다
  • 민감 데이터는 Artifact로 직접 전달하지 않고, 참조 ID만 전달 하여 수신 Agent가 별도 인증 후 조회하도록 합니다

Trust Boundary (신뢰 경계)

  • 내부 Agent외부 Agent 를 명확히 구분합니다
  • 외부 Agent의 응답은 항상 검증합니다 (LLM-as-Judge 또는 규칙 기반 검증)
  • 외부 Agent에게 쓰기 권한 을 부여할 때는 특히 주의가 필요합니다

주요 위협과 대응 방안

주의 보안 설계의 핵심 원칙: 최소 권한 원칙(Principle of Least Privilege) 을 적용하세요. 각 Agent에게는 작업 수행에 필요한 최소한의 skill과 데이터 접근 권한만 부여합니다.

A2A의 현실적 한계와 대안

현재 A2A 채택 현실

A2A는 강력한 비전을 가지고 있지만, 2026년 현재 채택 현실은 냉정하게 바라볼 필요가 있습니다. A2A가 진짜 필요한 시나리오는 제한적입니다:
  1. 이기종 벤더의 Agent가 협업 해야 하는 경우 (예: 우리 Agent + 파트너사 Agent)
  2. 조직 간 경계를 넘는 Agent 통신(예: 본사 Agent + 자회사 Agent)
  3. Agent 마켓플레이스 구축 시 (다양한 3rd party Agent를 플러그인처럼 연결)
그 외의 경우 — 예를 들어 같은 팀이 만든 여러 Agent를 협업시키는 것이라면 — LangGraph, CrewAI, Databricks Agent Framework 등의 내부 오케스트레이션이 훨씬 간단하고 효율적입니다.

MCP로 Multi-Agent를 구현하는 패턴

A2A 없이도 MCP만으로 Agent 간 통신이 가능합니다. 핵심 아이디어는 Agent를 MCP 서버로 래핑 하는 것입니다.
이 방식의 장점과 한계:
참고 실용적 조언: 지금 당장 Multi-Agent가 필요하다면 MCP 래핑 방식으로 시작하세요. 상태 관리나 Agent 발견이 절실해지는 시점에 A2A로 전환해도 늦지 않습니다.

현실적 도입 로드맵

각 단계는 이전 단계를 대체하는 것이 아니라 쌓아 올리는 것 입니다. 3단계에서도 MCP와 내부 오케스트레이션은 그대로 사용됩니다.

A2A 설계 패턴 카탈로그

A2A를 활용한 Agent 간 협업에는 몇 가지 반복되는 설계 패턴이 있습니다. 각 패턴의 특성과 적합한 시나리오를 이해하면, 아키텍처 설계 시 올바른 선택을 할 수 있습니다.

1. 위임 패턴 (Delegation)

가장 기본적인 패턴입니다. Client Agent가 Server Agent에 전체 작업을 맡기고 결과만 받습니다.
적합한 시나리오: 작업이 명확하고, 추가 협의 없이 처리 가능한 경우.
  • 번역 요청: “이 문서를 영어로 번역해줘”
  • 데이터 조회: “지난 달 매출 합계를 알려줘”
  • 코드 리뷰: “이 PR을 리뷰해줘”

2. 협상 패턴 (Negotiation)

input-required 상태를 활용하여 Agent 간 여러 라운드의 대화 로 요구사항을 구체화합니다.
적합한 시나리오: 초기 요구사항이 모호하거나, 단계적 구체화가 필요한 경우.
  • 호텔 예약: 날짜만 주어지고 세부 조건은 대화로 확인
  • 보고서 작성: 대략적 주제에서 구체적 분석 방향을 좁혀감
  • IT 헬프데스크: 증상 설명 → 추가 진단 질문 → 해결책 제시

3. 파이프라인 패턴 (Pipeline)

Agent A의 output이 Agent B의 input이 되는 순차 처리 패턴입니다.
적합한 시나리오: 작업이 명확한 단계로 나뉘고, 각 단계가 서로 다른 전문성을 요구하는 경우.
  • ETL 파이프라인: 추출 Agent → 변환 Agent → 적재 Agent
  • 콘텐츠 제작: 리서치 Agent → 초안 작성 Agent → 편집 Agent
  • 보안 분석: 로그 수집 Agent → 이상 탐지 Agent → 대응 권고 Agent
주의사항: Orchestrator Agent가 전체 파이프라인의 흐름을 관리해야 하며, 중간 단계 실패 시 처리 전략(재시도 또는 중단)을 미리 정의해야 합니다.

4. 경쟁 패턴 (Competition)

같은 Task를 여러 Agent에 동시 전송 하고, 가장 빠르거나 가장 좋은 결과를 채택합니다.
적합한 시나리오: 결과의 품질이 중요하거나, 여러 관점이 필요한 경우.
  • 번역 품질 비교: 여러 번역 Agent의 결과를 비교하여 최선 채택
  • 가격 비교: 여러 항공사/호텔 Agent에 동시 검색하여 최저가 선택
  • LLM-as-Judge: 여러 Agent의 답변을 평가 Agent가 비교 채점
비용 고려: 동일 Task를 여러 Agent에 보내므로 비용이 N배 증가합니다. 품질이 중요한 고가치 작업에만 사용하세요.

5. 패턴 선택 가이드


Databricks에서의 활용 전망

주의 A2A는 2025년 초 발표된 프로토콜로, 아직 초기 단계입니다. Databricks의 공식 A2A 지원은 추후 발표를 확인하세요.

흔한 오해 (Common Misconceptions)

A2A 도입을 검토하는 고객이 자주 가지는 오해들입니다. 특히 MCP와의 관계를 정확히 이해하는 것이 중요합니다.

고객이 자주 묻는 질문

”A2A를 지금 도입해야 하나요?”

아직 초기 단계입니다. 내부 Multi-Agent 시스템은 기존 프레임워크(LangGraph, Databricks Agent Framework 등)로 충분히 구현할 수 있습니다. 외부 벤더의 Agent와 연동 이 필요하거나, 이기종 프레임워크 간 협업 이 요구될 때 A2A 도입을 검토하세요.

”A2A와 REST API의 차이가 뭔가요?”

REST API는 사전에 정의된 엔드포인트를 호출하는 방식입니다. A2A는 Agent가 자율적으로 상대방의 능력을 발견 하고 작업을 위임합니다. 핵심 차이는 세 가지입니다:
  • 자기소개 (Agent Card): Agent가 자신의 능력을 표준화된 형식으로 공개
  • 상태 관리 (Task lifecycle): 작업의 진행 상황을 추적하고, 추가 정보 요청도 가능
  • 스트리밍: 장기 실행 작업의 중간 결과를 실시간으로 수신

”MCP만 쓰면 안 되나요?”

단일 Agent가 여러 도구를 사용하는 데에는 MCP만으로 충분합니다. 하지만 여러 독립적인 Agent가 협업 해야 하는 경우에는 A2A가 필요합니다. 규모와 요구사항에 따라 선택하세요:
  • 도구 연동만 필요 → MCP
  • Agent 간 협업 필요 → A2A
  • 둘 다 필요 → A2A + MCP 결합

연습 문제

  1. MCP와 A2A의 핵심 차이를 “택배 시스템”에 비유하여 설명하세요.
  2. Agent Card에서 skills 필드가 왜 중요한지, 이 필드가 없다면 어떤 문제가 발생하는지 설명하세요.
  3. Task 상태 중 input-required가 존재하는 이유와, 이 상태가 없다면 어떤 한계가 있을지 설명하세요.
  4. “사내 IT 헬프데스크”를 A2A로 설계한다면 어떤 Agent들이 필요하고, 각 Agent의 Agent Card를 어떻게 정의하겠습니까?