核心概念
在 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
Cedar 政策
Cedar 政策是一種宣告性陳述式,允許或禁止存取閘道工具。每個政策指定誰 (委託人) 可以在哪些條件下對哪個資源 (閘道) 執行哪些動作 (工具叫用)。政策會針對每個工具叫用請求進行評估。
政策引擎
政策引擎是 AgentCore 中政策的核心元件,可存放和評估 Cedar 政策。建立政策時,只要政策範圍符合請求,它們就會套用至與引擎相關聯的每個閘道。對於每個工具調用,政策引擎會根據請求評估所有適用的政策,以決定是否允許或拒絕存取。引擎會自動強制執行 default-deny 和 forbid-wins 語意。
雪松結構描述
Cedar 結構描述定義政策驗證的實體、動作和內容結構。政策引擎會自動從閘道的工具定義產生結構描述,將每個工具映射至 動作,並定義預期的輸入參數。結構描述可確保在建立時驗證政策,並在部署之前擷取錯誤。
Cedar 驗證
Cedar 驗證會檢查政策在語法上是否正確,並符合結構描述。當您將政策與閘道建立關聯時,政策引擎會根據自動產生的結構描述進行驗證,以確保它們參考有效的動作、使用正確的資料類型,以及僅存取定義的內容欄位。驗證會在部署政策之前攔截錯誤,防止執行階段授權失敗。
雪松分析
Cedar 分析使用自動化推理來檢查政策並偵測潛在問題。AgentCore 中的政策使用自動推理來識別一律允許 (無條件限制存取) 或拒絕 (無例外的禁止政策) 的政策,協助確保政策實作預期的存取控制,而不是過度寬鬆或不必要限制。
政策撰寫服務
政策撰寫服務會自動將自然語言授權要求轉換為 Cedar 政策。當您提交自然語言政策時,服務會產生語法上正確的 Cedar 程式碼,並根據閘道結構描述進行驗證,並執行自動化分析以偵測潛在問題。這可確保所有產生的政策都有效,並有助於在部署之前識別過度寬鬆或限制性規則。