什麼是 Azure APIM 中的工作區?

適用於:進階版

在 APIM 中,工作區為組織的 API 小組帶來新的自主性層級,使其得以在 APIM 服務中更快速、更可靠、更安全且更具生產力地建立、管理和發佈 API。 藉由提供隔離式系統管理存取和 API 執行階段,工作區授權 API 小組並同時允許 API 平台小組保留監督權。 這包括中央監視、強制執行 API 原則和合規性,以及透過整合開發人員入口網站發佈 API 以進行探索。

工作區在 APIM 服務內的功能如同「資料夾」:

  • 每個工作區都包含 API、產品、訂用帳戶、具名值和相關資源。
  • 工作區內的資源存取是透過 Azure 的角色型存取控制 (RBAC) 來管理,使用可指派給 Microsoft Entra 帳戶的內建或自訂角色。
  • 每個工作區與工作區閘道相關聯,將 API 流量路由傳送至工作區中的 API 後端服務。

APIM 服務與工作區的概念性圖表。

注意

  • API 管理 REST API 版本 2023-09-01-preview 或更新版本中支援最新的工作區功能。
  • 如需定價考量,請參閱 API 管理定價

具有工作區的同盟 APIM

除了已經支援的集中式和孤島式模型之外,工作區新增在 APIM 中管理 API 之同盟模型的第一級支援。 請參閱下表顯示這些模型的比較。

模型 描述
集中式

Azure APIM 的集中式模型圖表。
優點
• 集中式 API 治理和可檢視性
• 針對有效 API 探索和上線的整合開發人員入口網站
• 基礎結構的成本效益

缺點
• 小組之間沒有系統管理權限的隔離
• API 閘道為單一失敗點
• 無法將執行階段問題歸因於特定小組
• 輔助共同作業的平台小組負擔可能會降低 API 成長
孤島

Azure APIM 的孤島式模型圖表。
優點
• 小組之間系統管理權限的隔離會增加生產力與安全性
• 小組之間 API 執行階段的隔離會增加 API 可靠性、復原和安全性
• 執行階段問題僅限於並歸因於特定小組

缺點
• 缺乏集中式 API 治理和可檢視性
• 缺乏整合開發人員入口網站
• 成本增加及平台管理更困難
同盟

Azure APIM 的同盟模型圖表。
優點
• 集中式 API 治理和可檢視性
• 針對有效 API 探索和上線的整合開發人員入口網站
• 小組之間系統管理權限的隔離會增加生產力與安全性
• 小組之間 API 執行階段的隔離會增加 API 可靠性、復原和安全性
• 執行階段問題僅限於並歸因於特定小組

缺點
• 平台成本和管理難度高於集中式模型,但低於孤島式模型

範例案例總覽

使用 Azure API 管理管理 API 的組織可能會有多個開發小組開發、定義、維護及產品化不同的 API 集合。 工作區可讓這些小組分別使用 APIM 來管理、存取及保護其 API,並且獨立於管理服務基礎結構。

以下是用來建立和使用工作區的範例工作流程。

  1. 管理 API 管理執行個體的中央 API 平台小組會建立工作區,並使用 RBAC 角色將權限指派給工作區共同作業者,例如,在工作區中建立或讀取資源的權限。 也會為工作區建立專用 API 閘道。

  2. 中央 API 平台小組會使用 DevOps 工具來為該工作區中的 API 建立 DevOps 管線。

  3. 工作區成員會在工作區中開發、發佈、產品化及維護 API。

  4. 中央 API 平台小組會管理服務的基礎結構,例如監視、復原以及強制執行所有 API 原則。

工作區中的 APIM

Teams 會管理自己的 API、產品、訂用帳戶、後端、原則、記錄器,以及工作區內的其他資源。 如需工作區中支援的資源和作業完整清單,請參閱 APIM REST API 參照

雖然工作區與 APIM 服務和其他工作區獨立管理,但依據設計可以參考選取的服務層級資源。 請參閱後文的工作區和其他 APIM 功能

工作區閘道

每個工作區都可以與工作區閘道相關聯,以啟用工作區內受控 API 的執行階段。 工作區閘道是獨立的 Azure 資源,其核心功能與 APIM 服務中內建的閘道相同。

工作區閘道與 APIM 服務和其他閘道獨立管理。 它們確保工作區之間執行階段的隔離、提高 API 可靠性、復原和安全性,以及啟用執行階段問題歸因於工作區。

閘道主機名稱

工作區對工作區閘道的每個關聯,都會在該工作區中受控的 API 建立唯一的主機名稱。 預設主機名稱會遵循模式 <workspace-name>-<hash>.gateway.<region>.azure-api.net。 目前,工作區閘道不支援自訂主機名稱。

注意

到 2024 年 10 月,除了工作區閘道的主機名稱之外,您也可以在執行階段使用 APIM 執行個體的閘道主機名稱來存取工作區中的 API。

網路隔離

工作區閘道可以選擇性地設定在私人虛擬網路中,以隔離輸入和/或輸出流量。 如果已設定,工作區閘道必須在虛擬網路中使用專用子網路。

如需詳細需求,請參閱工作區閘道的網路資源需求

注意

  • 工作區閘道的網路設定與 APIM 執行個體的網路設定無關。
  • 目前,只有在建立閘道時,才能在虛擬網路中設定工作區閘道。 您稍後無法變更閘道的網路設定或其他設定。

縮放容量

手動新增或移除縮放單位來管理閘道容量,類似於可新增至特定服務層級中 APIM 執行個體的單位。 工作區閘道的成本取決於您選取的單位數目。

區域可用性

工作區閘道目前已在以下地區內提供:

注意

這些區域是 APIM 可供使用之區域的子集。

  • 美國西部
  • 美國中北部
  • 美國東部 2
  • 英國南部
  • 法國中部
  • 北歐
  • 東亞
  • 東南亞
  • 澳大利亞東部
  • 日本東部

閘道條件約束

下列條件約束目前適用於工作區閘道:

  • 工作區閘道必須與 APIM 執行個體的主要 Azure 區域和相同訂用帳戶位於相同的區域中。
  • 閘道只能與一個工作區相關聯
  • 工作區無法與自我裝載閘道相關聯
  • 工作區閘道不支援輸入私人端點
  • 工作區閘道中的 API 無法指派自訂主機名稱
  • 適用於 API 的 Defender 未涵蓋工作區中的 API
  • 工作區閘道不支援 APIM 服務的認證管理員
  • 工作區閘道僅支援內部快取;不支援外部快取
  • 工作區閘道不支援綜合 GraphQL API 和 WebSocket API
  • 工作區閘道不支援直接從 Azure 資源建立 API,例如 Azure OpenAI Service、App Service、Function Apps 等等
  • 要求計量無法依 Azure 監視器中的工作區分割;所有工作區計量都會在服務層級匯總
  • Azure 監視器記錄會在服務層級匯總;工作區層級記錄無法使用
  • 工作區閘道不支援 CA 憑證
  • 工作區閘道不支援自動調整
  • 工作區閘道不支援受控識別,包括在 Azure Key Vault 中儲存祕密和使用 authentication-managed-identity 原則等相關功能

工作區的 RBAC 角色

Azure RBAC 可用來設定工作區共同作業者的權限,以讀取和編輯工作區中的實體。 如需角色清單,請參閱如何在 API 管理中使用角色型存取控制

若要管理工作區中的 API 和其他資源,工作區成員必須在 APIM 服務、工作區和工作區閘道的限定範圍中獲得角色指派 (或使用自訂角色的同等權限)。 服務範圍角色允許從工作區層級資源參考特定的服務層級資源。 例如,將使用者組織為工作區層級群組,以控制 API 和產品可見度。

注意

為了更容易管理,請設定 Microsoft Entra 群組,將工作區權限指派給多個使用者。

工作區和其他 API 管理功能

工作區設計成獨立式,以最大化系統管理存取和 API 執行階段的隔離。 有數個例外狀況可確保更高的生產力,並啟用全平台治理、可檢視性、再使用性和 API 探索。

  • 資源參考 - 工作區中的資源可以參考工作區中的其他資源,以及服務層級的選取資源,例如使用者、授權伺服器或內建使用者群組。 它們無法參考其他工作區的資源。

    基於安全性考量,您無法從工作區層級原則 (例如具名值) 或資源名稱 (例如 set-backend-service 原則中的backend-id) 參考服務層級資源。

    重要

    APIM 服務中的所有資源 (例如 API、產品、標籤或訂用帳戶) 都必須有唯一的名稱,即使它們位於不同的工作區中也一樣。 在相同工作區、其他工作區或服務等級中,不能有相同類型且具有相同 Azure 資源名稱的任何資源。

  • 開發人員入口網站 - 工作區是系統管理概念,因此不會向開發人員入口網站取用者展示,包括透過開發人員入口網站 UI 和底層 API。 工作區內的 API 和產品可以發佈至開發人員入口網站,如同服務層級上的 API 和產品。

    注意

    APIM 支援將服務層級上定義的授權伺服器指派給工作區內的 API。

從預覽工作區移轉

如果您在 Azure APIM 中建立預覽工作區,並想要繼續使用這些工作區,請藉由將工作區閘道與每個工作區建立關聯,以移轉工作區至正式推出版本。

如需詳細資訊並了解可能會影響預覽工作區的其他變更,請參閱工作區中斷性變更 (2025 年 3 月)

刪除工作區

如果您使用 Azure 入口網站介面刪除工作區,則刪除工作區會刪除其所有子資源 (API、產品等) 及其相關聯閘道。 但不會刪除 APIM 執行個體或其他工作區。