最後一里安全措施

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

最後一里的安全措施,可以保護由 API 服務進行 Proxy 處理的後端服務。最終目標是防止所謂的「結束執行」攻擊,應用程式開發人員會找出後端服務的網址,並略過任何 API Proxy,藉此直接到達後端網址。

以下是設定最後一里安全性的主要選項:

  • 用戶端 TLS/SSL
  • 外寄驗證
  • Node.js tls 模組

用戶端 TLS/SSL

用於保護最後一里的安全機制是用戶端傳輸層安全標準 (TLS)/安全資料傳輸層 (SSL),也稱為「雙向驗證」。

請參閱設定從 Edge 到後端的 TLS (雲端和私有雲)

外寄驗證

您也可以要求 API Proxy 向後端服務提供憑證,藉此強制執行最後一里的安全性。

舉例來說,您可能希望讓 API Proxy 向後端服務提供 API 金鑰。您也可以讓 API Proxy 取得並顯示 OAuth 用戶端憑證存取權杖。

API 金鑰

API 金鑰可以套用至從 API Proxy 傳送至後端服務的傳出要求。前提是後端服務是可核發及驗證 API 金鑰的 API。

如果您設定 API Proxy 以在傳出要求中顯示 API 金鑰,就必須將 API 金鑰儲存在執行階段,供 API Proxy 擷取。其中一個可儲存 API 金鑰的位置是鍵/值對應。請參閱鍵/值對應作業政策

您可以使用 AssignMessage 政策類型將 API 金鑰新增為 HTTP 標頭、查詢參數或酬載元素。請參閱「指派訊息政策」。

OAuth 用戶端憑證

OAuth 用戶端憑證可用來為 API 金鑰增添撤銷層級。如果後端服務支援 OAuth 用戶端憑證,您可以設定 API Proxy,為每個要求提供用戶端憑證存取權杖。

您必須將 API Proxy 設為執行呼叫,才能從權杖端點取得存取權杖。此外,API Proxy 也必須快取存取權杖,以防止 API Proxy 在每次呼叫時取得新的存取權杖。

有許多方法可以用來實作傳出用戶端憑證。

您可以修改這個範例來呼叫權杖端點,以取得存取權杖。這個範例使用 JavaScript 將權杖以 HTTP 授權標頭的形式附加至傳出要求。您也可以基於這個目的使用「指派訊息政策」

SAML

您可以使用 GenerateSAMLAssertion 政策類型,將 SAML 宣告附加到傳出 XML 要求訊息 (從 API Proxy 到後端服務)。如此一來,後端服務就能針對從 API Proxy 收到的要求進行驗證和授權。

請參閱 SAML 宣告政策

Node.js

如果您的 API Proxy 目標為 Node.js 應用程式,您可以使用 Node.js tls 模組建立連至後端服務的安全連線。使用 tls 模組發出傳出要求的方式與平常使用 Node.js 的方式相同。基本上,您需要將用戶端金鑰和憑證 (.pem 檔案) 新增至資源/節點目錄,並在指令碼中載入。如要進一步瞭解如何使用 tls 模組及其方法,請參閱 Node.js tls 模組說明文件。詳情請參閱「瞭解 Node.js 模組的 Edge 支援」一文。