View a markdown version of this page

使用内存连接器目标设置网关 - 亚马逊基岩 AgentCore

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用内存连接器目标设置网关

要使用网关预置内存资源,您需要使用入站授权方创建网关,然后添加使用该agentcore-memory连接器的目标。

注意

您可以通过 AWS 管理控制台、 AWS SDK 和 AWS 命令行接口 (AWS CLI) 设置内存连接器。本页使用 AWS CLI;有关控制台步骤,请参阅使用控制台创建内存连接器。

先决条件

  • AgentCore 内存资源。有关更多信息,请参阅创建 AgentCore 内存。

  • 创建和配置 AgentCore 网关的权限。有关更多信息,请参阅使用 Amazon Bedrock AgentCore 网关服务的使用亚马逊 Bedrock AgentCore 网关服务的先决条件先决条件。

  • 视出站凭证模式而定(请参阅出站凭证模式):对于GATEWAY_IAM_ROLE,网关假定调用内存的网关执行角色,其身份策略仅限于网关所需的内存操作;对于CALLER_IAM_CREDENTIALS,必须允许调用者自己的 IAM 身份执行内存操作,因为网关会将该身份转发给内存。

步骤

以下步骤使用 AWS CLI。要了解每个 API 操作的输入和输出形状,请访问亚马逊基岩 AgentCore 控制 API 参考链接。将示例名称和角色 ARN 替换为您自己的值。memoryId

  1. 使用网关创建网关CreateGateway并选择其入站授权方类型 (authorizerType)。授权者决定呼叫者如何向网关进行身份验证以及哪些身份信息可用于访问控制策略。有关更多信息,请参阅入站和出站身份验证模式。

    以下示例创建了一个使用 OAuth (CUSTOM_JWT)(主要的细粒度访问控制路径)对最终用户进行身份验证的网关。提供您的 OpenID Connect 提供商的发现 URL 和允许的客户端 ID。

    aws bedrock-agentcore-control create-gateway \ --name my-memory-gateway \ --role-arn arn:aws:iam::123456789012:role/my-gateway-execution-role \ --authorizer-type CUSTOM_JWT \ --authorizer-configuration '{ "customJWTAuthorizer": { "discoveryUrl": "https://your-idp.example.com/.well-known/openid-configuration", "allowedClients": ["your-client-id"] } }'

    响应包括gatewayIdgatewayArn、和调用gatewayUrl。创建是异步的;GetGateway用于等待网关status启动READY。

    注意

    此示例使用入站 OAuth,它始终使用GATEWAY_IAM_ROLE出站凭证模式。该--role-arn值是网关用来调用 Memory 的网关执行角色。有关其他入站类型和出站模式,请参阅入站和出站身份验证模式。

  2. 使用agentcore-memory连接器作为目标配置 CreateGatewayTarget,向网关添加目标。对于--gateway-identifier,使用上一步CreateGateway中gatewayId返回的。在前面提供连接器 ID 和内存资源的。memoryId目标credentialProviderConfigurations设置了出站凭证模式;如果是 OAuth 入站,则是。GATEWAY_IAM_ROLE

    aws bedrock-agentcore-control create-gateway-target \ --gateway-identifier <gateway-id> \ --name my-memory \ --target-configuration '{ "http": { "connector": { "source": { "connectorId": "agentcore-memory" }, "parameters": { "memoryId": "your-memory-id" } } } }' \ --credential-provider-configurations '[ { "credentialProviderType": "GATEWAY_IAM_ROLE" } ]'

    目标创建是异步的;GetGatewayTarget用于等待目标创status建READY。目标名称(my-memory此处)成为该目标的每个 Cedar 操作 ID 的前缀。

  3. 连接策略引擎并添加细粒度的访问控制策略。此步骤强制对每个呼叫者进行隔离。有关完整的过程和 Memory-specific 策略示例,请参阅内存的Fine-grained 访问控制。

注意

您为目标指定的名称将成为该目标的每个 Cedar 操作 ID 的一部分,名为的目标<target-name>会生成以此开头的操作 ID <target-name>___。选择您在访问控制策略中可以轻松引用的目标名称。