最後一里安全措施

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

最後一里安全措施可保護由 API 服務代理的後端服務。最後一哩安全性的主要目標是防止所謂的「end-run」攻擊,也就是應用程式開發人員發現後端服務的網址,並略過任何 API Proxy,直接存取後端網址。

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

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

用戶端 TLS/SSL

確保最後一哩安全的主要機制是用戶端 TLS/SSL,又稱為「雙向驗證」。

請參閱「從 Edge 到後端 (Cloud 和 Private Cloud) 設定 TLS」。

外撥驗證

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

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

API 金鑰

API 金鑰可套用至從 API Proxy 傳送至後端服務的傳出要求。這項操作假設後端服務是可發出及驗證 API 金鑰的 API。

如果您設定 API Proxy 在傳出要求時提供 API 金鑰,就必須將 API 金鑰儲存在 API Proxy 在執行階段可擷取的位置。鍵/值對應關係是可用來儲存 API 金鑰的位置。請參閱「鍵值對應作業政策」。

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

OAuth 用戶端憑證

OAuth 用戶端憑證可用於為 API 金鑰新增一層撤銷功能。如果後端服務支援 OAuth 用戶端憑證,您可以設定 API Proxy,為每項要求提供用戶端憑證存取權杖。

API 代理程式必須設定為執行呼叫,才能從權杖端點取得存取權杖。API 代理程式也必須快取存取權杖,以免每次呼叫都取得新的存取權杖。

您可以使用多種方法實作傳出用戶端憑證。

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

SAML

GenerateSAMLAssertion 政策類型可用於將 SAML 斷言附加至從 API Proxy 傳送至後端服務的 XML 傳出要求訊息。這可讓後端服務針對從 API 代理程式收到的要求,執行驗證和授權。

請參閱「SAML 斷言政策」。

Node.js

如果 API 代理程式目標是 Node.js 應用程式,您可以使用 Node.js tls 模組建立與後端服務的安全連線。您可以使用 tls 模組發出傳出要求,這與在 Node.js 中發出要求的方式相同。基本上,您需要將用戶端金鑰和憑證 (.pem 檔案) 新增至 resources/node 目錄,並在腳本中載入這些項目。如要瞭解如何使用 tls 模組及其方法,請參閱 Node.js tls 模組說明文件。詳情請參閱「瞭解 Edge 對 Node.js 模組的支援」。