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

政策引擎

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

雪松結構描述

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

Cedar 驗證

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

雪松分析

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

政策撰寫服務

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