什麼是政策?

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

Apigee Edge 可讓您使用「政策」來「編寫」API 行為,無須編寫任何程式碼。政策就像是實作特定有限管理功能的模組。政策旨在讓您以輕鬆可靠的方式將常見的管理功能新增至 API。政策提供安全性、頻率限制、轉換和中介服務等功能,因此您不必自行編寫程式碼及維護這項功能。

不限於 Apigee Edge 提供的政策類型組合。您也可以編寫自訂指令碼和程式碼 (例如 JavaScript 和 Node.js 應用程式),藉此擴充 API Proxy 功能,並運用 Apigee 政策支援的基本管理功能,推動創新。

如要瞭解政策附件及違規處置方式,請觀看這部影片。

政策類型

技術上來說,政策是指 XML 格式的設定檔。每個政策類型的結構 (例如必要和選用的設定元素) 都是以 XML 結構定義定義。如果您熟悉 XML 工具,建議您熟悉 GitHub 的 API 平台範例中的政策結構定義。

邊緣政策類型可分為下列功能類別:

流量管理

流量管理類別中的政策可讓您透過 API Proxy 控管要求和回應訊息的流程。這些政策支援作業與業務層級的控管機制。可讓您控管原始處理量,也能依據個別應用程式控管流量。流量管理政策類型可讓您強制執行配額,而且也有助於減少阻斷服務攻擊。

安全性

安全性類別中的政策支援驗證、授權和內容安全功能。

中介服務

您可以利用中介服務類別的政策,主動控管訊息透過 API Proxy 傳送的訊息。它們能讓您將訊息格式從 XML 轉換為 JSON (反之亦然),或是將一種 XML 格式轉換為其他 XML 格式。也能讓您剖析訊息、產生新訊息及變更傳出訊息的值。中介服務政策也會與 API 服務公開的基本服務互動,讓您能在執行階段擷取應用程式、開發人員、安全性權杖和 API 產品的相關資料。

延伸片

擴充功能類別的政策可讓您運用 API 服務的擴充功能,以您選擇的程式設計語言實作自訂行為。

如要進一步瞭解各種政策類型,請參閱政策參考資料總覽。本主題示範一般互動、如何建立政策,以及如何將政策附加至 API Proxy 設定中的流程。

正在部署政策變更

您必須將 API Proxy 修訂版本部署至環境,政策變更才會生效。 附加政策或變更現有政策後,請使用管理 UI 或 Management API 部署變更。

驗證政策強制執行

為了驗證是否已正確強制執行政策,必須由 HTTP 用戶端叫用 API。如要驗證這項配額設定,請向 API 提交多項要求,且超過您在配額政策中設定的配額限制。(在以下要求中,Proxy 端點設定為基本路徑設定的 URI 路徑為 /weather)。

http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282

如果您在一分鐘內提交超過 1 項要求,應該會看到下列錯誤訊息:

{  
   "fault":{  
      "faultstring":"policies.ratelimit.QuotaViolation",
      "detail":{  
         "errorcode":"policies.ratelimit.QuotaViolation"
      }
   }
}

這表示 API 服務正在強制執行配額政策。

以政策為基礎的錯誤處理

請注意上方的錯誤訊息格式。其中包含 faultstring 屬性和 errorcode 屬性。在許多情況下,您必須實作一些行為才能處理這些錯誤。舉例來說,您可能想要向應用程式超過配額的開發人員發送自訂訊息。

如要進一步瞭解錯誤處理方式,請參閱「處理錯誤」。

最佳做法:通用政策集

為了符合基本管理規定,API Proxy 通常會強制執行以下政策:

基本 API 金鑰驗證

Proxy Endpoint 要求流程:
  1. SpikeArrest
  2. XMLThreatProtection 或 JSONThreatProtection
  3. API 金鑰驗證
  4. 配額
  5. ResponseCache
Proxy 端點回應流程:
  1. ResponseCache

基本轉換:JSON 轉換為 XML

要求流程:
  1. SpikeArrest
  2. JSONThreatProtection
  3. API 金鑰驗證
  4. 配額
  5. JSONToXML
回應流程:
  1. XMLToJSON
  2. ResponseCache