View a markdown version of this page

搭配 Gateway 使用攔截器 - Amazon Bedrock AgentCore

搭配 Gateway 使用攔截器

在閘道上設定攔截器可讓您在每次呼叫閘道時執行自訂程式碼。本節提供實作和設定閘道攔截器的指引。

概觀

在閘道上設定攔截器可讓您在每次呼叫閘道時執行自訂程式碼。這適用於下列使用案例:

  • 實作對工具或 MCP 操作的精細存取控制

  • 轉換目標請求和閘道回應

  • 實作自訂授權邏輯

您可以在閘道上設定兩種類型的攔截器:

  • REQUEST 攔截器 – 在閘道呼叫目標之前執行。這些可用於請求驗證、轉換或自訂授權。

  • RESPONSE 攔截器 – 在目標回應之後,但在閘道將回應傳回給發起人之前執行。這些可用於回應轉換、篩選或新增自訂標頭。

閘道最多可設定一個 REQUEST 攔截器和一個 RESPONSE 攔截器。您可以在相同的閘道上設定這兩種類型,但不能有相同類型的多個攔截器。

目前,只能使用 Lambda 函數設定攔截器。

安全最佳實務

實作攔截器時,請務必遵循安全最佳實務來保護敏感資訊,並維護適當的存取控制。

  1. 根據預設,除非 passRequestHeaders 欄位設定為 true,否則不會將請求標頭傳遞至攔截器。使用此欄位時請小心,因為請求標頭可能包含敏感資訊,例如身分驗證字符和登入資料。請務必確認您的攔截器未記錄此敏感資訊。

  2. 請務必將閘道執行角色限制為只有許可,才能叫用您用作攔截器的特定 lambda 函數,而不是將萬用字元 lambda 許可授予您的執行角色。

  3. 為您的攔截器實作等冪 Lambda 函數。如果失敗或逾時,閘道可能會重試攔截 Lambda 函數的請求。確保您的攔截器邏輯可以安全地處理重複的調用,方法是實作冪等性金鑰、追蹤處理過的請求,或設計無狀態操作,以便在使用相同輸入執行多次時產生一致的結果。