

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

# 使用内存连接器目标设置网关
<a name="memory-gateway-setup"></a>

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

**注意**  
您可以通过 Amazon 管理控制台、 Amazon SDK 和 Amazon 命令行接口 (Amazon CLI) 设置内存连接器。本页使用 Amazon CLI；有关控制台步骤，请参阅使用控制台[创建内存连接器](memory-gateway-connector-console.md)。

 **先决条件** 
+  AgentCore 内存资源。有关更多信息，请参阅[创建 AgentCore 内存](memory-create-a-memory-store.md)。
+ 创建和配置 AgentCore 网关的权限。有关更多信息，请参阅使用 Amazon Bedrock AgentCore 网关服务的[使用亚马逊 Bedrock AgentCore 网关服务的先决条件](gateway-prerequisites.md)先决条件。
+ 视出站凭证模式而定（请参阅[出站凭证模式](memory-gateway-connector.md#memory-gateway-connector-outbound)）：对于`GATEWAY_IAM_ROLE`，网关假定调用内存的网关执行角色，其身份策略仅限于网关所需的内存操作；对于`CALLER_IAM_CREDENTIALS`，必须允许调用者自己的 IAM 身份执行内存操作，因为网关会将该身份转发给内存。

 **步骤** 

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

1. 使用网关创建网关[CreateGateway](https://docs.amazonaws.cn/bedrock-agentcore-control/latest/APIReference/API_CreateGateway.html)并选择其入站授权方类型 (`authorizerType`)。授权者决定呼叫者如何向网关进行身份验证以及哪些身份信息可用于访问控制策略。有关更多信息，请参阅[入站和出站身份验证模式](memory-gateway-connector.md#memory-gateway-connector-auth-modes)。

   以下示例创建了一个使用 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"]
       }
     }'
   ```

   响应包括`gatewayId``gatewayArn`、和调用`gatewayUrl`。创建是异步的；[GetGateway](https://docs.amazonaws.cn/bedrock-agentcore-control/latest/APIReference/API_GetGateway.html)用于等待网关`status`启动`READY`。
**注意**  
此示例使用入站 OAuth，它始终使用`GATEWAY_IAM_ROLE`出站凭证模式。该`--role-arn`值是网关用来调用 Memory 的网关执行角色。有关其他入站类型和出站模式，请参阅[入站和出站身份验证模式](memory-gateway-connector.md#memory-gateway-connector-auth-modes)。

1. 使用`agentcore-memory`连接器作为目标配置 [ CreateGatewayTarget](https://docs.amazonaws.cn/bedrock-agentcore-control/latest/APIReference/API_CreateGatewayTarget.html)，向网关添加目标。对于`--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](https://docs.amazonaws.cn/bedrock-agentcore-control/latest/APIReference/API_GetGatewayTarget.html)用于等待目标创`status`建`READY`。目标名称（`my-memory`此处）成为该目标的每个 Cedar 操作 ID 的前缀。

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

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