View a markdown version of this page

核心概念 - Amazon Bedrock AgentCore

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

核心概念

在 Amazon Bedrock AgentCore 中使用政策之前,請務必了解共同提供 AI 代理器政策型控管的關鍵概念和元件。

閘道

Amazon Bedrock AgentCore Gateway 提供端點以連線至 MCP 伺服器,並將 APIs 和 lambda 轉換為 MCP 相容工具,提供單一存取點,讓代理程式與其工具互動。Gateway 可以有多個目標,每個目標代表不同的工具或一組工具。

閘道目標

目標會定義閘道將做為工具提供給代理程式APIs 或 Lambda 函數。目標可以是 Lambda 函數、OpenAPI 規格、Smithy 模型或其他工具定義。

主體類型

Cedar 政策使用主體來代表提出授權請求的實體。AgentCore 中的政策支援兩種主體類型,具體取決於 AgentCore Gateway 設定身分驗證的方式:

  • AgentCore::OAuthUser - 代表經 OAuth 驗證的使用者。當 AgentCore Gateway 使用 OAuth 授權時,會從 JWT 字符的sub宣告建立委託人。OAuth 主體支援包含 JWT 宣告的標籤,例如使用者名稱、範圍、角色等。

  • AgentCore::IamEntity - 代表經 IAM 驗證的發起人。當 AgentCore Gateway 使用 AWS_IAM 授權時,委託人會從發起人的 IAM 身分建立。IAM 主體具有包含 IAM ARN 的id屬性 (格式: arn:aws:sts::<account>:assumed-role/<role-name> 代表擔任的角色),可穩定principal ==比對。如需詳細資訊,請參閱政策條件。

雪松

Cedar 是一種開放原始碼政策語言,由 開發 AWS ,用於撰寫和強制執行授權政策。Cedar 政策是人類可讀、可分析的,並且可以針對結構描述進行驗證。AgentCore 中的政策使用 Cedar 為閘道工具提供精確、可驗證的存取控制。

Cedar 政策

Cedar 政策是一種宣告性陳述式,允許或禁止存取閘道工具。每個政策指定誰 (委託人) 可以在哪些條件下對哪個資源 (閘道) 執行哪些動作 (工具叫用)。政策會針對每個工具叫用請求進行評估。

Dogwood

Dogwood 是 Dogwood 政策網站上的開放原始碼政策語言,與 Cedar 相容:每個有效的 Cedar 政策也是有效的 Dogwood 政策,因此您現有的 Cedar 政策保持不變。除了您可以表達point-in-time條件之外,Dogwood 還支援工作階段感知暫時條件和資訊提供者,例如 Guardrails,這些提供者會將運算訊號提供給政策。Dogwood 政策會根據將相關請求分組的政策工作階段進行評估。

時間政策

大多數 Cedar 政策都是無狀態的:每個請求都會自行評估。時間政策新增的條件取決於先前在相同工作階段中發生的情況,例如需要事先核准、限制動作執行的頻率,或將執行中的總數保持在閾值以下。時間政策是以與 Cedar 相容的 Dogwood 撰寫,並根據將相關請求分組的政策工作階段進行評估。如需詳細資訊,請參閱暫時政策。

防護機制

護欄是 Dogwood 政策可以內嵌參考的資訊提供者。在評估時,護欄會運算請求的內容安全訊號,例如內容篩選條件、提示攻擊或敏感資訊分數,而政策會根據該結果允許或禁止該動作。如需詳細資訊,請參閱 政策中的護欄。

政策工作階段

政策工作階段是一系列以一個工作階段 ID 分組的相關閘道調用,您在 x-amzn-bedrock-agentcore-policy-session-id標頭中提供的請求。時間政策會根據政策工作階段進行評估:時間條件只會考慮與正在授權請求相同的工作階段所記錄的事件。如需詳細資訊,請參閱政策工作階段和身分傳播。

政策引擎

政策引擎是 AgentCore 中政策的核心元件,可存放和評估 Cedar 政策。建立政策時,只要政策範圍符合請求,它們就會套用至與引擎相關聯的每個閘道。對於每個工具調用,政策引擎會根據請求評估所有適用的政策,以決定是否允許或拒絕存取。引擎會自動強制執行 default-deny 和 forbid-wins 語意。

雪松結構描述

Cedar 結構描述定義政策驗證的實體、動作和內容結構。政策引擎會自動從閘道的工具定義產生結構描述,將每個工具映射至 動作,並定義預期的輸入參數。結構描述可確保在建立時驗證政策,並在部署之前擷取錯誤。

Cedar 驗證

Cedar 驗證會檢查政策在語法上是否正確,並符合結構描述。當您將政策與閘道建立關聯時,政策引擎會根據自動產生的結構描述進行驗證,以確保它們參考有效的動作、使用正確的資料類型,以及僅存取定義的內容欄位。驗證會在部署政策之前攔截錯誤,防止執行階段授權失敗。

雪松分析

Cedar 分析使用自動化推理來檢查政策並偵測潛在問題。AgentCore 中的政策使用自動推理來識別一律允許 (無條件限制存取) 或拒絕 (無例外的禁止政策) 的政策,協助確保政策實作預期的存取控制,而不是過度寬鬆或不必要限制。

政策撰寫服務

政策撰寫服務會自動將自然語言授權要求轉換為 Cedar 政策。當您提交自然語言政策時,服務會產生語法上正確的 Cedar 程式碼,並根據閘道結構描述進行驗證,並執行自動化分析以偵測潛在問題。這可確保所有產生的政策都有效,並有助於在部署之前識別過度寬鬆或限制性規則。