搭配 Gateway 使用攔截器
在閘道上設定攔截器可讓您在每次呼叫閘道時執行自訂程式碼。本節提供實作和設定閘道攔截器的指引。
概觀
在閘道上設定攔截器可讓您在每次呼叫閘道時執行自訂程式碼。這適用於下列使用案例:
-
實作對工具或 MCP 操作的精細存取控制
-
轉換目標請求和閘道回應
-
實作自訂授權邏輯
您可以在閘道上設定兩種類型的攔截器:
-
REQUEST 攔截器 – 在閘道呼叫目標之前執行。這些可用於請求驗證、轉換或自訂授權。
-
RESPONSE 攔截器 – 在目標回應之後,但在閘道將回應傳回給發起人之前執行。這些可用於回應轉換、篩選或新增自訂標頭。
閘道最多可設定一個 REQUEST 攔截器和一個 RESPONSE 攔截器。您可以在相同的閘道上設定這兩種類型,但不能有相同類型的多個攔截器。
目前,只能使用 Lambda 函數設定攔截器。
安全最佳實務
實作攔截器時,請務必遵循安全最佳實務來保護敏感資訊,並維護適當的存取控制。
-
根據預設,除非
passRequestHeaders欄位設定為 true,否則不會將請求標頭傳遞至攔截器。使用此欄位時請小心,因為請求標頭可能包含敏感資訊,例如身分驗證字符和登入資料。請務必確認您的攔截器未記錄此敏感資訊。 -
請務必將閘道執行角色限制為只有許可,才能叫用您用作攔截器的特定 lambda 函數,而不是將萬用字元 lambda 許可授予您的執行角色。
-
為您的攔截器實作等冪 Lambda 函數。如果失敗或逾時,閘道可能會重試攔截 Lambda 函數的請求。確保您的攔截器邏輯可以安全地處理重複的調用,方法是實作冪等性金鑰、追蹤處理過的請求,或設計無狀態操作,以便在使用相同輸入執行多次時產生一致的結果。