기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
OAuth를 사용하여 최종 사용자를 메모리에 인증
Amazon Bedrock AgentCore 메모리 데이터 영역은 AWS 서명 버전 4(SigV4)로만 호출자를 인증합니다. 백엔드 또는 에이전트가 많은 사용자를 대신하여 메모리를 호출하면 메모리는 백엔드의 IAM 역할만 볼 수 있습니다. 즉, 지정된 요청이 있는 최종 사용자를 확인하거나 적용할 수 없습니다. 한 사용자의 데이터를 다른 사용자의 데이터와 분리하는 것은 전적으로 각 요청에 올바른 네임스페이스actorId를 설정하는 애플리케이션 코드에 따라 달라집니다. 메모리 계층의 어떤 것도 요청 처리 사용자 A가 사용자 B의 데이터를 읽는 것을 방해하지 않습니다.
OAuth(CUSTOM_JWT) 인바운드 인증을 위해 구성된 AgentCore 게이트웨이를 사용하여 메모리를 앞에 배치하면 메모리에 자체적으로 없는 OAuth 지원을 추가할 수 있습니다. 호출자는 최종 사용자의 JWT에 요청을 제공하고 게이트웨이는 요청을 검증하며 액세스 제어 정책은 애플리케이션 로직과 관계없이 인프라 계층에서 토큰의 클레임을 기반으로 격리를 적용합니다. 그런 다음 게이트웨이는 게이트웨이 실행 역할로 Memory를 호출하여 OAuth 인증 호출자와 Memory의 IAM 인증 데이터 영역 간의 브리지 역할을 합니다.
참고
이 페이지는 AgentCore 메모리 커넥터를 기반으로 합니다. 먼저 메모리 커넥터 대상으로 게이트웨이를 설정합니다. 자세한 내용은 게이트웨이를 통한 AgentCore 메모리 액세스를 참조하세요.
게이트웨이가 OAuth를 메모리에 연결하는 방법
게이트웨이가 메모리 커넥터 대상 앞에서 CUSTOM_JWT 인바운드 인증을 사용하는 경우:
-
호출자는 OpenID Connect 공급자가 발급한 JWT 보유자 토큰을 사용하여 게이트웨이에 요청을 보냅니다. 애플리케이션에 따라 토큰은 최종 사용자 또는 에이전트 자체를 나타낼 수 있으며 클레임에 최종 사용자 정보를 포함할 수 있습니다.
-
게이트웨이는 구성한 공급자에 대해 토큰을 검증하고 게이트웨이의 액세스 제어 정책에서 토큰의 클레임(예:
sub및client_id)을 보안 주체 태그로 사용할 수 있게 됩니다. -
정책이 요청을 허용하는 경우 게이트웨이는 게이트웨이 실행 역할(
GATEWAY_IAM_ROLE아웃바운드 자격 증명 모드) 아래의 메모리 데이터 영역으로 요청을 전달합니다.
작은 정보
일반적인 챗봇 또는 에이전트 아키텍처에서 최종 사용자는 메모리를 직접 호출하지 않습니다. 에이전트 또는 백엔드 서비스는 HTTP 호출자이며, 각 메모리 요청과 함께 최종 사용자의 JWT, 즉 토큰 "travels with" 요청을 전달합니다. 게이트웨이는 해당 토큰을 인증하고 클레임에 대해 정책을 평가하므로 에이전트가 호출하는 엔터티인 경우에도 토큰이 나타내는 최종 사용자에게 액세스가 적용됩니다.
따라서 세분화된 액세스 제어가 중요합니다. 이렇게 하면 에이전트가 올바른 actorId 네임스페이스 자체를 설정하도록 신뢰하는 대신 요청이 토큰에 전달된 인증된 최종 사용자에게 속한 메모리 데이터에만 도달하도록 할 수 있습니다.
에이전트 애플리케이션을 사용하면 최종 사용자가 Amazon Cognito 또는 OpenID Connect 공급자와 같은 표준 OAuth 자격 증명 공급자를 통해 로그인할 수 있으며 인증된 최종 사용자의 자격 증명을 기반으로 사용자당 메모리 격리를 적용할 수 있습니다. 애플리케이션은 최종 사용자에게 AWS 자격 증명을 배포하지 않으며 메모리는 기본적으로 OAuth를 이해할 필요가 없습니다.
CUSTOM_JWT 권한 부여자(OpenID Connect 검색 URL, 허용된 대상 및 클라이언트, 범위) 구성은 표준 게이트웨이 인바운드 권한 부여 작업이며 메모리에만 국한되지 않습니다. 권한 부여자 구성은 AgentCore 게이트웨이 생성을 참조하세요. JWT 클레임이 AgentCore::OAuthUser 보안 주체 및 해당 태그에 매핑되는 방법은 코어 개념을 참조하세요.
참고
OAuth(CUSTOM_JWT) 인바운드는 GATEWAY_IAM_ROLE 아웃바운드 자격 증명 모드와만 호환됩니다. CALLER_IAM_CREDENTIALS 모드는 JWT 인증 호출자에 대해 존재하지 않는 호출자의 IAM 자격 증명을 전달하므로 대상 생성 시 거부됩니다. 전체 호환성 매트릭스는 인바운드 및 아웃바운드 인증 모드를 참조하세요.
메모리에 대한 사용자별 액세스 적용
OAuth로 호출자를 인증하면 자격 증명 기반 권한 부여가 가능하지만 인증만으로는 호출자가 수행할 수 있는 작업이 제한되지 않습니다. 유효한 토큰이 있는 모든 요청은 여전히 메모리 리소스의 모든 액터, 세션 및 네임스페이스에 도달할 수 있습니다. 각 요청이 JWT에서 자격 증명이 전달되는 인증된 최종 사용자에게 속한 메모리 데이터에만 액세스할 수 있도록 하려면 세분화된 액세스 제어로 액세스 제어 정책을 추가합니다. 이러한 정책을 작성하는 방법은 메모리에 대한 세분화된 액세스 제어를 참조하세요.