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, yaitu kuota tidak diduplikasi 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 ini ke target di header yang disebut 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 analisis palsu {i>record<i}.
  • Pemeriksaan versi yang tidak digunakan lagi dihapus di proxy yang menyebabkan masalah pada versi Apigee.

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) pada library dependensi. Lihat CVE-2022-28948.

v2.0.5

Pada 3 Maret 2022, kami merilis Adaptor Apigee untuk 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 samples CLI telah diperbarui. Versi ini kini didukung untuk contoh:
    • Envoy versi 1.18 hingga 1.20
    • Istio versi 1.10 hingga 1.12

Masalah yang diperbaiki

  • Pemeriksaan nil ditambahkan untuk pemuatan kunci pribadi blok PEM guna menghindari kepanikan. (Masalah #360)
  • Error otorisasi layanan jarak jauh kini dicatat di level Debug. Pengecualian untuk kategorisasi ini dibuat untuk error pengambilan token untuk kunci API. Dalam hal ini, kesalahan dicatat di bagian {i>Error<i} sehingga terlihat meskipun level log Debug untuk apigee-remote-service-envoy dinonaktifkan. Lihat juga Menyetel 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 pada respons langsung telah diperbaiki. Masalah hanya terjadi pada situasi. Contoh:
    • Untuk permintaan yang tidak memerlukan pemeriksaan authn/z, tidak ada authContext yang dibuat dan metadata dinamis bernilai nol, sehingga entri log akses diabaikan.
    • Respons yang ditolak menggunakan kode RPC, bukan kode HTTP, sehingga menyebabkan kumpulan data yang ditampilkan di UI Apigee sebagai sukses.

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 kepanikan saat cakupan klaim JWT nol.

v2.0.0

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

Fitur dan peningkatan

Fitur Deskripsi
Dukungan lingkungan multi-tenant

Anda sekarang dapat mengaktifkan adaptor untuk melayani beberapa dalam organisasi Apigee. Fitur ini memungkinkan Anda menggunakan satu Apigee Adaptor untuk Envoy yang terkait dengan satu organisasi Apigee untuk melayani beberapa lingkungan. Sebelum pembaruan perubahan ini, satu adaptor selalu terikat ke satu lingkungan Apigee. Untuk informasi lebih lanjut tentang fitur ini, lihat Dukungan lingkungan multi-tenant.

Dukungan Envoy v3 API
Dukungan metadata Envoy

Envoy 1.16+ memungkinkan mengirimkan metadata ext_authz tanpa harus menggunakan header. Dengan menggunakan perubahan ini dan yang terkait, kini kami menyediakan kode tanggapan HTTP yang lebih baik untuk permintaan, dan kita 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 Envoy file konfigurasi (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 adaptor.

Pisahkan 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. /token dan /certs endpoint dipindahkan dari proxy layanan jarak jauh ke token jarak jauh.

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

Dukungan pengambilan data

Hanya tersedia untuk Apigee X dan Apigee Hybrid.

Adaptor 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 dalam dukungan metadata Envoy, kami kini segera menolak permintaan yang tidak sah tanpa memerlukan filter RBAC terpisah. Karena RBAC tidak digunakan, klien sekarang akan menerima kode status HTTP yang sesuai dari Adaptor:

  • 401 Tidak Sah
  • 403 Dilarang
  • 429 Terlalu Banyak Permintaan
  • 500 Error Server Internal

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

Header x-apigee-* tidak lagi ditambahkan secara default

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

Pencocokan kustom permintaan dengan target layanan jarak jauh

Semantik properti konfigurasi api_header tetap sama dengan properti target_header sebelumnya (default-nya masih menjadi nama {i>host<i} target), dan konten {i>header<i} 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 apigee_api elemen metadata dari Envoy ke adaptor untuk menentukan Remote Service Target Produk API atau Sumber API Operasi Produk API. Untuk mengonfigurasi, tambahkan kode yang mirip dengan berikut ini ke file konfigurasi Envoy (yang dapat Anda buat menggunakan CLI Adaptor):

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 langsung dicatat

Adaptor Envoy sekarang akan segera mencatat permintaan yang ditolak ke analisis sebagai diperlukan alih-alih menunggu permintaan untuk dikembalikan dalam log akses. Ini lebih efisien dan tidak memerlukan metadata apa pun yang dilampirkan ke permintaan.

Dukungan UDCA telah dihapus

Streaming ke Agen Pengumpulan Data Universal (UDCA) Apigee di Apigee Hybrid dan Apigee X tidak lagi diperlukan untuk analisis seperti data tersebut telah diganti dengan unggahan langsung. Perubahan ini hanya menghapus dukungan lama untuk opsi ini.

Dukungan mTLS ditambahkan untuk Edge untuk Private Cloud dalam perintah CLI penyediaan/binding

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

Dukungan mTLS antara adaptor dan runtime Apigee

Anda dapat memberikan sertifikat TLS sisi klien di bagian tenant pada file config.yaml adaptor untuk menggunakan mTLS antara adaptor dan runtime Apigee. Ini perubahan berlaku untuk semua platform Apigee yang didukung. Layanan ini juga mengaktifkan mTLS untuk analisis untuk platform Apigee Edge untuk Private Cloud. Untuk informasi selengkapnya, lihat Mengonfigurasi mTLS antara adaptor dan runtime Apigee.

Masalah yang diperbaiki

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

v1.4.0

Pada hari 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 tertunda), 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 pengaitan dengan produk API yang menggunakan Target Remote Service.

Karena pengaitan 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 tidak digunakan lagi.
Peran Apigee Organization Admin tidak lagi diperlukan untuk penyediaan.

Daripada memerlukan izin admin org untuk penyediaan, Anda kini dapat menggunakan peran IAM, API Creator dan Deployer. Anda harus memberikan kedua peran ini hingga berhasil disediakan.
(Hanya berlaku untuk Apigee di Google Cloud dan Apigee Hybrid)

Masalah dan perbaikan lainnya

  • Masalah telah diperbaiki saat melakukan 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 hari 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 tertunda), 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 di proxy atau layanan jarak jauh dengan metode HTTP.
(Hanya berlaku untuk Apigee di Google Cloud dan Apigee Hybrid)
Menghapus dukungan untuk dynamic forward proxy dari pembuatan contoh. Karena perubahan ini, klien harus menyertakan header HOST jika nama host adalah berbeda dari {i>host<i} target layanan jarak jauh yang disetel dalam produk API. Sebagai contoh:
curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"

Lihat Membuat produk API.

Dukung akun layanan dan Workload Identity. Untuk mengizinkan upload data analisis ke Apigee saat menjalankan adaptor di luar cluster hybrid Apigee, Anda harus menggunakan Parameter analytics-sa dengan apigee-remote-service-cli provision perintah. Selain itu, adaptor sekarang mendukung Workload Identity di Google Kubernetes Engine (GKE). Lihat Perintah Provisioning.
(Hanya berlaku untuk Apigee di Google Cloud dan Apigee Hybrid)
Atribut konfigurasi jwt_provider_key baru. Kunci ini ditambahkan ke file konfigurasi. Objek ini mewakili kunci payload_in_metadata penyedia JWT di Konfigurasi Envoy atau penerbit JWT RequestAuthentication di konfigurasi Istio.
Atribut konfigurasi KeepAliveMaxConnectionAge sekarang setelan defaultnya adalah 1 menit. Default sebelumnya adalah 10 menit. Perubahan ini memungkinkan penskalaan yang lebih lancar. Ini juga digunakan untuk masa aktif aliran data log akses. Lihat file konfigurasi.
Perintah CLI dihapus. Perintah CLI berikut tidak digunakan lagi. Sebaiknya gunakan Edge API sebagai ganti mengupdate 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 flag --template dalam perintah samples create. Lihat Referensi CLI.

Mengubah perintah CLI yang ada. Perubahan dilakukan pada apigee-remote-service-cli samples create perintah. Tanda khusus untuk template Envoy atau Istio diperiksa secara ketat, dan ditampilkan pada penanda yang salah digunakan. Opsi template native adalah 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 telah ditambahkan ke respons, dan parameter token tidak digunakan lagi.

v1.2.0

Pada hari 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 clusternya sendiri atau dengan menjalankan Remote Service for Envoy sebagai biner native atau dalam container. Menyediakan adaptor di Apigee menggunakan perintah Provisioning.
Upload langsung untuk data analisis Sekarang Anda dapat mengonfigurasi Adaptor Apigee untuk mengupload data analisis ke Apigee secara langsung. Jika Anda menggunakan Apigee Hybrid, fitur baru ini memungkinkan deployment adaptor ke cluster Kubernetes-nya sendiri, di luar dari cluster tempat Apigee Hybrid diinstal. Untuk mengaktifkan upload langsung, gunakan --analytics-sa dengan perintah provision. Lihat perintah Provisioning.
Health check menampilkan hasil "Siap" setelah data produk API dimuat dari Apigee Health check Kubernetes tidak akan menampilkan "Ready" hingga data produk API dimuat dari Apigee. Perubahan ini membantu penskalaan dan upgrade, karena tidak ada traffic yang akan dikirim ke adaptor yang baru dibuat instance-nya 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 ditampilkan dengan benar (Masalah #62).

v1.1.0

Pada hari 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 terkait juga memiliki produk layanan jarak jauh yang terkait dengannya. Lihat Memverifikasi binding.
Buat contoh Perintah baru apigee-remote-service-cli samples create ditambahkan ke CLI. Perintah ini membuat contoh file konfigurasi untuk deployment Envoy atau Istio native. Konfigurasi file yang Anda buat dengan perintah ini menggantikan file sampel yang telah diinstal dengan Adaptor untuk Envoy di versi sebelumnya. Lihat Perintah Sample.
Autentikasi OAuth2 Sekarang adaptor menggunakan otentikasi OAuth2 ketika {i>multi-faktor auth <i}(MFA) untuk Apigee Edge. Gunakan flag --mfa setiap kali Anda menggunakan tanda --legacy.
Container tanpa distro Adaptor sekarang menggunakan image (gcr.io/distroless/base) distroless Google dari scratch untuk basis image Docker default.

Masalah dan perbaikan lainnya

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

v1.0.0

Pada hari Jumat, 31 Juli, kami merilis Adaptor Apigee untuk Envoy versi GA.

Platform yang didukung

Kami memublikasikan biner untuk MacOS, Linux, dan Windows.

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

Pada 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 adaptor:

  • Build yang Membosankan

    Kini tersedia build baru yang menggunakan Library Go BoringSSL yang mematuhi FIPS.

  • Perubahan tanda level log

    Tanda level logging untuk layanan apigee-remote-service-envoy telah diubah untuk konsistensi:

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

    Tanda baru 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 untuk Private Cloud.