Apigee Adapter for Envoy 版本資訊

查看 Apigee Edge 說明文件。
前往 Apigee X說明文件
資訊

v2.1.1

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

已修正問題

  • 作業之間的配額重複,這個問題已修正 而非在產品層級分享

v2.1.0

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

已修正問題

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

v2.0.7

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

功能與改善項目

  • JWT 現在可以新增名為 customattributes 的要求來傳送值 並在名為 x-apigee-customattributes 的標題中 append_metadata_headers 已設為 true)。

已修正問題

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

v2.0.6

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

已修正問題

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

v2.0.5

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

已修正問題

  • 發布安全性版本以解決 Prometheus 程式庫中的阻斷服務 (DoS) 風險。請參閱 CVE-2022-21698

v2.0.4

2021 年 12 月 3 日,我們推出了 Apigee Adapter for Envoy 2.0.4 版。

功能與改善項目

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

已修正問題

  • 為避免載入 PEM 區塊私密金鑰,新增了 nil 檢查功能。(問題 #360)。
  • 遠端服務授權錯誤現在會記錄在「偵錯」層級。但不適用於這個分類 的結尾是 API 金鑰的權杖擷取錯誤。在此情況下,錯誤會記錄在「錯誤」 級別,如此一來,即使停用 apigee-remote-service-envoy 的偵錯記錄層級,也能看到這些對話方塊。 另請參閱設定遠端服務記錄層級。(問題 #104)。

v2.0.3

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

已修正問題

  • 修正直接回應的數據分析記錄問題。該問題只會發生於 情況。例如:
    • 如果要求不需要驗證/z 檢查,系統就不會產生 authContext, 動態中繼資料曾被 nil 忽略,導致系統忽略存取記錄項目。
    • 遭拒回應使用遠端程序呼叫 (RPC) 代碼而非 HTTP 代碼,導致記錄 在 Apigee UI 中顯示為成功

v2.0.2

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

已修正問題

  • 已修正競爭狀況。在 JWT 憑證附加資訊範圍之前,可能會導致發生 403 錯誤和恐慌 nil。

v2.0.0

我們在 2021 年 4 月 6 日星期二發布 Apigee Adapter for Envoy 版本 2.0.0。

功能及改善

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

您現在可以啟用轉接器,為 部署於 Apigee 機構的環境這項功能可讓您使用 與一個 Apigee 機構相關聯的 Envoy 轉接器,可為多個環境提供服務。之前 這項變更,一個轉接程式總是會連結至一個 Apigee 環境。如要進一步瞭解 如要進一步瞭解這項功能,請參閱 多用戶群環境支援

Envoy v3 API 支援
支援 Envoy 中繼資料

Envoy 1.16 以上版本允許 傳送 ext_authz 中繼資料,而無須使用標頭。使用 以及相關變更,我們現在針對 我們不再需要在 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

如果您想要在特殊情況下為請求加上標頭,只需設定 屬性即可 append_metadata_headers:true加入轉接器的 config.yaml 檔案中。

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 工作流程。我們絕不會 覆寫自訂的 remote-token Proxy,即使使用 provision --force-proxy-install 指令也一樣。

資料擷取支援

僅適用於 Apigee X 和 Apigee Hybrid。

轉接器現在支援將 Envoy 中繼資料傳遞至 Apigee 的資料擷取功能。 會將擷取變數中的資料傳送至 Apigee 數據分析,以用於自訂報表。

不需要 RBAC

如同先前的 Envoy 中繼資料支援所述,現在我們 拒絕未經授權的要求,而無須另外使用 RBAC 篩選器。由於 未使用 RBAC,用戶端現在會收到這些 HTTP 狀態碼 (視情況而定) 轉接器:

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

如要允許未經授權的要求繼續傳送,可以在 auth:allow_unauthorized:true 轉接程式的 config.yaml 檔案中。

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

Envoy 中繼資料支援一節所述。 系統不再預設附加 x-apigee-* 標頭。如果想要新增 在 config.yaml 檔案中設定 append_metadata_headers:true。 這項設定 為完全選用,且只在有需要時才使用 將標頭新增至上游目標服務

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

會保留 api_header 設定屬性的語意 與先前的 target_header 屬性相同 (預設值仍為 目標主機名稱),而指定標頭的內容仍然會 API 產品遠端服務目標屬性或 apiSource 欄位, API 產品作業 (僅限 Apigee hybrid 和 Apigee X)。

如要使用 Envoy 中繼資料覆寫這個標頭值,您可以傳遞 apigee_api 中繼資料元素,以便直接指定 API 產品的遠端服務目標或 API Product Operation 的 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
系統會立即記錄遭拒要求的數據分析

Envoy Adapter 現在會立即將遭拒要求記錄為數據分析,如下所示: ,這樣就不必等待存取記錄傳回要求。這是更多 也不需要在要求中附加任何中繼資料。

已停止支援 UDCA

在 Apigee hybrid 中串流至 Apigee 的通用資料收集代理程式 (UDCA) 時,不必再使用 Apigee X 進行數據分析, 現已改為直接上傳這項變更只會移除舊版支援 這個選項。

在佈建/繫結 CLI 指令中,新增 Edge for Private Cloud 的 mTLS 支援

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

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

您可以在tenant 轉接器的 config.yaml 檔案,以便在轉接程式和 Apigee 執行階段之間使用 mTLS。這個 這項變更會套用至所有支援的 Apigee 平台還能啟用 mTLS 進行分析 適用於 Apigee Edge 的私有雲平台若需更多資訊,請參閲 在轉接程式和 Apigee 執行階段之間設定 mTLS

已修正問題

  • 先前共用相同 API 來源的多項作業設定的問題已修正 導致配額計算發生衝突。 (問題 #34)。
  • 在不含指定動詞的作業中導致要求 拒絕 (如未指定,則允許所有動詞)。 (問題 #39)。

v1.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 for Public Cloud 適用於私有雲的 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 機構管理員角色。

您現在可以使用 請改為使用 IAM 角色 API 建立者和部署者您必須同時授予這兩種角色 才能成功佈建
(僅適用於 Google Cloud 和 Apigee Hybrid 上的 Apigee)

其他問題和修正方法

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

v1.3.0

11 月 23 日星期一,我們推出了 Apigee Adapter for Envoy 版本 1.3.0。

支援的平台

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

我們從 Google 的無發行版、Ubuntu 和 Ubuntu 中,使用 Boring Crypto 發布 Docker 映像檔。

這個版本支援下列平台:

  • Apigee hybrid 1.3.x 版、1.4.x 版 (待發布日期)、Apigee Edge for Public Cloud 適用於私有雲的 Apigee Edge 和 Google Cloud 中的 Apigee
  • Istio 1.5、1.6、1.7、1.8 版
  • Envoy 1.14 版、1.15、1.16 版

功能及改善

功能 說明
支援 API 產品 OperationGroups。 OperationGroups 會將資源和相關配額強制執行機制繫結至 Proxy 或 透過 HTTP 方法進行遠端服務
(僅適用於 Google Cloud 和 Apigee Hybrid 上的 Apigee)
從產生樣本中移除對動態轉送 Proxy 的支援。 本次異動生效後,如果主機名稱符合以下條件,用戶端就必須包含 HOST 標頭 與 API 產品中設定的遠端服務目標主機不同。適用對象 範例:
curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"

請參閱建立 API 產品

支援服務帳戶和 Workload Identity 允許系統將數據分析資料上傳至 Apigee 在 Apigee 混合叢集外執行轉接程式時,您必須使用 含有 apigee-remote-service-cli provisionanalytics-sa 參數 指令此外,轉接器現在支援 Google Kubernetes 中的 Workload Identity 請參閱佈建指令
(僅適用於 Google Cloud 和 Apigee Hybrid 上的 Apigee)
全新 jwt_provider_key 設定屬性。 這個金鑰會新增至設定檔中。 代表 JWT 供應商的 payload_in_metadata 金鑰 Envoy 設定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 參數也已新增 已淘汰

v1.2.0

9 月 30 日星期三,我們推出了 Apigee Adapter for Envoy 版本 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 支援 您現在可以將 Envoy 專用 Apigee Adapter 與 Google Cloud 中的 Apigee 搭配使用。 您可以在自己的叢集內執行轉接器,或是將 Remote Service for Envoy 做為原生二進位檔,或在容器中執行。在 Apigee 中佈建轉接程式 使用 provision 指令
直接上傳數據分析資料 您現在可以設定 Apigee Adapter 將數據分析資料直接上傳至 Apigee。如果您是 也就是使用 Apigee Hybrid 有了新功能,您就能將轉接器部署至自己的 Kubernetes 叢集 安裝 Apigee Hybrid如要啟用直接上傳,請使用 --analytics-sa 旗標搭配 provision 指令。 請參閱佈建指令
健康狀態檢查傳回「Ready」從 Apigee 載入 API 產品資料後 Kubernetes 健康狀態檢查不會傳回「Ready」直到 API 產品資料 從 Apigee 載入這項變更有助於調度資源及升級,因為 直到準備就緒為止。

其他問題和修正方法

  • 已修正配額同步處理作業可能會死結的問題 (問題 #17)。
  • Prometheus 註解已移至 Pod 規格 (問題 #69)。
  • 修正錯誤,解決誤發的驗證錯誤 (問題 #62)。

v1.1.0

8 月 26 日星期三,我們推出了 Apigee Adapter for Envoy 版本 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 版

功能及改善

功能 說明
驗證繫結 以下為新指令 apigee-remote-service-cli bindings verify: 新增至 CLI。這個指令會驗證指定的 API 產品及其 相關聯的開發人員應用程式也有相關聯的遠端服務產品。詳情請見 驗證繫結
產生範例 已新增指令 apigee-remote-service-cli samples create CLI 指令這項指令會建立 原生 Envoy 或 Istio 部署的設定檔範例。設定 您使用此指令產生的範例檔會取代安裝 with Envoy 在先前版本中的 Adapter詳情請見 範例指令
OAuth2 驗證 在多重驗證 (MFA) 為 已為 Apigee Edge 啟用每當您使用 --mfa 標記時 --legacy 標記。
無 Distro 容器 轉接器現在改用 Google 的不復古 (gcr.io/distroless/base) 圖片 預設 Docker 映像檔基礎的 scratch

其他問題和修正方法

  • 已修正 OPDK 中繫結指令的 CLI 問題。(#29)
  • 連線中斷時 (apigee/apigee-remote-service-envoy),可能會停止配額。(#31)。
  • Docker 映像檔現以非超級使用者 (999) 建構而成。
  • Kubernetes 範例會強制執行使用者,而非根層級使用者。
  • 對於 Proxy 端點的 curl 指令不再需要 --http1.1。旗幟 。

1.0.0 版

7 月 31 日星期五,我們推出了 Apigee Adapter for Envoy 正式發布版。

支援的平台

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

我們利用 Boring Crypto,從零發布 Docker 映像檔、Ubuntu 和 Ubuntu 發布 Docker 映像檔。

1.0.0 版支援下列平台:

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

新增與變更

在 v1.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 如果您使用的是適用於 Private Cloud 的 Apigee Edge,請設定這個標記。