Apigee Adapter for Envoy 版本資訊

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

2.1.1 版

我們在 2023 年 6 月 7 日發布了 Apigee Adapter for Envoy 2.1.1 版。

問題已修正

  • 修正了多項作業之間的配額重複錯誤,而不是在產品層級共用的問題。

2.1.0 版

我們在 2023 年 6 月 5 日發布 Envoy 的 Apigee Adapter 2.1.0 版。

問題已修正

  • application_id 版權聲明已新增至 /verifyApiKey 回應。

2.0.7 版

我們在 2023 年 3 月 9 日發布了 Envoy 的 Apigee Adapter 2.0.7 版。

功能與改善

  • JWT 現在可以新增名為 customattributes 的版權聲明,這會將值傳送至名為 x-apigee-customattributes 的標頭的目標 (如果 append_metadata_headers 設為 true)。

問題已修正

  • 已修正無效 API 金鑰無效的問題,這類錯誤可能產生的記錄項目和分析記錄。
  • 移除淘汰版本檢查的 Proxy 會導致新版 Apigee 發生問題。

2.0.6 版

我們在 2022 年 10 月 18 日發布 Envoy 的 Apigee Adapter 2.0.6 版。

問題已修正

  • 安全性措施以解決依附元件程式庫中的阻斷服務 (DoS) 安全漏洞。請參閱 CVE-2022-28948

2.0.5 版

我們已在 2022 年 3 月 3 日發布 Envoy 的 Apigee Adapter 2.0.5 版。

問題已修正

  • 安全性措施以處理探測程式庫中的阻斷服務 (DoS) 風險。請參閱 CVE-2022-21698

2.0.4 版

我們在 2021 年 12 月 3 日為 Envoy 發布了 Apigee Adapter 2.0.4 版。

功能與改善

  • 針對 CLI samples 指令支援的 Envoy 和 Istio 版本清單已更新。現在這些範例支援這些版本:
    • Envoy 1.18 至 1.20 版
    • Istio 1.10 至 1.12 版

問題已修正

  • 為 PEM 區塊私密金鑰載入了一個私密金鑰檢查碼,以避免錯誤性。(問題 #360)。
  • 遠端服務授權錯誤現在會記錄在偵錯層級。但這個分類方式不適用於 API 金鑰的權杖擷取錯誤。在此情況下,即使錯誤已停用 apigee-remote-service-envoy 的偵錯記錄層級,系統也會記錄錯誤,因此使用者可以查看相關錯誤。另請參閱設定遠端服務記錄層級。(問題 #104)

2.0.3 版

我們在 2021 年 9 月 21 日發布了 Envoy 的 Apigee Adapter 2.0.3 版。

問題已修正

  • 修正直接回應的數據分析記錄問題。這個問題只會在特定情況下發生。例如:
    • 如果要求不需要驗證/Z 檢查,系統不會產生任何 authContext 動態中繼資料,導致忽略存取記錄項目。
    • 遭拒的回應使用了 RPC 程式碼,而非 HTTP 程式碼,進而在 Apigee UI 中顯示成功記錄。

2.0.2 版

我們在 2021 年 6 月 7 日發布了 Apigee Adapter for Envoy 2.0.2 版。

問題已修正

  • 已修正競爭狀況,當 JWT 憑證範圍有誤時,可能會產生 403 錯誤和錯誤。

2.0.0 版

2021 年 4 月 6 日星期二,我們發布了 Envoy 的 Apigee Adapter 2.0.0 版。

功能及改善

功能 說明
多用戶群環境支援

您現在可以啟用轉接器,為 Apigee 機構中的多個環境提供服務。這項功能可讓您使用一個 Apigee 機構專用的 Apigee Adapter for Envoy,為多個環境提供服務。在這項變更之前,一個轉接器一律綁定一個 Apigee 環境。如要進一步瞭解這項功能,請參閱多用戶群環境支援

Envoy v3 API 支援
支援 Envoy 中繼資料 auth:reject_unauthorized

Envoy 1.16 以上版本允許傳送 ext_authz 中繼資料,無需使用標頭。透過使用及相關變更,我們現在針對拒絕的要求提供更優質的 HTTP 回應代碼,也不再需要在 Envoy 中安裝 RBAC 篩選器。請參閱

這項功能僅適用於 Envoy 1.16 以上版本和 Istio 1.9 以上版本。

這項變更生效後,系統不會再為 Envoy 設定檔 (envoy-config.yaml) 新增下列設定:

additional_request_headers_to_log:
    - x-apigee-accesstoken
    - x-apigee-api
    - x-apigee-apiproducts
    - x-apigee-application
    - x-apigee-clientid
    - x-apigee-developeremail
    - x-apigee-environment

如要將特殊標頭附加到要求,只要在轉接程式的 config.yaml 檔案中設定 append_metadata_headers:true 屬性即可。

remote-service Proxy 中分割 remote-token Proxy

remote-service Proxy 已重構為兩個獨立的 Proxy。v2.0.x 佈建作業會安裝兩個 API Proxy:remote-serviceremote-token/token/certs 端點已從 remote-service Proxy 移至 remote-token

此變更會建立實用的函式分隔功能。remote-service Proxy 目前僅適用於內部轉接器通訊,remote-token Proxy 則提供可自訂的 OAuth 工作流程範例。即使使用 provision --force-proxy-install 指令,系統絕對不會覆寫您的自訂 remote-token Proxy。

資料擷取支援

僅適用於 Apigee X 和 Apigee 混合型。

Adapter 現已支援將 Envoy 中繼資料傳送至 Apigee 的資料擷取功能,並將您指定變數擷取的資料傳送至 Apigee Analytics,以便用於自訂報表。

不需要 RBAC

如同先前「Envoy 中繼資料支援」一節中所述,我們現在不必拒絕個別的 RBAC 篩選條件,就能立即拒絕未經授權的要求。由於未使用 RBAC,因此用戶端現在可以視情況從轉接器接收以下 HTTP 狀態碼:

  • 401 (未授權)
  • 403 禁止
  • 429 要求數量過多
  • 500 內部伺服器錯誤

如要允許未經授權的要求繼續操作,請在轉接程式的 config.yaml 檔案中設定 auth:allow_unauthorized:true

系統不再附加 x-apigee-* 標頭

如同先前「Envoy 中繼資料支援」一節中所述,系統預設不會再附加 x-apigee-* 標頭。如要新增這些目的地,請在 config.yaml 檔案中設定 append_metadata_headers:true。 這項設定完全是選用項目,且只在希望將標頭轉送到上游目標服務時,才需要使用。

自訂比對要求至遠端服務目標

api_header 設定屬性的語意與舊版 target_header 屬性相同 (預設值為目標主機名稱),而指定標頭的內容仍會與 API 產品作業中的 API 產品「遠端服務目標」屬性或「apiSource」欄位 (僅限 Apigee Hybrid 和 Apigee X) 相符。

如要使用 Envoy 中繼資料覆寫這個標頭值,您可以將 apigee_api 中繼資料元素從 Envoy 傳送至轉接介面,直接指定 API 產品的 Remote Service Target 或 API 產品作業的 API 來源。 如要設定,請在 Envoy 設定檔中新增下列程式碼 (可使用轉接程式的 CLI 產生):

typed_per_filter_config:
  envoy.filters.http.ext_authz:
    "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthzPerRoute
    check_settings:
      context_extensions:
        apigee_api: httpbin.org
系統會記錄拒絕要求的 Analytics (分析) 資料

Envoy Adapter 現在會視需要將遭拒的要求立即記錄至數據分析,而不必等待存取記錄傳回要求。這種方式比較有效率,且不需要在要求中附加任何中繼資料。

移除 UDCA 支援

Apigee Hybrid 和 Apigee X 不再以 Apigee 的通用資料收集代理程式 (UDCA) 進行串流,且已由直接上傳取代,因此不再需要數據分析。這項變更只是移除了這個選項的舊版支援。

在佈建/繫結 CLI 指令中新增適用於私有雲的 mTLS 支援

Apigee Edge 私有雲使用者可以透過 ‑‑tls‑cert‑‑tls‑key‑‑tls‑ca 使用 CLI 佈建或列出產品繫結,藉此提供用戶端傳輸層安全標準 (TLS) 用戶端和根憑證。

轉接程式和 Apigee 執行階段之間的 mTLS 支援

您可以在轉接程式的 config.yaml 檔案的 tenant 區段中提供用戶端傳輸層安全標準 (TLS) 憑證,以便在轉接程式和 Apigee 執行階段之間使用 mTLS。這項變更適用於所有支援的 Apigee 平台。也能針對 Apigee Edge 的私有雲平台分析資料。詳情請參閱「設定轉接程式與 Apigee 執行階段之間的 mTLS」。

問題已修正

  • 已修正多項 API 來源相同的作業設定共用相同的配額值區 ID,並導致配額計算作業發生衝突的問題。(問題 #34)
  • 修正問題:未指定特定動詞的作業會導致要求遭拒 (預期會在未指定任何動詞時允許所有動詞)。(問題 #39)。

1.4.0 版

2020 年 12 月 16 日星期三發布了 Apigee Adapter for Envoy 1.4.0 版。

支援平台

我們發布了適用於 MacOS、Linux 和 Windows 的二進位檔。

我們透過 Google 的無損、Ubuntu 和 Ubuntu 搭配 Boring Crypto 發布 Docker 映像檔。

這個版本支援下列平台:

  • Apigee Hybrid 1.3.x、1.4.x (發布日期尚未推出)、公有雲的 Apigee Edge、私有雲的 Apigee Edge,以及 Google Cloud 中的 Apigee
  • Istio 1.5、1.6、1.7、1.8
  • Envoy 1.14、1.15、1.16 版本

功能及改善

功能 說明
remote-service Proxy 不再需要與使用遠端服務目標的 API 產品建立關聯。

由於不再需要這項關聯,請注意下列變更:

  • 佈建期間不再建立 remote-service API 產品。
  • bindings verify CLI 指令已不再適用,因此已遭淘汰。
不再需要 Apigee 機構管理員角色。

您現在不必使用機構管理員權限即可佈建,而是可以使用身分與存取權管理角色 API 建立者和部署者。您必須授予這兩項角色,才能成功佈建。
(僅適用於 Google Cloud 和 Apigee Hybrid 上的 Apigee)

其他問題和修正方法

  • 修正問題:在沒有 --rotate 選項的情況下,重新佈建 Apigee 時不會發生錯誤。
  • 佈建 CLI 現在可讀取及重複使用特定 config.yaml 檔案中的數據分析服務帳戶憑證 (問題 #133)。

1.3.0 版

11 月 23 日星期一,為 Envoy 發布 Apigee Adapter 1.3.0 版。

支援平台

我們發布了適用於 MacOS、Linux 和 Windows 的二進位檔。

我們透過 Google 的無損、Ubuntu 和 Ubuntu 搭配 Boring Crypto 發布 Docker 映像檔。

這個版本支援下列平台:

  • Apigee Hybrid 1.3.x、1.4.x (發布日期尚未推出)、公有雲的 Apigee Edge、私有雲的 Apigee Edge,以及 Google Cloud 中的 Apigee
  • Istio 1.5、1.6、1.7、1.8
  • Envoy 1.14、1.15、1.16 版本

功能及改善

功能 說明
支援 API 產品 OperationGroups。 OperationGroup 使用 Proxy 方法將 Proxy 或遠端服務中的資源與相關配額強制執行作業繫結。
(僅適用於 Google Cloud 和 Apigee Hybrid 上的 Apigee)
從範例產生中移除動態轉送 Proxy 的支援功能。 基於這項變更,如果主機名稱與 API 產品中設定的遠端服務目標主機不同,用戶端必須加入 HOST 標頭。例如:
curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"

請參閱「建立 API 產品」。

支援服務帳戶和 Workload Identity。 如要在 Apigee 混合式叢集中執行轉接程式時,允許將數據分析資料上傳至 Apigee,您必須使用 analytics-sa 指令搭配 apigee-remote-service-cli provision 指令。此外,轉接器現在支援 Google Kubernetes Engine (GKE) 中的 Workload Identity。請參閱佈建指令一文。
(僅適用於 Google Cloud 和 Apigee Hybrid 上的 Apigee)
新的 jwt_provider_key 設定屬性。 金鑰會新增至設定檔。代表了 JWT 設定中的 JWT 供應商的 payload_in_metadata 金鑰,或是 Istio 設定中的 RequestAuthentication JWT 核發者。
KeepAliveMaxConnectionAge 設定屬性現在預設為 1 分鐘。 先前的預設設定為 10 分鐘這項變更是為了讓資源調度作業更加順暢。這個值也會用於存取記錄串流的生命週期。請參閱設定檔
移除 CLI 指令。 下列 CLI 指令已淘汰。建議您改用 Edge API 更新 API 產品的遠端服務目標:
  • apigee-remote-service-cli bindings add
  • apigee-remote-service-cli bindings remove
新增 CLI 指令。 指令:
apigee-remote-service-cli samples templates

列出可搭配 samples create 指令中的 --template 旗標使用的選項。請參閱 CLI 參考資料

已變更現有的 CLI 指令。 變更 apigee-remote-service-cli samples create 指令。我們會嚴格檢查 Envoy 或 Istio 範本的旗標,以及錯誤使用的錯誤傳回錯誤。native 範本選項已淘汰。如要取得可用範本清單,請使用 apigee-remote-service-cli samples templates 指令。另請參閱 CLI 參考資料
/token 端點回應現在符合 OAuth2 規格 已將 access_token 參數新增至回應,且 token 參數已淘汰。

1.2.0 版

我們在 9 月 30 日星期三發布了 Envoy 的 Apigee Adapter 1.2.0 版。

支援平台

我們發布了適用於 MacOS、Linux 和 Windows 的二進位檔。

我們透過 Google 的無損、Ubuntu 和 Ubuntu 搭配 Boring Crypto 發布 Docker 映像檔。

這個版本支援下列平台:

  • Apigee Hybrid 1.3.x 版本
  • Istio 1.5、1.6、1.7 版本
  • Envoy 1.14 版、1.15 版

功能及改善

功能 說明
Google Cloud 中的 Apigee 支援 您現在可以搭配 Google Cloud 上的 Apigee 使用 Apigee Adapter for Envoy。您可以在其叢集中執行轉接程式,或以原生二進位檔或容器的形式執行 Remote Service for Envoy。使用 provision 指令在 Apigee 中佈建轉接程式。
直接上傳數據分析資料 您現在可以設定 Apigee Adapter,直接將數據分析資料上傳至 Apigee。如果您使用的是 Apigee Hybrid,這項新功能可讓您在部署 Apigee Hybrid 的叢集外,將轉接程式部署至其 Kubernetes 叢集。如要啟用直接上傳功能,請使用新的 --analytics-sa 標記搭配 provision 指令。請參閱佈建指令一文。
從 Apigee 載入 API 產品資料後,健康狀態檢查傳回「Ready」 從 Apigee 載入 API 產品資料後,Kubernetes 健康狀態檢查不會傳回「Ready」。這項變更可協助資源調度及升級,因為在準備就緒之前,流量將不會傳送至新的執行個體化執行個體。

其他問題和修正方法

  • 已修正一個問題,解決可能的配額同步處理限制問題 (問題 #17)。
  • Prometheus 註解已移至 Pod 規格 (問題 #69)。
  • 已修正一個錯誤,以利發出不正確的驗證錯誤 (問題 #62)。

1.1.0 版

我們在 8 月 26 日星期三發布了 Envoy 的 Apigee Adapter 1.1.0 版。

支援平台

我們發布了適用於 MacOS、Linux 和 Windows 的二進位檔。

我們透過 Google 的無損、Ubuntu 和 Ubuntu 搭配 Boring Crypto 發布 Docker 映像檔。

1.1.0 版支援下列平台:

  • Apigee Hybrid 1.3 版
  • Istio 1.5、1.6、1.7 版本
  • Envoy 1.14 版、1.15 版

功能及改善

功能 說明
驗證繫結 在 CLI 中新增指令 apigee-remote-service-cli bindings verify。這個指令會驗證指定的繫結 API 產品及其相關聯的開發人員應用程式是否具備相關聯的遠端服務產品。請參閱「驗證繫結」一文。
產生樣本 在 CLI 中新增指令 apigee-remote-service-cli samples create。這個指令會建立原生 Envoy 或 Istio 部署作業的範例設定檔。使用這個指令產生的設定檔,會取代先前版本中以 Envoy 安裝的範例檔案。請參閱「範例指令」一文。
OAuth2 驗證 現在啟用 Apigee Edge 的多重驗證機制 (MFA) 時,轉接程式會使用 OAuth2 驗證。每次使用 --legacy 標記時,請使用 --mfa 旗標。
無損容器 轉接程式現在預設會使用 Google 的無損 (gcr.io/distroless/base) 映像檔,而非 scratch

其他問題和修正方法

  • 已修正 OPDK 中繫結指令的 CLI 問題。(#29)
  • 連線中斷時,配額可能會停滯 (Apigee/apigee-remote-service-envoy)。(第 31 名)
  • Docker 映像檔現在是以非超級使用者的身分建構 (999)。
  • Kubernetes 範例強制執行時,使用者不得為根層級使用者。
  • 針對 Proxy 端點的 curl 指令不再需要 --http1.1。這個標記已從範例中移除。

1.0.0 版

我們在 7 月 31 日星期五推出 Envoy 的 Apigee 轉接程式正式版本。

支援平台

我們發布了適用於 MacOS、Linux 和 Windows 的二進位檔。

我們會從 Spark、Ubuntu 和 Ubuntu 發布包含 Boring Crypto 的 Docker 映像檔。

1.0.0 版支援下列平台:

  • Apigee Hybrid 1.3 版
  • Istio 1.5、1.6 版本
  • Envoy 1.14 版、1.15 版

新增及變更

在 1.0-beta4 版本和 Google Analytics (分析) 之間,我們對轉接程式進行了以下變更:

  • Go Boring 版本

    新的版本現在可以使用符合 FIPS 規定的 Go BoringSSL 程式庫

  • 記錄層級旗標變更

    為達成一致性,Apigee-remote-service-envoy 服務的記錄層級旗標已變更:

    舊版旗標 新增旗標
    log_level log-level
    json_log json-log
  • 新增 CLI 旗標

    在 CLI token 指令中加入了新的旗標:

    標記 說明
    --legacy 如果您使用 Apigee Edge Cloud,請設定這個旗標。
    --opdk 如果您使用的是私有雲 Apigee Edge,請設定這個旗標。