View a markdown version of this page

設定具有記憶體連接器目標的閘道 - Amazon Bedrock AgentCore

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定具有記憶體連接器目標的閘道

若要使用閘道開啟記憶體資源,您可以使用傳入授權方建立閘道,然後新增使用agentcore-memory連接器的目標。

注意

您可以透過 AWS 管理主控台、 AWS SDK 和 AWS 命令列界面 (AWS CLI) 設定記憶體連接器。此頁面使用 AWS CLI;如需主控台步驟,請參閱使用主控台建立記憶體連接器。

先決條件

  • AgentCore 記憶體資源。如需詳細資訊,請參閱建立 AgentCore 記憶體。

  • 建立和設定 AgentCore Gateway 的許可。如需詳細資訊,請參閱使用 Amazon Bedrock AgentCore 閘道服務的先決條件。

  • 根據傳出登入資料模式 (請參閱傳出登入資料模式):閘道擔任的GATEWAY_IAM_ROLE閘道執行角色,其身分政策範圍僅限於閘道所需的記憶體動作;對於 CALLER_IAM_CREDENTIALS,必須允許發起人自己的 IAM 身分執行記憶體動作,因為閘道將該身分轉送至記憶體。

步驟

下列步驟使用 AWS CLI。對於每個 API 操作的輸入和輸出形狀,請遵循 Amazon Bedrock AgentCore Control API 參考的連結。將範例名稱、 memoryId和角色 ARN 取代為您自己的值。

  1. 使用 CreateGateway 建立閘道,然後選擇其傳入授權方類型 (authorizerType)。授權方會決定發起人如何向閘道進行身分驗證,以及哪些身分資訊可供存取控制政策使用。如需詳細資訊,請參閱傳入和傳出身分驗證模式。

    下列範例會建立閘道,使用 OAuth (CUSTOM_JWT) 對最終使用者進行身分驗證,OAuth 是主要的精細存取控制路徑。提供 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 等待閘道的 status 為 READY。

    注意

    此範例使用 OAuth 傳入,一律使用GATEWAY_IAM_ROLE傳出憑證模式。--role-arn 值是閘道用來呼叫記憶體的閘道執行角色。如需其他傳入和傳出模式,請參閱傳入和傳出身分驗證模式。

  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. 連接政策引擎並新增精細存取控制政策。此步驟會強制執行每個來電者的隔離。如需完整程序和記憶體特定政策範例,請參閱記憶體的精細存取控制。

注意

您提供目標的名稱會成為該目標的每個 Cedar 動作 ID 的一部分,名為 的目標<target-name>會產生以 開頭的動作 ID<target-name>___。選擇您習慣在存取控制政策中參考的目標名稱。