Catatan rilis Adaptor Apigee untuk Envoy

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

v2.1.1

Pada 7 Juni 2023, kami merilis Apigee Adapter for Envoy versi 2.1.1.

Masalah yang diperbaiki

  • Masalah telah diperbaiki saat kuota diduplikasi secara tidak benar di antara operasi, bukan dibagikan di tingkat Produk.

v2.1.0

Pada 5 Juni 2023, kami merilis Apigee Adapter for Envoy versi 2.1.0.

Masalah yang diperbaiki

  • Klaim application_id ditambahkan ke respons /verifyApiKey.

v2.0.7

Pada 9 Maret 2023, kami merilis Apigee Adapter for Envoy versi 2.0.7.

Fitur dan peningkatan

  • JWT kini dapat menambahkan klaim bernama customattributes yang akan meneruskan nilai ke target dalam header bernama x-apigee-customattributes (jika append_metadata_headers dikonfigurasi menjadi true).

Masalah yang diperbaiki

  • Masalah telah diperbaiki saat kunci API yang tidak valid dapat membuat entri log dan rekaman analisis yang salah.
  • Pemeriksaan versi yang tidak digunakan lagi dihapus di proxy yang menyebabkan masalah pada versi Apigee yang lebih baru.

v2.0.6

Pada 18 Oktober 2022, kami merilis Apigee Adapter for Envoy versi 2.0.6.

Masalah yang diperbaiki

  • Rilis keamanan untuk mengatasi kerentanan Denial of Service (DoS) di library dependensi. Lihat CVE-2022-28948.

v2.0.5

Pada 3 Maret 2022, kami merilis Apigee Adapter for Envoy versi 2.0.5.

Masalah yang diperbaiki

  • Rilis keamanan untuk mengatasi risiko Denial of Service (DoS) di library prometheus. Lihat CVE-2022-21698.

v2.0.4

Pada 3 Desember 2021, kami merilis Apigee Adapter for Envoy versi 2.0.4.

Fitur dan peningkatan

  • Daftar versi Envoy dan Istio yang didukung untuk perintah CLI samples telah diperbarui. Versi ini sekarang didukung untuk sampel:
    • Envoy versi 1.18 hingga 1.20
    • Istio versi 1.10 hingga 1.12

Masalah yang diperbaiki

  • Pemeriksaan null ditambahkan untuk pemuatan kunci pribadi blok PEM guna menghindari panik. (Masalah #360)
  • Error otorisasi layanan jarak jauh kini dicatat di tingkat Debug. Pengecualian untuk kategorisasi ini dibuat untuk error pengambilan token untuk kunci API. Dalam hal ini, error dicatat di tingkat Error sehingga dapat terlihat meskipun tingkat log Debug untuk apigee-remote-service-envoy dinonaktifkan. Lihat juga Menetapkan tingkat log layanan jarak jauh. (Masalah #104)

v2.0.3

Pada 21 September 2021, kami merilis Apigee Adapter for Envoy versi 2.0.3.

Masalah yang diperbaiki

  • Masalah logging analisis dengan respons langsung telah diperbaiki. Masalah ini hanya terjadi dalam keadaan tertentu. Contoh:
    • Untuk permintaan yang tidak memerlukan pemeriksaan authn/z, authContext tidak dibuat dan metadata dinamis adalah nol sehingga entri log akses diabaikan.
    • Respons yang ditolak menggunakan kode RPC, bukan kode HTTP, sehingga menyebabkan rekaman ditampilkan sebagai berhasil di UI Apigee.

v2.0.2

Pada 7 Juni 2021, kami merilis Apigee Adapter for Envoy versi 2.0.2.

Masalah yang diperbaiki

  • Kondisi race telah diperbaiki yang dapat menyebabkan error 403 dan panik saat cakupan klaim JWT adalah null.

v2.0.0

Pada Selasa, 6 April 2021, kami merilis Apigee Adapter for Envoy versi 2.0.0.

Fitur dan peningkatan

Fitur Deskripsi
Dukungan lingkungan multi-tenant

Anda kini dapat mengaktifkan adaptor untuk melayani beberapa lingkungan di organisasi Apigee. Fitur ini memungkinkan Anda menggunakan satu Apigee Adapter for Envoy yang terkait dengan satu organisasi Apigee untuk melayani beberapa lingkungan. Sebelum perubahan ini, satu adaptor selalu terikat ke satu lingkungan Apigee. Untuk mengetahui informasi selengkapnya tentang fitur ini, lihat Dukungan lingkungan multi-tenant.

Dukungan API Envoy v3
Dukungan metadata Envoy

Envoy 1.16+ memungkinkan pengiriman metadata ext_authz tanpa harus menggunakan header. Dengan menggunakan perubahan ini dan perubahan terkait, kami kini memberikan kode respons HTTP yang lebih baik untuk permintaan yang ditolak, dan kami tidak perlu lagi menginstal filter RBAC di Envoy. Lihat

Fitur ini hanya didukung untuk Envoy 1.16+ dan Istio 1.9+.

Dengan perubahan ini, konfigurasi berikut tidak lagi ditambahkan ke file konfigurasi 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

Jika Anda ingin menambahkan header ke permintaan untuk kasus khusus, cukup tetapkan properti append_metadata_headers:true dalam file config.yaml adapter.

Memisahkan proxy remote-token dari proxy remote-service

Proxy remote-service telah difaktorkan ulang menjadi dua proxy terpisah. Penyediaan v2.0.x akan menginstal dua proxy API: remote-service dan remote-token. Endpoint /token dan /certs dipindahkan dari proxy remote-service ke remote-token.

Perubahan ini menciptakan pemisahan fungsi yang berguna. Sekarang, proxy remote-service hanya digunakan untuk komunikasi Adapter internal, sedangkan proxy remote-token menyediakan contoh alur kerja OAuth yang dapat Anda sesuaikan. Kami tidak akan pernah mengganti proxy remote-token kustom Anda, meskipun perintah provision --force-proxy-install digunakan.

Dukungan pengambilan data

Hanya tersedia untuk Apigee X dan Apigee Hybrid.

Adapter kini mendukung penerusan metadata Envoy ke fitur pengambilan data Apigee, yang mengirimkan data yang diambil dalam variabel yang Anda tentukan ke analisis Apigee untuk digunakan dalam laporan kustom.

RBAC tidak diperlukan

Seperti yang disebutkan sebelumnya di bagian Dukungan metadata Envoy, kami kini langsung menolak permintaan yang tidak sah tanpa memerlukan filter RBAC terpisah. Karena RBAC tidak digunakan, klien kini akan menerima kode status HTTP ini sebagaimana mestinya dari Adapter:

  • 401 Tidak Sah
  • 403 Terlarang
  • 429 Too Many Requests
  • 500 Error Server Internal

Jika ingin mengizinkan permintaan yang tidak sah untuk dilanjutkan, Anda dapat melakukannya dengan menyetel auth:allow_unauthorized:true dalam file config.yaml adapter.

Header x-apigee-* tidak lagi ditambahkan secara default

Seperti yang disebutkan sebelumnya di bagian Dukungan metadata Envoy, header x-apigee-* tidak lagi ditambahkan secara default. Jika Anda ingin menambahkannya, tetapkan append_metadata_headers:true di file config.yaml. Konfigurasi ini sepenuhnya bersifat opsional dan hanya perlu digunakan jika Anda ingin meneruskan header ke layanan target upstream.

Mencocokkan permintaan ke target layanan jarak jauh secara kustom

Semantik properti konfigurasi api_header tetap sama dengan properti target_header sebelumnya (defaultnya masih berupa nama host target), dan konten header yang ditentukan akan tetap cocok dengan atribut Target layanan jarak jauh Produk API atau kolom apiSource dalam operasi Produk API (khusus Apigee Hybrid dan Apigee X).

Untuk mengganti nilai header ini menggunakan metadata Envoy, Anda dapat meneruskan elemen metadata apigee_api dari Envoy ke adapter untuk secara langsung menentukan Target Layanan Jarak Jauh Produk API atau Sumber API Operasi Produk API. Untuk mengonfigurasi, tambahkan kode yang mirip dengan berikut ke file konfigurasi Envoy (yang dapat Anda buat menggunakan CLI Adapter):

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 untuk permintaan yang ditolak akan dicatat segera

Adaptor Envoy kini akan mencatat permintaan yang ditolak segera ke analytics sesuai kebutuhan, bukan menunggu permintaan ditampilkan dalam log akses. Cara ini lebih efisien dan tidak memerlukan metadata apa pun yang dilampirkan pada permintaan.

Dukungan UDCA telah dihapus

Streaming ke Apigee Universal Data Collection Agent (UDCA) di Apigee Hybrid dan Apigee X tidak lagi diperlukan untuk analisis karena telah digantikan dengan upload langsung. Perubahan ini hanya menghapus dukungan lama untuk opsi ini.

Dukungan mTLS ditambahkan untuk Edge untuk Private Cloud dalam perintah CLI provision/bindings

Pengguna Apigee Edge untuk Cloud Pribadi dapat menyediakan sertifikat TLS sisi klien dan sertifikat root melalui ‑‑tls‑cert, ‑‑tls‑key, dan ‑‑tls‑ca masing-masing saat menyediakan atau mencantumkan binding produk menggunakan CLI.

Dukungan mTLS antara adaptor dan runtime Apigee

Anda dapat menyediakan sertifikat TLS sisi klien di bagian tenant file config.yaml adaptor untuk menggunakan mTLS antara adaptor dan runtime Apigee. Perubahan ini berlaku untuk semua platform Apigee yang didukung. Selain itu, mTLS diaktifkan untuk analisis untuk platform Apigee Edge untuk Private Cloud. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi mTLS antara adaptor dan runtime Apigee.

Masalah yang diperbaiki

  • Masalah telah diperbaiki, yaitu beberapa konfigurasi operasi dengan sumber API yang sama menggunakan ID bucket kuota yang sama dan menyebabkan konflik dalam perhitungan kuota. (Masalah #34)
  • Masalah telah diperbaiki saat operasi tanpa kata kerja yang ditentukan menyebabkan permintaan ditolak (perilaku yang diharapkan adalah mengizinkan semua kata kerja jika tidak ada yang ditentukan). (Masalah #39)

v1.4.0

Pada Rabu, 16 Desember 2020, kami merilis Apigee Adapter for Envoy versi 1.4.0.

Platform yang didukung

Kami memublikasikan biner untuk MacOS, Linux, dan Windows.

Kami memublikasikan image Docker dari distroless Google, Ubuntu, dan Ubuntu dengan Boring Crypto.

Dalam versi ini, kami mendukung platform berikut:

  • Apigee Hybrid versi 1.3.x, 1.4.x (tanggal rilis belum ditentukan), Apigee Edge untuk Public Cloud, Apigee Edge untuk Private Cloud, dan Apigee di Google Cloud
  • Istio versi 1.5, 1.6, 1.7, 1.8
  • Envoy versi 1.14, 1.15, 1.16

Fitur dan peningkatan

Fitur Deskripsi
Proxy remote-service tidak lagi memerlukan hubungan dengan produk API yang menggunakan Target Layanan Jarak Jauh.

Karena asosiasi ini tidak lagi diperlukan, perhatikan perubahan berikut:

  • Produk API remote-service tidak lagi dibuat selama penyediaan.
  • Perintah CLI bindings verify tidak lagi relevan dan telah dihentikan penggunaannya.
Peran Admin Organisasi Apigee tidak lagi diperlukan untuk penyediaan.

Daripada memerlukan izin admin organisasi untuk penyediaan, Anda kini dapat menggunakan API Pembuat dan Penerapan peran IAM. Anda harus memberikan kedua peran ini agar penyediaan berhasil.
(Hanya berlaku untuk Apigee di Google Cloud dan Apigee Hybrid)

Masalah dan perbaikan lainnya

  • Masalah telah diperbaiki saat penyediaan ulang Apigee tanpa opsi --rotate keluar dengan error.
  • CLI penyediaan kini membaca dan menggunakan kembali kredensial akun layanan analisis dari file config.yaml tertentu (Masalah #133).

v1.3.0

Pada Senin, 23 November, kami merilis Apigee Adapter for Envoy versi 1.3.0.

Platform yang didukung

Kami memublikasikan biner untuk MacOS, Linux, dan Windows.

Kami memublikasikan image Docker dari distroless Google, Ubuntu, dan Ubuntu dengan Boring Crypto.

Dalam versi ini, kami mendukung platform berikut:

  • Apigee Hybrid versi 1.3.x, 1.4.x (tanggal rilis belum ditentukan), Apigee Edge untuk Public Cloud, Apigee Edge untuk Private Cloud, dan Apigee di Google Cloud
  • Istio versi 1.5, 1.6, 1.7, 1.8
  • Envoy versi 1.14, 1.15, 1.16

Fitur dan peningkatan

Fitur Deskripsi
Dukungan untuk OperationGroups produk API. OperationGroups mengikat resource dan penerapan kuota terkait dalam proxy atau layanan jarak jauh dengan metode HTTP.
(Hanya berlaku untuk Apigee di Google Cloud dan Apigee Hybrid)
Menghapus dukungan untuk proxy teruskan dinamis dari pembuatan sampel. Karena perubahan ini, klien harus menyertakan header HOST jika nama host berbeda dengan host target layanan jarak jauh yang ditetapkan di produk API. Contoh:
curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"

Lihat Membuat produk API.

Mendukung akun layanan dan Workload Identity. Untuk mengizinkan data analisis diupload ke Apigee saat menjalankan adaptor di luar cluster Apigee hybrid, Anda harus menggunakan parameter analytics-sa dengan perintah apigee-remote-service-cli provision. Selain itu, adapter kini mendukung Workload Identity di Google Kubernetes Engine (GKE). Lihat Perintah penyediaan.
(Hanya berlaku untuk Apigee di Google Cloud dan Apigee Hybrid)
Atribut konfigurasi jwt_provider_key baru. Kunci ini ditambahkan ke file konfigurasi. Ini merepresentasikan kunci payload_in_metadata penyedia JWT di konfigurasi Envoy atau penerbit JWT RequestAuthentication di konfigurasi Istio.
Atribut konfigurasi KeepAliveMaxConnectionAge kini secara default ditetapkan ke 1 menit. Default sebelumnya adalah 10 menit. Perubahan ini memungkinkan penskalaan yang lebih lancar. Nilai ini juga digunakan untuk masa aktif streaming log akses. Lihat file config.
Menghapus perintah CLI. Perintah CLI berikut tidak digunakan lagi. Sebaiknya gunakan Edge API untuk memperbarui target layanan jarak jauh untuk produk API:
  • apigee-remote-service-cli bindings add
  • apigee-remote-service-cli bindings remove
Menambahkan perintah CLI baru. Perintah:
apigee-remote-service-cli samples templates

mencantumkan opsi yang tersedia yang dapat Anda gunakan dengan tanda --template dalam perintah samples create. Lihat referensi CLI.

Mengubah perintah CLI yang ada. Perubahan dilakukan pada perintah apigee-remote-service-cli samples create. Flag khusus untuk template Envoy atau Istio diperiksa secara ketat, dan error akan ditampilkan jika ada flag yang salah digunakan. Opsi template native tidak digunakan lagi. Untuk mendapatkan daftar template yang tersedia, gunakan perintah apigee-remote-service-cli samples templates. Lihat juga referensi CLI.
Respons endpoint /token kini mengikuti spesifikasi OAuth2. Parameter access_token ditambahkan ke respons, dan parameter token tidak digunakan lagi.

v1.2.0

Pada Rabu, 30 September, kami merilis Apigee Adapter for Envoy versi 1.2.0.

Platform yang didukung

Kami memublikasikan biner untuk MacOS, Linux, dan Windows.

Kami memublikasikan image Docker dari distroless Google, Ubuntu, dan Ubuntu dengan Boring Crypto.

Dalam versi ini, kami mendukung platform berikut:

  • Apigee Hybrid versi 1.3.x
  • Istio versi 1.5, 1.6, 1.7
  • Envoy versi 1.14, 1.15

Fitur dan peningkatan

Fitur Deskripsi
Dukungan untuk Apigee di Google Cloud Sekarang Anda dapat menggunakan Adaptor Apigee untuk Envoy dengan Apigee di Google Cloud. Anda dapat menjalankan adaptor di cluster-nya sendiri atau dengan menjalankan Remote Service for Envoy sebagai biner native atau di container. Sediakan adaptor di Apigee menggunakan perintah provision.
Upload langsung untuk data analisis Sekarang Anda dapat mengonfigurasi Apigee Adapter untuk mengupload data analisis ke Apigee secara langsung. Jika Anda menggunakan Apigee Hybrid, fitur baru ini memungkinkan Anda men-deploy adaptor ke cluster Kubernetes-nya sendiri, di luar cluster tempat Apigee Hybrid diinstal. Untuk mengaktifkan upload langsung, gunakan flag --analytics-sa baru dengan perintah provision. Lihat perintah penyediaan.
Pemeriksaan kondisi menampilkan "Siap" setelah data produk API dimuat dari Apigee Pemeriksaan kondisi Kubernetes tidak akan menampilkan "Siap" hingga data produk API dimuat dari Apigee. Perubahan ini membantu penskalaan dan upgrade, karena tidak ada traffic yang akan dikirim ke adaptor yang baru di-instansiasi hingga siap.

Masalah dan perbaikan lainnya

  • Masalah telah diperbaiki untuk mengatasi potensi deadlock sinkronisasi kuota (Masalah #17).
  • Anotasi Prometheus dipindahkan ke spesifikasi pod (Masalah #69).
  • Masalah telah diperbaiki untuk mengatasi error verifikasi yang tidak tepat (Masalah #62).

v1.1.0

Pada Rabu, 26 Agustus, kami merilis Apigee Adapter for Envoy versi 1.1.0.

Platform yang didukung

Kami memublikasikan biner untuk MacOS, Linux, dan Windows.

Kami memublikasikan image Docker dari distroless Google, Ubuntu, dan Ubuntu dengan Boring Crypto.

Pada versi 1.1.0, kami mendukung platform berikut:

  • Apigee Hybrid versi 1.3
  • Istio versi 1.5, 1.6, 1.7
  • Envoy versi 1.14, 1.15

Fitur dan peningkatan

Fitur Deskripsi
Memverifikasi binding Perintah baru apigee-remote-service-cli bindings verify telah ditambahkan ke CLI. Perintah ini memverifikasi bahwa produk API terikat yang ditentukan dan aplikasi developer terkaitnya juga memiliki produk layanan jarak jauh yang terkait dengannya. Lihat Memverifikasi pengikatan.
Buat contoh Perintah baru apigee-remote-service-cli samples create telah ditambahkan ke CLI. Perintah ini akan membuat file konfigurasi contoh untuk deployment Envoy atau Istio native. File konfigurasi yang Anda buat dengan perintah ini menggantikan file contoh yang diinstal dengan Adapter for Envoy di versi sebelumnya. Lihat Perintah sampel.
Autentikasi OAuth2 Adaptor kini menggunakan autentikasi OAuth2 saat autentikasi multi-faktor (MFA) diaktifkan untuk Apigee Edge. Gunakan flag --mfa setiap kali Anda menggunakan flag --legacy.
Container Distroless Adaptor kini menggunakan image distroless (gcr.io/distroless/base) Google, bukan scratch untuk dasar image Docker default.

Masalah dan perbaikan lainnya

  • Masalah CLI telah diperbaiki untuk perintah binding di OPDK. (#29)
  • Kuota dapat macet saat koneksi terputus (apigee/apigee-remote-service-envoy. (#31)
  • Image Docker kini dibangun dengan pengguna non-root (999).
  • Contoh Kubernetes mewajibkan pengguna tidak boleh menjadi root.
  • --http1.1 tidak lagi diperlukan untuk perintah curl terhadap endpoint proxy. Bendera telah dihapus dari contoh.

v1.0.0

Pada Jumat, 31 Juli, kami merilis versi GA Apigee Adapter for Envoy.

Platform yang didukung

Kami memublikasikan biner untuk MacOS, Linux, dan Windows.

Kami memublikasikan image Docker dari awal, Ubuntu, dan Ubuntu dengan Boring Crypto.

Di versi 1.0.0, kami mendukung platform berikut:

  • Apigee Hybrid versi 1.3
  • Istio versi 1.5, 1.6
  • Envoy versi 1.14, 1.15

Penambahan dan perubahan

Antara rilis v1.0-beta4 dan GA, perubahan penambahan berikut dilakukan pada adapter:

  • Buka Boring builds

    Build baru kini tersedia yang menggunakan library Go BoringSSL yang kompatibel dengan FIPS.

  • Perubahan tanda level log

    Flag tingkat logging untuk layanan apigee-remote-service-envoy telah diubah agar konsisten:

    Bendera lama Flag baru
    log_level log-level
    json_log json-log
  • Flag CLI baru

    Flag baru telah ditambahkan ke perintah token CLI:

    Bendera Deskripsi
    --legacy Tetapkan tanda ini jika Anda menggunakan Apigee Edge Cloud.
    --opdk Tetapkan tanda ini jika Anda menggunakan Apigee Edge for Private Cloud.