如何設定或編輯 Azure API 管理原則 \(部分機器翻譯\)
適用於:所有 APIM 階層
本文說明如何在 Azure 入口網站中編輯原則定義,以設定 API 管理執行個體中的原則。 每個原則定義都是一份 XML 文件,該文件會描述在 API 要求和回應上循序執行的輸入和輸出陳述式序列。
在入口網站中,原則編輯器會提供 API 發行者所需的引導式表單,以新增和編輯原則定義中的原則。 您也可以直接在原則程式碼編輯器中編輯 XML。
關於原則的詳細資訊:
- 原則概觀
- 原則參考,取得原則陳述式及其設定的完整清單
- 原則程式碼片段存放庫 (英文)
- Azure API 管理 原則工具組
- 使用 Microsoft Azure Copilot 撰寫原則
必要條件
如果您還沒有 API 管理執行個體和後端 API,請參閱:
移至您的 API 管理執行個體
在 Azure 入口網站中,搜尋並選取 [API 管理服務]。
在 [API 管理服務] 頁面中,選取您的 API 管理執行個體。
在入口網站中設定原則
下列範例示範如何使用入口網站原則編輯器中的下列兩個選項來設定原則:
- 引導式表單型編輯器,可簡化許多原則的設定作業
- 程式碼編輯器,可供您直接新增或編輯 XML
在此範例中,原則要篩選來自特定傳入 IP 位址的要求。 其範圍設定為選取的 API。
若要設定原則:
在 API 管理執行個體的左側導覽中,選取 [API]。
選取您先前匯入的 API。
選取 [設計] 索引標籤。
若要將原則套用至所有作業,請選取 [所有作業]。
在 [輸入處理] 區段中,選取 [+ 新增原則]。
在 [新增輸入原則] 中,選取要新增的原則。 例如,選取 [篩選 IP 位址]。
提示
- 顯示的原則範圍為您要設定的原則區段,在此案例中為輸入處理。
- 如果您沒有看到想要的原則,請選取 [其他原則] 圖格。 隨即開啟 XML 程式碼編輯器,並顯示該區段和範圍的完整原則清單。
選取 [允許的 IP]>[+ 新增 IP 篩選器],然後新增傳入位址範圍的第一個和最後一個 IP 位址,以允許提出 API 要求。 視需要新增其他 IP 位址範圍。
選取 [儲存] 以立即將變更傳播至 API 管理閘道。
ip-filter 原則現在會出現在 [輸入處理] 區段中。
設定不同範圍的原則
API 管理可讓您彈性地在每個原則區段中,設定多個範圍的原則定義。
重要
並非所有原則都可以套用在每個範圍或原則區段。 如果您想要新增的原則並未啟用,請確認您位於支援的原則區段,並在該原則的正確範圍內。 若要檢閱原則的原則區段和範圍,請查看原則參考主題中的使用方式一節。
注意
後端原則區段只能包含一個原則元素。 根據預設,API 管理會在全域範圍的後端區段中設定 forward-request
原則,並在其他範圍設定 base
元素。
全域範圍
您要為 API 管理執行個體中的 [所有 API] 設定全域範圍。
在 API 管理執行個體的左側導覽中,選取 [API]>[所有 API]。
選取 [設計] 索引標籤。
在原則區段中,選取 [+ 新增原則] 以使用表單型原則編輯器,或選取 </> (程式碼編輯器) 圖示,直接新增和編輯 XML。
選取 [儲存] 以立即將變更傳播至 API 管理閘道。
產品範圍
您要為所選的產品設定產品範圍。
在左側功能表中,選取 [產品],然後選取您要套用原則的產品。
在產品視窗中,選取 [原則]。
在原則區段中,選取 [+ 新增原則] 以使用表單型原則編輯器,或選取 </> (程式碼編輯器) 圖示,直接新增和編輯 XML。
選取 [儲存] 以立即將變更傳播至 API 管理閘道。
API 範圍
您要為所選 API 的 [所有作業] 設定 API 範圍。
在 API 管理執行個體的左側導覽中,選取 [API],然後選取您要套用原則的 API。
選取 [設計] 索引標籤。
選取 [所有作業]。
在原則區段中,選取 [+ 新增原則] 以使用表單型原則編輯器,或選取 </> (程式碼編輯器) 圖示,直接新增和編輯 XML。
選取 [儲存] 以立即將變更傳播至 API 管理閘道。
作業範圍
您要為所選的 API 作業設定作業範圍。
在 API 管理執行個體的左側導覽中,選取 [API]。
選取 [設計] 索引標籤。
選取您要套用原則的作業。
在原則區段中,選取 [+ 新增原則] 以使用表單型原則編輯器,或選取 </> (程式碼編輯器) 圖示,直接新增和編輯 XML。
選取 [儲存] 以立即將變更傳播至 API 管理閘道。
重複使用原則設定
您可以在 API 管理執行個體中建立可重複使用的原則片段。 原則片段是包含一或多個原則設定的 XML 元素。 原則片段可協助您一致地設定原則,並維護原則定義,而不需要重複或重新鍵入 XML 程式碼。
使用 include-fragment
原則,以在原則定義中插入原則片段。
使用 base
元素來設定原則評估順序
如果您在多個範圍設定原則定義,則多個原則可以套用至 API 要求或回應。 根據不同範圍的原則套用順序而定,要求或回應的轉換可能會有所不同。
在 API 管理中,請依據 base
元素在每個範圍原則定義區段中的放置位置,判斷原則評估順序。 base
元素會繼承下一個更廣泛 (父系) 範圍中該區段設定的原則。 每個原則區段預設會包含 base
元素。
注意
若要檢視目前範圍的有效原則,請在原則編輯器中選取 [計算有效原則]。
若要使用原則編輯器修改原則評估順序:
請先從您設定的最窄範圍定義開始,因為 API 管理也會先由此套用。
例如,當您使用全域範圍和 API 範圍設定的原則定義時,請從 API 範圍的設定開始。
將
base
元素放在區段中,以判斷要從父系範圍對應區段哪個位置繼承所有原則。例如,您可以在 API 範圍設定的
inbound
區段中,放置base
元素來控制要繼承全域範圍inbound
區段哪個位置設定的原則。 在下列範例中,繼承自全域範圍的原則會優先於ip-filter
原則套用。<policies> <inbound> <base /> <ip-filter action="allow"> <address>10.100.7.1</address> </ip-filter> </inbound> [...] </policies>
注意
- 您可以在區段中的任何原則元素之前或之後放置
base
元素。 - 如果您想要避免繼承來自父系範圍的原則,請移除
base
元素。 但在大部分情況下,不建議您這麼做。
- 您可以在區段中的任何原則元素之前或之後放置
接著在後續更廣泛範圍的原則定義中,繼續設定
base
元素。全域範圍原則沒有父系範圍,因此在這類原則中使用
base
元素無法發揮任何作用。
取得使用 Microsoft Azure Copilot (預覽版) 建立原則的協助
Microsoft Azure Copilot (預覽版) 提供適用於 Azure APIM 的原則製作功能。 在 APIM 原則編輯器的內容中使用 Azure Copilot 來建立符合您特定需求的原則,而不需了解語法,或已經設定已為您說明過的原則。
您可以提示 Azure Copilot 來產生原則定義,然後將結果複製到原則編輯器中,並進行任何必要的調整。 詢問問題以深入解析不同的選項、修改提供的原則,或釐清您已經擁有的原則。 深入了解
相關內容
如需使用原則的詳細資訊,請參閱: