본문으로 건너뛰기

생성형 AI 에이전트의 민감정보 경계 설계

LLM 에이전트의 민감정보를 작업별로 허용·정제·삭제하는 Model Armor와 SDP 운영 원칙을 정리합니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

기업용 Generative AI 에이전트의 민감정보 보안은 모든 데이터를 일괄 차단하는 방식보다 작업별 최소 권한과 데이터 최소화 원칙을 적용하는 방식이 적합합니다. LLM이 반드시 사용해야 하는 정보만 Ingress에서 일시적으로 허용하고 Tool Call 뒤에는 Context를 즉시 줄이며, Backend API의 과도한 응답은 LLM에 전달하기 전에 Sensitive Data Protection으로 정제해야 합니다. User-to-Agent와 Agent-to-User 경계에서는 Model Armor와 SDP를 결합하고, 신뢰하는 내부 Backend 응답에는 직접 SDP API를 호출해 지연과 비용을 줄이는 구성이 권장됩니다. Model Armor의 Basic 설정은 Discovery만 지원하므로 실제 마스킹과 삭제에는 Advanced Template이 필요하며, log_sanitize_operations를 켜면 Cloud Logging에 민감한 원본 데이터가 남을 수 있습니다.

섹션별 상세

01
생성형 AI 애플리케이션에서 모든 민감정보를 일괄 차단하면 데이터 노출 위험은 줄어들지만 LLM의 추론과 사용자 경험, 후속 Autonomous System의 Tool Call이 함께 깨질 수 있습니다. 의료 라우팅 에이전트가 환자의 Medical Record Number를 Backend API 검색에 사용해야 하는 경우처럼 모델이 특정 정보 없이는 작업을 수행할 수 있는 상황이 있기 때문입니다. 따라서 User-to-Agent와 Agent-to-User의 절대 차단보다 작업별 접근 권한과 데이터 흐름을 조정하는 방식이 필요합니다.
02
민감정보가 현재 작업에 필요하지 않으면 User Ingress에서 바로 마스킹하고, 필요한 경우에만 LLM Context Window에 일시적으로 허용해야 합니다. Tool Call이 성공한 뒤에는 Agent Developer Kit(ADK)나 다른 Agent Framework의 메모리 배열에서 해당 메시지를 프로그래밍 방식으로 제거해 다음 대화에 정보가 남지 않게 해야 합니다. 한 번의 호출에 권한을 부여했다고 해서 같은 세션의 이후 요청까지 동일한 접근 권한을 유지하지 않는 것이 Principle of Least Privilege의 핵심입니다.
mermaid
graph LR
classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px;
classDef highlight fill:#e1f5fe,stroke:#0288d1,stroke-width:1px,color:#01579b;
classDef alert fill:#ffebee,stroke:#c62828,stroke-width:1px,color:#b71c1c;
classDef safe fill:#e8f5e9,stroke:#2e7d32,stroke-width:1px,color:#1b5e20;
User(("User")):::highlight --> Ingress{"Sensitive Data<br>Needed?"}
Ingress -- No --> Mask["Mask Data"]:::safe
Ingress -- Yes --> Pass["Allow Data"]:::alert
Mask --> LLM("LLM Core"):::highlight
Pass --> LLM
LLM --> Tool{"Tool Call?"}
Tool -- Yes --> Backend["Backend API"]:::highlight
Backend --> Hidden["Raw Payload<br>(Hidden Ingress)"]:::alert
Hidden --> ScrubBackend["Scrub Payload<br>(Minimization)"]:::safe
ScrubBackend --> Prune["Prune Context<br>(Least Privilege)"]:::safe
Prune --> LLM
Tool -- No --> Egress{"Backend Leaked<br>Data?"}
Egress -- Yes --> Scrub["Scrub Egress"]:::safe
Egress -- No --> AllowOut["Allow Original"]:::safe
Scrub --> Out(("Output")):::highlight
AllowOut --> Out

사용자 입력부터 LLM, Backend API, 최종 출력까지 민감정보가 이동하는 경로와 각 단계의 마스킹·정제·Context Pruning 처리를 나타내는 의사결정 흐름입니다.

03
Backend API 응답은 사용자가 보낸 입력과 별개로 민감정보를 LLM에 주입하는 Hidden Ingress가 될 수 있습니다. 예를 들어 get_claim_details가 상태 정보와 함께 주소, SSN, 내부 위험 점수를 포함한 대규모 JSON을 반환하면, 에이전트가 필요한 상태 필드만 남기도록 Payload를 먼저 정제해야 합니다. 최종 출력에서도 LLM의 비결정성 때문에 요청하지 않은 백엔드 데이터가 재생성되거나 과도하게 요약될 수 있으므로, Backend에서 유출된 정보만 감사하고 마스킹해야 합니다.
04
Mask Data, Scrub Egress, Scrub Payload는 Sensitive Data Protection(SDP)의 Inspection과 De-identification을 이용하는 데이터 변환 작업입니다. 반면 Prune Context는 SDP가 처리하는 텍스트 변환이 아니라 에이전트의 대화 기록에서 특정 메시지를 삭제하는 논리적 오케스트레이션 작업입니다. User-to-Agent와 Agent-to-User 같은 Zero-Trust Boundary에서는 SDP를 Model Armor 안에 결합해 Prompt Injection, Jailbreak, Toxicity 검사와 민감정보 처리를 함께 수행하고, 신뢰하는 Backend 응답을 다루는 내부 경로에서는 직접 SDP API를 호출해 지연과 비용을 줄이는 구성이 적절합니다.
05
Sensitive Data Protection은 데이터를 바꾸지 않고 존재 여부만 표시하는 Discovery와 실제 값을 변환하는 De-identification을 구분합니다. De-identification에는 텍스트를 삭제하는 Removal, 일부 문자열만 가리는 Masking, 권한 있는 Backend에서 복구할 수 있는 대체 값을 넣는 Tokenization이 있으며, 작업에는 Inspection Template과 De-identification Template이 필요합니다. 모든 Info Type을 켜면 처리 시간과 비용이 커지고 PERSON_NAME처럼 입력에서 탐지하기 어려운 유형의 False Negative도 생길 수 있어, 예상되는 민감정보 유형만 선택해야 합니다.
06
Model Armor의 Basic 설정은 고정된 Info Type 목록을 이용한 Discovery만 지원하므로, 민감정보를 실제로 마스킹하거나 삭제하는 결정 트리의 작업에는 부족합니다. 변환이 필요한 경우에는 명시적인 Inspection Template과 De-identification Template을 지정하는 Advanced 설정이나 직접 SDP API 호출을 사용해야 하며, 템플릿은 코드에 하드코딩하지 않고 중앙에서 관리할 수 있습니다. Ingress와 Egress 호출은 Agent Gateway의 Integration Policy로 소스 코드 밖에서 강제하면 중앙 정책 관리, 관찰성, Security Command Center 연계를 확보할 수 있습니다.
07
Model Armor 비용은 2026년 8월 기준 처리 토큰 1백만 개당 $0.10으로 제시되며, Advanced SDP Template을 Model Armor 안에서 실행하면 Model Armor 토큰 비용과 SDP의 바이트 처리 비용이 함께 발생합니다. 따라서 내부 Backend Payload 정제처럼 종합적인 위협 검사가 필요하지 않은 경로에는 직접 SDP API를 호출하는 편이 불필요한 Model Armor 비용을 피할 수 있습니다. Audit Log는 기본적으로 실제 Prompt Text를 저장하지 않지만, log_sanitize_operations를 활성화하면 원본 Payload와 SDP가 비식별화한 데이터가 Cloud Logging에 기록되므로 로그 접근 권한을 제한해야 합니다.

용어 해설

최소 권한 원칙(Principle of Least Privilege)
최소 권한 원칙은 LLM이나 에이전트가 현재 작업을 수행하는 데 필요한 민감정보만 일시적으로 접근하도록 제한하는 보안 방식입니다. 특정 Tool Call에 정보가 필요해도 호출이 끝나면 대화 기록에서 해당 정보를 제거해 이후 요청으로 새어 나가지 않게 합니다.
데이터 최소화(Data Minimization)
데이터 최소화는 사용자의 요청을 처리하는 데 필요한 정보만 시스템이 수집·처리·노출하도록 제한하는 원칙입니다. Backend API의 과도한 JSON 응답을 LLM에 전달하기 전에 불필요한 주소·SSN·위험 점수 등을 제거하고, 최종 출력에서도 요청하지 않은 정보가 남지 않게 합니다.
숨은 인바운드 데이터(Hidden Ingress)
숨은 인바운드 데이터는 사용자가 직접 입력하지 않았지만 Backend API의 Tool Call 응답을 통해 LLM Context Window에 들어오는 정보입니다. 예를 들어 청구 세부정보 응답에 상태뿐 아니라 주소, SSN, 내부 위험 점수가 함께 포함되면 민감정보가 에이전트의 내부 처리 과정에 주입됩니다.
비식별화(De-identification)
비식별화는 민감정보를 탐지한 뒤 원문을 삭제·부분 마스킹하거나 복구 가능한 대체 토큰으로 바꾸는 처리입니다. Sensitive Data Protection은 Removal, Masking, Tokenization을 Mitigation 방식으로 제공하며 Inspection Template과 De-identification Template을 함께 사용해 정보 유형별 처리 규칙을 정합니다.
제로 트러스트 경계(Zero-Trust Boundary)
제로 트러스트 경계는 데이터와 요청을 기본적으로 신뢰하지 않고 외부 경계를 통과할 때마다 검증하는 지점입니다. 이 글에서는 User-to-Agent와 Agent-to-User 경계에서 민감정보 처리와 Prompt Injection, Jailbreak, Toxicity 검사를 함께 수행할 때 Model Armor를 활용하도록 권장합니다.

기술

  • Google Cloud
  • Sensitive Data Protection (SDP)
  • Model Armor
  • Agent Developer Kit (ADK)
  • Agent Gateway
  • Cloud Logging
  • Security Command Center

활용 사례

  • 기업용 Generative AI 애플리케이션의 User Ingress와 Agent Egress 보호
  • Medical Record Number를 이용하는 Healthcare Routing Agent
  • Backend API에서 청구 상태를 조회하는 Multi-Tool Agent
  • Agent-to-Agent 통신에서 업무별 데이터 경계 유지
  • 민감정보 유출 감사와 중앙 보안 정책 관리
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 28.수집 2026. 08. 28.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.