

# Amazon Bedrock AgentCore Gateway 的精細存取控制
<a name="gateway-fine-grained-access-control"></a>

Amazon Bedrock AgentCore Gateway 提供精細存取控制功能，可讓您控制哪些使用者和客服人員可以存取特定工具和資源。您可以透過閘道攔截器為自訂邏輯實作存取控制，或使用以資源為基礎的政策進行標準 AWS型存取控制。如需資源型政策的相關資訊，請參閱 [Amazon Bedrock AgentCore 的資源型政策](resource-based-policies.md)。

## 使用攔截器進行存取控制
<a name="gateway-fine-grained-access-control-interceptors"></a>

閘道攔截器提供最靈活的方式來實作精細存取控制。REQUEST 攔截器會在閘道呼叫目標之前執行，讓您：
+ 根據 JWT 宣告或自訂邏輯驗證使用者許可
+ 控制對特定工具或 MCP 操作的存取
+ 實作角色型或屬性型存取控制
+ 根據使用者內容篩選或修改請求
+ 傳回未經授權請求的授權錯誤

如需實作和設定攔截器的詳細資訊，包括授權邏輯範例，請參閱[搭配 Gateway 使用攔截器](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-interceptors.html)。

## 存取控制層級
<a name="gateway-fine-grained-access-control-levels"></a>

Gateway 中的精細存取控制可以在多個層級實作：

 **閘道層級存取**   
控制哪些使用者或代理程式可以透過 OAuth 授權伺服器或 AWS IAM 身分驗證來連接到閘道並進行身分驗證。

 **工具層級存取**   
使用攔截器邏輯控制閘道內特定工具的存取，以在工具執行之前驗證許可。

 **操作層級存取**   
使用攔截器控制對特定 MCP 操作 （例如 `tools/list`或 `tools/call` ) 的存取，以驗證操作許可。

 **參數層級存取**   
使用攔截器來篩選或驗證請求參數，控制操作中特定參數或資料的存取。

## 實作方法
<a name="gateway-fine-grained-access-control-implementation"></a>

您可以使用下列方式實作精細存取控制：

 **JWT 宣告驗證**   
使用攔截器檢查 JWT 宣告，例如使用者角色、部門或自訂屬性，以做出授權決策。

 **IAM 主體比對**   
對於 IAM 驗證的閘道，透過比對發起人的 IAM ARN 來實作存取控制。在 Cedar 政策`principal.id`中使用 上的模式比對，根據 AWS 帳戶、角色或使用者來限制存取。

 **外部授權服務**   
設定攔截器來呼叫外部授權服務或資料庫，以驗證使用者許可。

 **請求內容篩選**   
使用攔截器根據使用者內容修改請求，例如新增使用者特定的篩選條件或限制資料範圍。

## 最佳實務
<a name="gateway-fine-grained-access-control-best-practices"></a>
+  **最低權限原則** - 僅授予使用者執行其任務所需的最低存取權。
+  **使用結構化宣告** - 利用 JWT 宣告將使用者內容和授權資訊傳遞給您的攔截器。
+  **實作失效安全預設值** - 設計攔截器，在無法確定授權時預設拒絕存取。
+  **日誌授權決策** - 確保您的攔截器記錄用於稽核的存取決策。