섹션별 상세
AI 에이전트의 외부 서비스 접근 시 보안 위협을 방지하기 위해 AgentCore Identity를 독립적인 신원 관리 서비스로 활용합니다. 에이전트가 ECS, EKS, Lambda 등 다양한 환경에서 실행되더라도 외부 서비스 자격 증명을 안전하게 관리하고 토큰 저장소 역할을 수행합니다. 이를 통해 개발자는 복잡한 OAuth 흐름 구현 대신 에이전트 로직에 집중할 수 있으며, 중앙 집중식 보안 제어가 가능해집니다.

사용자 인증을 위해 Amazon ALB의 기본 OIDC 기능을 활용하여 인바운드 트래픽을 검증합니다. ALB는 Microsoft Entra ID와 같은 IDP와 통신하여 사용자를 인증하고, 서명된 JWT를 x-amzn-oidc-data 헤더에 담아 ECS 워크로드로 전달합니다. 에이전트는 이 헤더에서 sub 클레임을 추출하여 사용자를 고유하게 식별하고, 이를 AgentCore Identity의 워크로드 토큰 발급에 사용합니다.
세션 바인딩 기법을 도입하여 OAuth 인증 과정에서 발생할 수 있는 보안 취약점을 차단합니다. AgentCore Identity는 인증 흐름 상태를 추적하는 sessionURI를 생성하고, 사용자 브라우저가 최종적으로 고객 관리 서비스로 리다이렉트될 때 이를 검증합니다. 워크로드에서의 사용자 ID와 세션 바인딩 서비스에서의 사용자 ID가 일치하는지 암호학적으로 확인함으로써 공격자의 토큰 주입을 원천 봉쇄합니다.
python
agentcore = boto3.client("bedrock-agentcore", region_name=settings.identity_aws_region)
response = agentcore.get_workload_access_token_for_user_id(
workloadName=settings.workload_identity_name,
userId=user_id
)
workload_access_token = response["workloadAccessToken"]사용자 ID를 기반으로 AgentCore Identity에서 워크로드 액세스 토큰을 획득하는 코드

최소 권한 원칙을 준수하기 위해 각 에이전트 도구별로 필요한 OAuth 스코프를 개별적으로 선언합니다. 에이전트가 GitHub API를 호출할 때 전체 권한 대신 read:user와 같이 특정 도구에 필요한 범위만 요청하여 보안 노출을 최소화합니다. AgentCore Identity는 유효한 토큰이 없을 경우에만 사용자에게 권한 승인 URL을 반환하며, 획득된 토큰은 안전한 토큰 저장소에 보관되어 재사용됩니다.
python
@requires_access_token(
provider_name=self.config.provider_name,
scopes=scopes,
auth_flow="USER_FEDERATION",
workload_access_token=self.config.workload_access_token,
session_binding_url=self.config.session_binding_url,
on_auth_url=self._on_auth_url,
region=self.config.aws_region,
)
async def make_request(*, access_token: str) -> Any:
async with httpx.AsyncClient() as client:
response = await client.get(
f"{self.config.github_api_base}{endpoint}",
headers={"Authorization": f"Bearer {access_token}"}
)데코레이터를 사용하여 외부 API 호출 시 필요한 OAuth 액세스 토큰을 자동으로 주입받는 예시
용어 해설
- 권한 부여 코드 승인(Authorization Code Grant)
- — 사용자가 직접 자격 증명을 공유하지 않고 애플리케이션에 리소스 접근 권한을 위임하는 OAuth 2.0 흐름입니다. 보안을 위해 중간 단계인 코드를 교환하여 액세스 토큰을 획득하며, 에이전트가 사용자 대신 행동할 때 명시적 동의와 감사 추적을 제공하는 핵심 메커니즘입니다.
- 세션 바인딩(Session Binding)
- — 인증된 사용자의 세션과 특정 OAuth 흐름을 논리적으로 연결하여 보안을 강화하는 기법입니다. 이를 통해 공격자가 자신의 토큰을 피해자의 계정에 연결하거나 브라우저를 교체하여 권한을 탈취하는 CSRF 및 브라우저 스와핑 공격을 방지합니다.
- 워크로드 ID(Workload Identity)
- — 애플리케이션이나 서비스(워크로드)가 클라우드 환경에서 다른 서비스에 접근하기 위해 사용하는 고유한 식별 정보입니다. 개별 사용자 단위로 범위를 제한한 토큰을 발급받아 최소 권한 원칙을 준수하면서 에이전트가 안전하게 외부 API를 호출할 수 있게 합니다.
- 오픈아이디 커넥트(OIDC)
- — OAuth 2.0 프로토콜 위에서 구현된 인증 계층으로, 사용자가 누구인지 확인하는 기능을 제공합니다. ID 토큰(JWT)을 통해 사용자 프로필 정보를 전달하며, 본 아키텍처에서는 ALB와 연동되어 에이전트 시스템에 접속하는 사용자의 신원을 검증하는 데 사용됩니다.
기술
- Amazon Bedrock
- Amazon ECS
- FastAPI
- Boto3
- Microsoft Entra ID
- AWS ALB
- Strands Agents
활용 사례
- 사용자 대신 GitHub 리포지토리를 관리하는 코딩 에이전트
- Jira 티켓을 생성하거나 업데이트하는 업무 자동화 에이전트
- 개인 캘린더나 이메일 데이터를 조회하는 개인 비서 에이전트
언급된 리소스
AI 분석 전체 내용 보기
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
원문 발행 2026. 05. 06.수집 2026. 05. 06.출처 타입 RSS
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.

