기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
게이트웨이를 통해 AgentCore 메모리에 액세스
기본적으로 애플리케이션은 Amazon Bedrock AgentCore 메모리 데이터 영역을 직접 호출하고 각 요청은 AWS 서명 버전 4(SigV4)로 인증됩니다. IAM 자격 증명 기반 정책과 리소스 기반 정책을 모두 사용하여이 액세스를 제어할 수 있습니다. 이는 백엔드 서비스가 모든 사용자를 대신하여 메모리를 호출할 때 효과적이며 메모리 계층에서 사용자별 격리를 적용할 필요가 없습니다.
백엔드가 많은 사용자를 위해 메모리를 호출하면 메모리는 백엔드의 IAM 역할만 봅니다. 요청이 필요한 최종 사용자를 확인할 수 없습니다. 애플리케이션 코드는 각 요청에 올바른 네임스페이스actorId와 네임스페이스를 설정하여 한 사용자의 데이터를 다른 사용자의 데이터와 격리해야 합니다.
AgentCore 메모리 앞에 AgentCore Gateway를 배치하면 애플리케이션 코드에서 인프라로 해당 적용을 이동할 수 있습니다. AgentCore 게이트웨이는 메모리 트래픽에 대한 안전한 단일 진입점이 됩니다. 각 호출자를 인증하고, 액세스 제어 정책을 평가하고, 허용된 요청을 메모리에 전달합니다. 게이트웨이가 있는 프런트닝 메모리는 직접 액세스할 수 없는 두 가지 기능을 제공합니다.
- 최종 사용자를 위한 OAuth 인증
-
메모리의 데이터 영역은 SigV4-only입니다. OAuth(JWT) 인바운드 인증을 위해 구성된 게이트웨이를 사용하면 최종 사용자가 표준 OpenID Connect 공급자로 인증할 수 있으며 애플리케이션은 자격 AWS 증명을 배포하지 않습니다. 자세한 내용은 OAuth를 사용하여 최종 사용자를 메모리에 인증하기를 참조하세요.
- 세분화된 액세스 제어
-
게이트웨이는 OAuth로 인증된 호출자를 포함하여 호출자를 자신의 액터, 자신의 네임스페이스 또는 특정 메모리 작업 세트로 제한하는 정책을 평가할 수 있습니다. 자세한 내용은 메모리에 대한 세분화된 액세스 제어를 참조하세요.
참고
메모리 배치 작업(
BatchCreateMemoryRecords,BatchUpdateMemoryRecords및BatchDeleteMemoryRecords)에는 세분화된 액세스 제어가 지원되지 않습니다. 이러한 각 작업에는 정책 엔진이 개별적으로 평가할 수 없는 단일 요청으로 여러 레코드가 포함됩니다.
두 기능 모두이 페이지에 설명된 AgentCore 메모리 커넥터를 기반으로 합니다. 커넥터 설정은 둘 중 하나의 사전 조건입니다.
주제
AgentCore 메모리 커넥터
AgentCore 메모리 커넥터(agentcore-memory)는 게이트웨이 대상을 AgentCore 메모리 데이터 영역에 연결하는 관리형 게이트웨이 커넥터입니다. AgentCore 커넥터는 기본 제공 대상 유형입니다. API 스키마를 작성하고 엔드포인트 와이어링을 직접 관리하는 대신 커넥터 유형의 대상을 생성하고 커넥터 ID와 대상 파라미터만 제공합니다.
메모리 커넥터 대상을 생성할 때 다음을 제공합니다.
-
커넥터 ID(
agentcore-memory) 및 -
대상 파라미터, 특히 대상 앞에 있는 메모리 리소스
memoryId의 입니다.
그러면 커넥터가 다음을 수행합니다.
- 메모리 엔드포인트를 해결합니다.
-
대상의 메모리 리소스에 대한 올바른 메모리 데이터 영역 엔드포인트를 결정합니다.
- 지원되는 메모리 작업을 Cedar 작업으로 사용할 수 있도록 합니다.
-
커넥터는 , , , , ,
ListEvents, , , , 및와 같이 각각 수락하는 요청 필드가 있는 메모리 데이터 영역 작업을 Cedar 작업으로 사용할 수 있도록 합니다CreateEventGetEventDeleteEventListSessionsListActorsRetrieveMemoryRecordsListMemoryRecordsGetMemoryRecordDeleteMemoryRecordListMemoryExtractionJobsStartMemoryExtractionJob. 이를 통해 세분화된 액세스 제어 정책이 요청 속성에 대한 특정 메모리 작업 및 조건을 허용하거나 거부할 수 있습니다. 작업 ID 및 요청 속성은 메모리에 대한 세분화된 액세스 제어를 참조하세요.참고
메모리 배치 작업(
BatchCreateMemoryRecords,BatchUpdateMemoryRecords및BatchDeleteMemoryRecords)은 세분화된 액세스 제어에 지원되지 않습니다. 이러한 각 작업에는 정책 엔진이 개별적으로 평가할 수 없는 단일 요청으로 여러 레코드가 포함됩니다. - 요청을 전달합니다.
-
대상의 구성된 아웃바운드 자격 증명 모드를 사용하여 허용된 각 요청을 메모리 데이터 영역으로 전달합니다.
커넥터는 메모리 모델을 즉시 제공하므로 스키마를 수동으로 작성하거나 엔드포인트 연결을 관리하지 않습니다.
요청이 게이트웨이를 통해 흐르는 방식
클라이언트가 게이트웨이를 통해 메모리를 호출하면 게이트웨이는 다음 4단계로 요청을 처리합니다.
-
인바운드 인증 - 게이트웨이는 OAuth(JWT) 보유자 토큰, AWS SigV4 또는 인증되지 않은 요청과 같은 인바운드 권한 부여자 유형에 따라 호출자를 검증합니다. 인바운드 및 아웃바운드 인증 모드를 참조하세요.
-
작업 해결 - 게이트웨이는 수신 HTTP 요청(메서드 및 경로)을 호출자가 시도하는 메모리 작업에 대한 Cedar 작업에 매핑합니다. 경로 파라미터와 요청 본문 필드는 요청 컨텍스트 객체로 추출됩니다.
-
정책 평가 - 게이트웨이에 연결된 정책 엔진이 있는 경우 요청에 대해 구성된 액세스 제어 정책을 평가합니다. 평가는 deny-by-default됩니다. 메모리에 대한 세분화된 액세스 제어를 참조하세요.
-
아웃바운드 인증 - 요청이 허용되는 경우 게이트웨이는 대상의 아웃바운드 자격 증명 모드를 사용하여 메모리 데이터 영역으로 요청을 전달합니다. 아웃바운드 자격 증명 모드를 참조하세요.
인바운드 및 아웃바운드 인증 모드
게이트웨이에는 호출자를 인증하는 방법을 제어하는 인바운드 권한 부여자 유형이 있으며, 각 메모리 커넥터 대상에는 게이트웨이가 메모리를 호출하는 데 사용하는 자격 증명을 제어하는 아웃바운드 자격 증명 모드가 있습니다. 대부분의 배포는 다음 두 가지 조합 중 하나를 사용합니다.
- OAuth 최종 사용자(기본 세분화된 액세스 제어 경로)
-
CUSTOM_JWTGATEWAY_IAM_ROLE아웃바운드로 인바운드. 사용자 또는 에이전트는 OpenID Connect 공급자로 인증하고 게이트웨이는 자체 게이트웨이 실행 역할로 메모리를 호출합니다. IAM 보안 주체가 아닌 호출자에 대해 사용자별 격리를 원할 때 사용할 조합입니다. 자세한 내용은 OAuth를 사용하여 최종 사용자를 메모리에 인증하기를 참조하세요. - 자격 증명 패스스루를 사용하는 IAM 백엔드 서비스
-
AWS_IAMCALLER_IAM_CREDENTIALS아웃바운드로 인바운드. 게이트웨이는 각 호출자의 자체 IAM 자격 증명을 메모리로 전달하므로 메모리는 호출자의 IAM 권한을 평가하고 사용자는 게이트웨이 전달 트래픽을 소스 핀으로 지정할 수 있습니다. 호출자가 이미 IAM 보안 주체이고 메모리에서 직접 권한을 부여하도록 하려는 경우이 옵션을 사용합니다.
GATEWAY_IAM_ROLE 아웃바운드와 AWS_IAM 같은 또는 NONE 인바운드와 같은 다른 조합은 IAM 호출자에 대한 중앙 집중식 Cedar 적용 또는 개발 및 테스트와 같은 특수 시나리오에 지원됩니다. 전체 세트는 호환성 매트릭스를 참조하세요.
인바운드 권한 부여자 유형
게이트웨이를 생성할 때 인바운드 권한 부여자를 선택합니다. 메모리 커넥터는 AgentCore Gateway가 지원하는 모든 인바운드 권한 부여자 유형을 지원합니다. 자세한 내용은 Amazon Bedrock AgentCore Gateway의 핵심 개념을 참조하세요.
-
CUSTOM_JWT(OAuth/JWT) - 세분화된 액세스 제어를 위한 기본 경로입니다. 호출자의 JWT 클레임을 액세스 제어 정책에 사용할 수 있게 하고 최종 사용자에 대해 OAuth 인증을 활성화합니다. OAuth를 사용하여 최종 사용자를 메모리에 인증하기를 참조하세요. -
AWS_IAM(SigV4) - 호출자의 IAM 자격 증명을 액세스 제어 정책에 사용할 수 있도록 합니다. IAM 인증 백엔드 호출자, 중앙 집중식 Cedar 적용 또는 소스 고정에 사용합니다. -
AUTHENTICATE_ONLY- 유효한 서명된 요청이 필요하지만 자격 증명 기반 정책 규칙에 대해 입력된 발신자 자격 증명을 노출하지 않습니다. -
NONE- 권한 없음. 개발 및 테스트 전용이며 프로덕션 메모리 액세스에는 사용하지 않습니다.
아웃바운드 자격 증명 모드
아웃바운드 자격 증명 모드는 메모리 데이터 영역에 표시되는 자격 증명을 결정합니다. 규칙은 간단합니다.
-
인바운드 인증이
CUSTOM_JWT또는 인 경우 게이트웨이는 항상를 사용합니다.GATEWAY_IAM_ROLE즉NONE, 게이트웨이 실행 역할에서 메모리를 호출합니다. 다른 유효한 옵션은 없으며 선택할 것도 없습니다. -
인바운드 인증이
AWS_IAM또는 인 경우 게이트웨이 실행 역할을 사용하는 대신 호출자의 자체 IAM 자격 증명을 메모리에 전달CALLER_IAM_CREDENTIALS하도록 추가로 선택할AUTHENTICATE_ONLY수 있습니다.
| 아웃바운드 모드 | 게이트웨이가 메모리를 호출하는 방법 |
|---|---|
|
|
게이트웨이는 게이트웨이 실행 역할로 Memory를 호출합니다(일방 호출). 모든 인바운드 유형에서 작동합니다. |
|
|
게이트웨이는 호출자의 자체 IAM 자격 증명을 메모리(위임된 액세스)로 전달합니다. 전달하려면 호출자 IAM 자격 증명이 필요하기 때문에 |
호환성 매트릭스
다음 표에는 메모리 커넥터 대상에서 지원되는 인바운드 권한 부여자와 아웃바운드 자격 증명 모드의 모든 조합이 나열되어 있습니다.
| 인바운드 |
GATEWAY_IAM_ROLE
|
CALLER_IAM_CREDENTIALS
|
|---|---|---|
|
|
지원됨 |
대상 생성 시 거부됨 |
|
|
지원됨 |
지원됨 |
|
|
지원됨 |
대상 생성 시 거부됨 |
|
|
지원됨 |
지원됨 |
아웃바운드 자격 증명 모드가 메모리 액세스 제어에 미치는 영향
아웃바운드 자격 증명 모드는 메모리가 승인하는 자격 증명을 결정하므로 호출자로 범위가 지정된 IAM 정책은 각 모드에서 다르게 동작합니다. 또한 메모리 리소스 기반 정책을 사용하여 게이트웨이 전달 트래픽을 제한하는 방법을 결정합니다.
-
GATEWAY_IAM_ROLE -
게이트웨이는 게이트웨이 실행 역할로 메모리를 호출하므로 메모리는 요청을 해당 역할로 승인합니다. 이 게이트웨이에 대한 액세스를 제한하려면 게이트웨이 실행 역할 ARN에 대해
aws:PrincipalArn조건을 사용하고 해당 역할의 자격 증명 정책을 게이트웨이에 필요한 메모리 작업으로만 범위를 지정할 수 있습니다. 게이트웨이에서 전달하는 요청에는 게이트웨이 ARN으로 설정된aws:SourceArn조건 키도 포함됩니다(다음 모드 참조). -
CALLER_IAM_CREDENTIALS -
게이트웨이는 호출자의 IAM 자격 증명을 메모리로 전달하므로 메모리는 호출자로 요청을 승인합니다. 보안 주체는 게이트웨이가 아닌 호출자이므로
aws:SourceArn조건을 사용하여 게이트웨이 전달 트래픽에 대한 액세스를 제한합니다.
두 아웃바운드 모드 모두에서 게이트웨이는 요청을 전달한 게이트웨이의 ARN으로 aws:SourceArn 조건 키를 스탬프합니다. 따라서 메모리 리소스 기반 정책은 아웃바운드 자격 증명 모드에 관계없이 게이트웨이 ARN과 일치시켜 특정 게이트웨이에 aws:SourceArn 대한 액세스를 제한할 수 있습니다.
중요
아웃바운드 자격 증명 모드는 메모리가 승인하는 자격 증명을 변경하므로 호출자로 범위가 지정된 IAM 정책은 다르게 작동합니다.
-
CALLER_IAM_CREDENTIALS를 사용하면 메모리가 호출자의 자체 IAM 자격 증명을 확인합니다.Deny특정의actorId또는bedrock-agentcore:namespace및와 같은 메모리 조건 키를 포함하여 호출자를 참조하는 IAM 자격 증명 기반 및 리소스 기반 정책은 해당 호출자에 대해 평가bedrock-agentcore:namespacePath됩니다. -
를 사용하면
GATEWAY_IAM_ROLE메모리에 게이트웨이 실행 역할만 표시됩니다. 모든 호출자의 요청은 해당 단일 역할의 메모리Deny에 도달하므로 개별 호출자의 자격 증명(예: 특정의actorId)으로 범위가 지정된 IAM 정책은 원래 호출자에 대해 평가되지 않으며 적용되지 않습니다. 이 모드에서 호출자별 액세스를 적용하기 위해 호출자 범위 IAM 정책에 의존하지 마십시오.
GATEWAY_IAM_ROLE를 사용하고 호출자당 액세스 제어가 필요한 경우(예: 호출자를 자체 actorId 또는 네임스페이스로 제한) 호출자 범위 IAM 정책이 아닌 게이트웨이에서 세분화된 액세스 제어(Cedar 정책)를 사용하여 적용합니다. 이는 기본 세분화된 액세스 제어 경로입니다. 자세한 내용은 메모리에 대한 세분화된 액세스 제어를 참조하세요.
리소스 기반 정책 조건 키 및 JSON 정책 예제는 Amazon Bedrock AgentCore에 대한 리소스 기반 정책을 참조하세요.