
"English-to-Infrastructure": Bedrock AgentCore 및 Cedar를 통한 AI 에이전트 보안 강화
요약
Amazon Bedrock AgentCore Gateway와 AWS Cedar를 활용하여 AI 에이전트의 보안을 강화하는 방법을 소개합니다. 자연어로 작성된 보안 정책을 수학적으로 검증 가능한 Cedar 정책으로 자동 변환하여, LLM의 환각이나 프롬프트 인젝션으로부터 API 호출을 안전하게 보호합니다.
핵심 포인트
- 자연어 기반 정책을 결정론적인 Cedar 정책으로 자동 변환
- LLM 추론 루프 외부에서 보안 강제 적용으로 프롬프트 인젝션 방어
- 복잡한 커스텀 권한 부여 미들웨어 개발 비용 절감
- AgentCore Gateway가 보안 프록시 역할을 수행하여 도구 호출 검증
AI 에이전트에게 지식 베이스(knowledge base)를 읽을 수 있는 능력을 부여하는 것은 하나의 기능입니다. 하지만 AI 에이전트에게 issue_refund API를 실행하거나 데이터베이스 테이블을 변경(mutate)할 수 있는 능력을 부여하는 것은 엄청난 운영 리스크입니다.
대규모 언어 모델 (LLMs)은 환각 (hallucinate) 현상을 일으킵니다. 또한 프롬프트 인젝션 (prompt injections)에 취약합니다. LLM은 고정된 코드 경로를 실행하지 않기 때문에, 전통적인 ID 및 액세스 관리 (IAM) 방식만으로는 더 이상 충분하지 않습니다.
AWS IAM 역할은 "이 Lambda 함수가 이 API를 호출할 수 있는가?"라는 질문에는 답할 수 있습니다. 하지만 IAM은 "이 특정 AI 에이전트가 주말 동안 2,000달러의 금액으로 issue_refund를 호출할 수 있는가?"라는 질문에는 답할 수 없습니다.
이를 해결하기 위해 스타트업들은 보통 AI 도구 호출을 가로채고, JSON 인자를 파싱하며, API가 실행되기 전에 비즈니스 규칙을 강제하는 복잡한 권한 부여 미들웨어 (authorization middleware)를 작성하는 데 수개월을 소비합니다. 이는 취약하고, 느리며, 감사 (audit)하기 어렵습니다.
Amazon Bedrock AgentCore Gateway의 출시와 AWS Cedar와의 네이티브 통합을 통해, AWS는 이 패러다임을 완전히 바꾸었습니다.
AI 에이전트를 위한 맞춤형 권한 부여 코드를 작성하는 것을 중단하십시오. 정책을 평이한 영어로 작성하면, AWS가 이를 수학적으로 증명 가능한 인프라로 컴파일하도록 하십시오.
전환점: English-to-Infrastructure란 무엇인가?
Amazon Bedrock AgentCore Gateway는 AI 추론 엔진 (reasoning engine)과 에이전트가 사용하고자 하는 실제 도구(API, Lambda 함수, 데이터베이스) 사이에서 보안 프록시 (secure proxy) 역할을 합니다. 이는 모든 개별 도구 호출을 가로챕니다.
에이전트의 동작을 검증하기 위해 Python 인터셉터 (interceptor)를 작성하는 대신, AgentCore의 정책 (Policy) 기능을 활용할 수 있습니다. 이 시스템은 오픈 소스이며 수학적으로 검증 가능한 권한 부여 언어인 AWS Cedar를 사용합니다.
하지만 진정한 마법은 NL2Cedar (Natural Language to Cedar) 기능에 있습니다.
사용자는 다음과 같이 자연어 경계 (natural language boundary)를 작성합니다:
"에이전트는 업무 시간 중에만 고객 데이터 (Customer Data)에 접근할 수 있으며, 50달러를 초과하는 환불은 절대 처리할 수 없다."
뉴로-심볼릭 (Neuro-symbolic) AI 엔진은 사용자의 영어 규칙을 결정론적인 (deterministic) Cedar 정책으로 변환합니다. 악의적인 사용자의 프롬프트 인젝션 (prompt-injection)으로 인해 에이전트가 환각 (hallucination) 현상을 일으켜 100달러를 환불하려고 시도할 때, AgentCore Gateway는 네트워크 엣지 (network edge)에서 해당 동작을 결정론적으로 차단합니다.
CTO의 반응
엔지니어링 리더들에게 이 구조를 설명할 때, 그들의 반응은 안도와 불신이 뒤섞여 있습니다: "단순히 평이한 영어 규칙을 작성하는 것만으로 우리의 커스텀 권한 부여 미들웨어 (custom authorization middleware)를 완전히 대체할 수 있고, AWS가 이를 네트워크 엣지에서 AI 환각을 차단하는 결정론적인 Cedar 정책으로 자동 변환해 준다는 말씀인가요?"
네, 그렇습니다. 그리고 강제 적용 (enforcement)이 LLM의 추론 루프 (reasoning loop) 외부에서 발생하기 때문에, 프롬프트 인젝션 (prompt injection)으로부터 완전히 면역되어 있습니다.
아키텍처: AgentCore Gateway가 위협을 가로채는 방식
다음은 보안이 강화된 기본 거부 (default-deny) 방식의 AI 에이전트 워크플로우를 위한 정확한 AWS 아키텍처입니다:
- 게이트웨이 가로채기 계층 (The Gateway Interception Layer)
사용자는 AgentCore Gateway 뒤에 도구들(예: Lambda 함수 또는 Model Context Protocol 서버)을 등록합니다. LLM은 데이터베이스와 직접 통신하지 않으며, 오직 게이트웨이와만 통신합니다.
- Cedar 정책 엔진 (The Cedar Policy Engine)
게이트웨이에는 정책 엔진 (Policy Engine)이 부착되어 있습니다. Cedar는 밀리초 미만의 속도로 요청을 평가합니다. Cedar는 주체 (Principal, 사용자/에이전트), 동작 (Action, 호출되는 도구), 그리고 컨텍스트 (Context, LLM이 전달하려는 "amount": 500과 같은 JSON 파라미터)를 확인합니다.
- 강제 적용 (The Enforcement)
Cedar는 기본 거부 (Default-Deny) 및 금지 우선 (Forbid-Overrides-Permit) 로직에 따라 작동하므로, 에이전트가 명시적으로 허용되지 않은 동작을 시도하거나 "금지 (Forbid)" 규칙을 위반할 경우 게이트웨이는 요청을 드롭 (drop) 합니다. 하위 API는 절대 트리거되지 않습니다.
실무 엔지니어링: 트레이드오프 (Tradeoffs)와 현실
영어를 인프라로 번역한다는 것은 마법처럼 들리지만, 아키텍트로서 저는 여러분이 설계 시 고려해야 할 엔지니어링 현실을 지적해야 합니다.
- NL2Cedar는 강제 집행(Enforcement)이 아닌 작성(Authoring)을 위한 것입니다
자연어 번역은 배포 시점에 단 한 번 발생합니다. AWS는 LLM을 사용하여 Cedar 코드를 생성하지만, 자동화된 수학적 추론 (mathematical reasoning)을 사용하여 생성된 Cedar 코드가 구조적으로 건전하고 논리적 모순이 없는지 검증합니다. 런타임 (runtime) 시점에 게이트웨이 (Gateway)는 영어가 아닌, 컴파일된 원시 Cedar 코드를 평가합니다. 이는 밀리초 미만 (sub-millisecond)의 지연 시간 (latency)을 보장합니다.
- 여전히 Cedar 코드를 검토해야 합니다
"English-to-Infrastructure" 생성 기능이 믿을 수 없을 정도로 정확하더라도, 검토 없이 보안 정책을 프로덕션 (production) 환경에 맹목적으로 배포해서는 안 됩니다. 여러분의 DevSecOps 팀은 생성된 Cedar 코드를 읽고 이것이 컴플라이언스 (compliance) 요구 사항과 완벽하게 일치하는지 확인해야 합니다. 다행히도, Cedar는 AWS에 의해 사람이 읽기 매우 쉽도록 명시적으로 설계되었습니다.
- IAM과 Cedar는 상호 보완적입니다
기존의 AWS IAM 역할을 버리지 마십시오.
- AWS IAM은 누가 AgentCore 게이트웨이를 호출할 수 있는지 제어합니다.
- Cedar 정책 (Policies)은 에이전트가 워크플로 (workflow) 내부에 들어온 후 무엇을 할 수 있는지 제어합니다. 진정한 심층 방어 (defense-in-depth)를 달성하려면 두 가지 모두가 필요합니다.
결론
멀티 에이전트 시스템 (multi-agent systems)을 프로덕션으로 밀어 넣으면서, 우리는 대규모 언어 모델 (LLM)을 신뢰할 수 있는 컴퓨팅 환경으로 취급하는 것을 멈춰야 합니다. 시스템 프롬프트 (system prompts)를 아무리 미세 조정 (tune)하더라도, LLM은 확률적 엔진 (probabilistic engine)입니다.
보안에는 결정론 (determinism)이 필요합니다.
Amazon Bedrock AgentCore Gateway와 AWS Cedar를 활용함으로써, 여러분은 권한 부여 로직 (authorization logic)을 AI의 "두뇌"에서 완전히 추출하여 그것이 마땅히 있어야 할 인프라 계층 (infrastructure layer)으로 밀어 넣을 수 있습니다. 이를 통해 복잡한 비즈니스 경계를 평이한 영어로 표현하는 능력을 얻는 동시에, 수학적으로 증명 가능한 보안으로 이를 뒷받침할 수 있습니다.
에이전트가 잘 작동하기를 바라지 마십시오. 반드시 그렇게 작동할 것임을 확신하십시오.
귀하의 팀은 커스텀 권한 부여 미들웨어 (custom authorization middleware)를 Cedar 또는 AgentCore로 마이그레이션하기 시작했습니까? 댓글을 통해 귀하의 보안 아키텍처 (security architectures)에 대해 논의해 봅시다!
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기