本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
核心概念
在 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 政策是一種宣告性陳述式,允許或禁止存取閘道工具。每個政策指定誰 (委託人) 可以在哪些條件下對哪個資源 (閘道) 執行哪些動作 (工具叫用)。政策會針對每個工具叫用請求進行評估。
Dogwood
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 程式碼,並根據閘道結構描述進行驗證,並執行自動化分析以偵測潛在問題。這可確保所有產生的政策都有效,並有助於在部署之前識別過度寬鬆或限制性規則。