AI News HubLIVE
站內改寫4 分鐘閱讀

在Amazon Bedrock AgentCore Identity中引用您自己的AWS Secrets Manager金鑰

Amazon Bedrock AgentCore Identity現在支援引用您自己的AWS Secrets Manager金鑰,使您能夠完全控制金鑰的加密、輪換、複製、標籤和資源策略,同時擴充套件組織現有的金鑰治理流程。

來源AWS Machine Learning Blog作者: Swara Gandhi

AI代理的強大程度取決於它們能訪問的工具。無論是從CRM檢索客戶資料、在Slack上釋出更新,還是查詢GitHub倉庫,代理都需要呼叫外部API,這意味著在執行時安全地傳遞憑證。在不將金鑰硬編碼在程式碼中或暴露在代理提示中的情況下做到這一點,是構建生產級代理系統的關鍵挑戰之一。

Amazon Bedrock AgentCore Identity透過憑證提供程式和令牌保險庫應對這一挑戰,它們會自動在您賬戶的AWS Secrets Manager中為每個出站憑證提供程式資源建立並管理一個金鑰。該金鑰包含API金鑰或客戶端金鑰以及外部身份提供程式的其他後設資料。雖然AgentCore Identity完全建立並管理這些金鑰,但客戶在建立時無法配置自定義標籤、輪換策略或客戶管理的AWS KMS金鑰加密。

今天,我們激動地宣佈AgentCore Identity支援引用AWS Secrets Manager中的金鑰,因此您可以引用自己預先配置的Secrets Manager金鑰,並保留對其管理的完全控制。憑藉此功能,您可以將組織現有的金鑰治理流程擴充套件到AgentCore。您可以為憑證提供程式資源提供現有的、預先配置的AWS Secrets Manager金鑰。您保留對其加密配置、輪換、複製、標籤和資源策略的完全控制,就像管理Secrets Manager中的其他金鑰一樣。您還可以從同一AWS區域內的另一個AWS賬戶中選擇金鑰,但不支援跨區域金鑰共享。這還支援透過AWS Secrets Manager外部聯結器引入的金鑰,從而實現與第三方金鑰管理器的整合。

本文中,我們將回顧示例用例,並逐步介紹如何開始使用現有金鑰配置憑證提供程式資源。

示例用例

以下是一些示例用例:

  • 您的代理訪問一個您團隊已有金鑰的外部API:提供該現有金鑰的ARN給您的憑證提供程式資源,而不是讓AgentCore Identity建立一個新金鑰。您還可以引用同一區域中另一個AWS賬戶的金鑰,以及透過AWS Secrets Manager外部聯結器引入的金鑰,支援與第三方金鑰管理器整合。
  • 您希望出於安全最佳實踐輪換金鑰,並且希望代理在輪換期間繼續工作:當您輪換金鑰值時,AgentCore Identity會在下一次讀取時檢索更新後的值。您無需更新或重新建立憑證提供程式資源。
  • 您將金鑰訪問範圍限定於預期的代理使用:直接在AWS Secrets Manager中配置金鑰的資源策略。您可以控制哪些AWS Identity and Access Management(IAM)主體可以訪問金鑰,並限定訪問條件。
  • 您的代理在受監管環境中執行,每個憑證都必須使用您客戶管理的金鑰加密:在將金鑰提供給AgentCore Identity之前,使用您的客戶管理加密金鑰建立金鑰。如果您的組織強制執行SCP和RCP以確保所有資料使用客戶管理的CMK加密,這將特別有用。透過引用現有金鑰,您的加密配置完全保留。
  • 您的組織需要金鑰上的資源標籤以進行成本分配、合規跟蹤或治理審計:在將金鑰提供給AgentCore Identity之前,根據您的標準建立並標記金鑰。

有關金鑰配置選項的更多資訊,請參閱《AWS Secrets Manager使用者指南》。

前提條件

要跟隨操作,您需要以下內容:

  • 一個包含API金鑰或OAuth客戶端金鑰的現有AWS Secrets Manager金鑰。
  • IAM許可權,允許AgentCore Identity服務主體對金鑰執行secretsmanager:GetSecretValue操作。
  • 如果使用客戶管理的AWS KMS金鑰,則需為該服務主體提供kms:Decrypt許可權。
  • 訪問Amazon Bedrock AgentCore Identity控制台或AWS Command Line Interface(AWS CLI)。

入門

要引用AWS Secrets Manager中的金鑰,在透過AgentCore Identity API建立憑證提供程式資源時提供金鑰ARN和JSON鍵。AgentCore Identity會在執行時從指定JSON鍵中檢索憑證值。

以下部分展示瞭如何使用AWS Management Console、AWS CLI或AI代理建立帶引用金鑰的憑證提供程式資源。

使用控制台

您可以在Amazon Bedrock AgentCore Identity控制台中直接建立新的憑證提供程式資源時配置引用金鑰。該功能支援API金鑰和OAuth客戶端憑證型別。

圖1:AgentCore Identity控制台,使用引用金鑰建立出站Auth資源。

A. 使用引用金鑰新增API金鑰

要使用引用金鑰新增API金鑰,請完成以下步驟:

  1. 開啟Amazon Bedrock AgentCore控制台。
  2. 在左側導航窗格中,選擇Identity。
  3. 在Outbound Auth部分,選擇Add Outbound Auth。
  4. 選擇Add API key。
  5. 為您的Outbound Auth資源輸入名稱。
  6. 在API key selection method下,選擇Provide API key via Secrets Manager。
  7. 在Secrets Manager ARN欄位中,輸入或選擇您現有金鑰的ARN。列表顯示您賬戶中的可用金鑰。例如:arn:aws:secretsmanager:us-east-1:123456789012:secret:myApiKeySecret-AbCdEf。
  8. 在JSON key欄位中,指定包含API金鑰值的金鑰中的鍵。
  9. 選擇Add。
  10. 驗證憑證提供程式已建立,檢查它出現在Outbound Auth列表中。

圖2:AgentCore Identity控制台,從Secrets Manager新增API金鑰。

B. 使用引用金鑰新增OAuth客戶端金鑰

要使用引用金鑰新增OAuth客戶端金鑰,請完成以下步驟:

  1. 在Identity頁面,選擇Add Outbound Auth。
  2. 選擇Add OAuth client。
  3. 為您的OAuth客戶端輸入名稱(例如,google-oauth-client-v5fz5)。
  4. 在Provider下,選擇您打算使用的內建或自定義提供程式。
  5. 輸入您的客戶端ID(身份提供程式分配的)。
  6. 在Client secret下,選擇Provide Client secret via Secrets Manager。
  7. 在Secrets Manager ARN欄位中,輸入包含OAuth客戶端金鑰的金鑰ARN。
  8. 在JSON key欄位中,指定包含客戶端金鑰值的金鑰中的鍵。
  9. 選擇Add OAuth Client。
  10. 驗證憑證提供程式已建立,檢查它出現在Outbound Auth列表中。

圖3:AgentCore Identity控制台,從Secrets Manager新增OAuth客戶端金鑰。

使用AWS CLI

您可以透過AWS CLI直接為OAuth客戶端金鑰建立新的出站Auth資源時配置引用金鑰,如以下程式碼所示:

aws bedrock-agentcore-control create-oauth2-credential-provider \ --name "google-oauth-client-v5fz5" \ --credential-provider-vendor "GoogleOauth2" \ --oauth2-provider-config-input '{ "googleOauth2ProviderConfig": { "clientId": "", "clientSecretSource": "EXTERNAL", "clientSecretConfig": { "secretId": "arn:aws:secretsmanager:us-east-1:123456789012:secret:myGoogleKeySecret-AbCdEf", "jsonKey": "key" } } }'

使用桌面上的AI代理

如果您使用AI編碼代理(如Kiro或類似工具),您可以提示它直接配置引用金鑰:

“我在AWS Secrets Manager中有一個現有金鑰,ARN為arn:aws:secretsmanager:us-east-1:123456789012:secret:my-api-key。在Amazon Bedrock AgentCore Identity中建立一個名為<NAME>的OAuth2憑證提供程式,使用GoogleOauth2作為供應商。客戶端ID是<CLIENT_ID>,客戶端金鑰源是EXTERNAL,金鑰JSON鍵是key。”

注意:將<NAME>和<CLIENT_ID>替換為您的值。

重要:給AgentCore Identity讀取金鑰的許可權,在金鑰上新增資源策略,允許服務主體呼叫secretsmanager:GetSecretValue。如果金鑰使用客戶管理的KMS金鑰加密,還需為該服務主體提供kms:Decrypt許可權。

結論

透過引用AWS Secrets Manager金鑰的能力,AgentCore Identity為您提供了在配置AI代理的出站認證時使用現有金鑰和金鑰管理實踐的靈活性。您可以完全控制憑證的加密、輪換和訪問方式,而AgentCore Identity負責在執行時檢索它們。

要開始使用,請參閱Amazon Bedrock AgentCore Identity文件。有關金鑰管理的更多資訊,請參閱《AWS Secrets Manager使用者指南》。

關於作者