在 API 管理原則定義中重複使用原則組態

適用於:所有 API 管理 層

本文說明如何在您的 API 管理原則定義中建立和使用原則片段。 原則片段是集中管理、可重複使用的 XML 程式碼片段,其中包含一或多個 API 管理原則組態。

原則片段可協助您一致地設定原則,並維護原則定義,而不需要重複或重新鍵入 XML 程式碼。

原則片段:

  • 必須是包含一或多個原則組態的有效 XML
  • 如果參考的原則支援,則可能包含原則運算式
  • 使用 include-fragment 原則,在原則定義中依原樣插入

限制:

  • 原則片段不能包含原則區段識別碼 (<inbound><outbound>等) 或 <base/>元素。
  • 目前,原則片段無法與另一個原則片段建立巢狀。
  • 原則片段的大小上限為 32 KB。

必要條件

如果您還沒有 API 管理執行個體和後端 API,請參閱:

雖然不需要,但您可能想要設定一或多個原則定義。 您可以在建立原則片段時,從這些定義複製原則元素。

移至您的 API 管理執行個體

  1. 在 Azure 入口網站中,搜尋並選取 [API 管理服務]

    選取 API 管理 服務

  2. 在 [API 管理服務] 頁面中,選取您的 API 管理執行個體。

    選取您的 API 管理 實例

建立原則片段

  1. 在 API 管理執行個體的左側導覽中,於 API 下,選取 [原則片段]> [+ 建立]

  2. 在 [建立新原則片段] 視窗中,輸入原則片段的 [名稱] 及選擇性的 [描述]。 名稱在您的 API 管理執行個體內必須是唯一的。

    範例名稱:ForwardContext

  3. 在 [XML 原則片段] 編輯器中,在 <fragment></fragment> 標籤之間輸入或貼上一或多個原則 XML 元素。

    顯示建立新原則片段窗體的螢幕快照。

    例如,下列片段會包含 set-header 原則組態,以將內容資訊轉送至後端服務。 此片段會包含在輸入原則區段中。 此範例中的原則運算式會存取內建的 context 變數

    <fragment>
        <set-header name="x-request-context-data" exists-action="override">
          <value>@(context.User.Id)</value>
          <value>@(context.Deployment.Region)</value>
        </set-header>
    </fragment>
    
  4. 選取 建立。 該片段會新增至原則片段的清單。

在原則定義中包含片段

設定 include-fragment 原則,以在原則定義中插入原則片段。 如需原則定義的詳細資訊,請參閱設定或編輯原則

  • 您可以在任何範圍和任何原則區段中包含片段,只要片段中的基礎一或多個原則支援該使用方式即可。
  • 您可以在原則定義中包含多個原則片段。

例如,在輸入原則區段中插入名為 ForwardContext 的原則片段:

<policies>
    <inbound>
        <include-fragment fragment-id="ForwardContext" />
        <base />
    </inbound>
[...]

提示

若要查看原則定義中顯示的內含片段內容,請在原則編輯器中選取 [計算有效原則]

管理原則片段

建立原則片段之後,您可以檢視及更新原則片段的屬性,或隨時刪除原則片段。

若要檢視原則片段的屬性:

  1. 在 API 管理執行個體的左側導覽中,於 API 下,選取 [原則片段]。 選取片段的名稱。
  2. 在 [概觀] 頁面上,檢閱 [原則文件參考],以查看包含片段的原則定義。
  3. 在 [屬性] 頁面上,檢閱原則片段的名稱和描述。 此名稱無法變更。

若要編輯原則片段:

  1. 在 API 管理執行個體的左側導覽中,於 API 下,選取 [原則片段]。 選取片段的名稱。
  2. 選取 [原則編輯器]
  3. 更新片段中的陳述式,然後選取 [套用]

注意

更新會影響包含片段的所有原則定義。

若要刪除原則片段:

  1. 在 API 管理執行個體的左側導覽中,於 API 下,選取 [原則片段]。 選取片段的名稱。
  2. 檢閱原則文件參考,以取得包含片段的原則定義。 刪除片段之前,您必須從所有原則定義中移除片段參考。
  3. 移除所有參考之後,選取 [刪除]

如需使用原則的詳細資訊,請參閱: