Catatan rilis Adaptor Apigee untuk Envoy

Halaman ini berlaku untuk Apigee dan Apigee Hybrid.

Baca dokumentasi Apigee Edge.

Halaman ini mendokumentasikan catatan rilis bagi semua software Apigee Adapter untuk Envoy untuk tahun 2021 dan sebelumnya.

Lihat Adapter for Envoy untuk catatan rilis saat ini (2022 dan yang lebih baru).

v2.0.4

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

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 telah diperbaiki

  • Pemeriksaan nol telah ditambahkan untuk pemuatan kunci pribadi blok PEM guna menghindari kepanikan. (Masalah #360)
  • Error otorisasi layanan jarak jauh kini dicatat pada level Debug. Pengecualian untuk kategorisasi ini dibuat untuk error pengambilan token untuk kunci API. Dalam hal ini, error dicatat ke dalam log pada level Error sehingga terlihat meskipun level 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 versi 2.0.3 Apigee Adapter untuk Envoy.

Masalah telah 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, tidak ada authContext yang dihasilkan dan metadata dinamis tidak ada yang menyebabkan entri log akses diabaikan.
    • Respons yang ditolak menggunakan kode RPC, bukan kode HTTP, sehingga kumpulan data berhasil ditampilkan di UI Apigee.

v2.0.2

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

Masalah telah diperbaiki

  • Perbaikan kondisi race yang dapat menyebabkan error 403 dan kepanikan jika cakupan klaim JWT nol.

v2.0.1

Pada hari Selasa, 29 April 2021, kami merilis versi 2.0.1 Apigee Adapter untuk Envoy.

Masalah telah diperbaiki

Fitur Deskripsi
Bug

Masalah yang menyebabkan v2.0.0 tidak berfungsi saat digunakan dengan Apigee Hybrid v1.5.0 atau Apigee telah diperbaiki. Jika Anda mengupgrade penginstalan hybrid Apigee ke v1.5.x, jalur upgrade yang direkomendasikan untuk adaptor tersebut adalah:

  1. Mengupgrade Adaptor Apigee untuk Envoy ke v2.0.1.
  2. Mengupgrade Apigee Hybrid ke v1.5.1.

Jika Anda menggunakan Apigee, cukup upgrade adaptor ke v2.0.1.

v2.0.0

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

Fitur dan peningkatan

Fitur Deskripsi
Dukungan lingkungan multi-tenant

Sekarang Anda dapat mengaktifkan adaptor untuk melayani beberapa lingkungan dalam organisasi Apigee. Fitur ini memungkinkan Anda menggunakan satu Adaptor Apigee untuk 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 Envoy v3 API
Dukungan metadata Envoy

Envoy 1.16+ memungkinkan pengiriman metadata ext_authz tanpa harus menggunakan header. Dengan menggunakan ini dan perubahan terkait, kini kami menyediakan 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 adaptor.

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 menghasilkan pemisahan fungsi yang berguna. Sekarang, proxy remote-service hanya digunakan untuk komunikasi Adaptor internal, sedangkan proxy token jarak jauh menyediakan contoh alur kerja OAuth yang dapat Anda sesuaikan. Kami tidak akan pernah menimpa proxy token jarak jauh kustom Anda, meskipun perintah provision --force-proxy-install digunakan.

Dukungan pengambilan data

Adaptor kini mendukung penerusan metadata Envoy ke fitur pengambilan data Apigee, yang mengirimkan data yang direkam dalam variabel yang Anda tentukan ke analisis Apigee untuk digunakan dalam laporan kustom. Fitur ini menyediakan kemampuan yang serupa dengan kebijakan Pengambilan Data Apigee. Untuk informasi selengkapnya tentang fitur ini, lihat Merekam data untuk laporan kustom.

RBAC tidak diperlukan

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

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

Jika ingin mengizinkan permintaan 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 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 opsional dan hanya perlu digunakan jika diinginkan untuk meneruskan header ke layanan target upstream.

Mencocokkan permintaan secara kustom dengan Operasi Produk Apigee API

Semantik properti konfigurasi api_header tetap sama dengan properti target_header sebelumnya (default-nya masih nama host target), dan konten header yang ditentukan masih akan cocok dengan atribut Remote service target Produk API atau kolom Source dalam Konfigurasi Operasi Produk API.

Untuk mengganti nilai header ini menggunakan metadata Envoy, Anda dapat meneruskan elemen metadata apigee_api dari Envoy ke adaptor untuk menentukan secara langsung 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

Envoy Adapter kini akan langsung mencatat permintaan yang ditolak ke analisis sesuai kebutuhan, bukan menunggu permintaan tersebut ditampilkan di log akses. Cara ini lebih efisien dan tidak perlu menyertakan metadata apa pun pada permintaan tersebut.

Dukungan UCA telah dihapus

Streaming ke Agen Pengumpulan Data Universal (UDCA) Apigee dalam Apigee Hybrid dan Apigee 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 penyediaan/binding

Apigee Edge untuk pengguna Private Cloud dapat menyediakan sertifikat TLS dan root cert sisi klien melalui ‑‑tls‑cert, ‑‑tls‑key, dan ‑‑tls‑ca 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 pada file config.yaml adaptor untuk menggunakan mTLS antara adaptor dan runtime Apigee. Perubahan ini berlaku untuk semua platform Apigee yang didukung. API ini juga mengaktifkan mTLS untuk analisis bagi platform Apigee Edge untuk Private Cloud. Untuk informasi selengkapnya, lihat Mengonfigurasi mTLS antara adaptor dan runtime Apigee.

Masalah dan perbaikan lainnya

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

v1.4.0

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

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 untuk Public Cloud, Apigee 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 Layanan Jarak Jauh.

Karena pengaitan ini tidak lagi diperlukan, perhatikan perubahan berikut:

  • Produk API layanan jarak jauh tidak lagi dibuat selama penyediaan.
  • Perintah CLI bindings verify tidak lagi relevan dan sudah 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 agar berhasil disediakan.
(Hanya berlaku untuk Apigee di Google Cloud dan Apigee Hybrid)

Masalah dan perbaikan lainnya

  • Masalah telah diperbaiki saat penyediaan ulang Apigee tanpa opsi --rotate ditutup 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 2020, kami merilis versi 1.3.0 Apigee Adapter untuk Envoy.

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 untuk Public Cloud, Apigee 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. Untuk mengetahui detailnya, lihat OperationGroup.
(Hanya berlaku untuk Apigee di Google Cloud dan Apigee Hybrid)
Menghapus dukungan untuk proxy penerusan dinamis dari pembuatan sampel. Karena perubahan ini, klien harus menyertakan header HOST jika nama host berbeda dengan host target layanan jarak jauh yang ditetapkan dalam produk API. Contoh:
curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"

Lihat Membuat produk API.

Mendukung akun layanan dan Workload Identity. Agar data analisis dapat diupload ke Apigee saat menjalankan adaptor di luar cluster hybrid Apigee, Anda harus menggunakan parameter analytics-sa dengan perintah apigee-remote-service-cli provision. Selain itu, adaptor 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. ID ini mewakili kunci payload_in_metadata penyedia JWT di konfigurasi Envoy atau penerbit JWT RequestAuthentication di konfigurasi Istio.
Atribut konfigurasi KeepAliveMaxConnectionAge sekarang ditetapkan secara default ke 1 menit. Setelan default sebelumnya adalah 10 menit. Perubahan ini memungkinkan penskalaan yang lebih lancar. Nilai ini juga digunakan untuk masa aktif aliran log akses. Lihat file konfigurasi.
Perintah CLI dihapus. Perintah CLI berikut tidak digunakan lagi. Sebaiknya gunakan Apigee API untuk 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 perintah apigee-remote-service-cli samples create. Tanda khusus untuk template Envoy atau Istio diperiksa secara ketat, dan error akan ditampilkan pada tanda 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 telah ditambahkan ke respons, dan parameter token tidak digunakan lagi.

v1.2.0

Pada hari Rabu, 30 September 2020, kami merilis versi 1.2.0 Apigee Adapter untuk Envoy.

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 Anda kini 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. Sediakan adaptor di Apigee menggunakan perintah provider.
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 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.
Health check menampilkan status "Siap" setelah data produk API dimuat dari Apigee Health check Kubernetes tidak akan menampilkan status "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 ditampilkan dengan tidak benar (Masalah #62).

v1.1.0

Pada hari Rabu, 26 Agustus 2020, kami merilis versi 1.1.0 Apigee Adapter untuk Envoy.

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 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 binding.
Buat contoh Perintah baru apigee-remote-service-cli samples create telah ditambahkan ke CLI. Perintah ini membuat contoh file konfigurasi untuk deployment Envoy atau Istio native. File konfigurasi yang Anda buat dengan perintah ini menggantikan file contoh yang diinstal dengan Adapter untuk Envoy di versi sebelumnya. Lihat Perintah sample.
Autentikasi OAuth2 Adaptor sekarang menggunakan autentikasi OAuth2 jika autentikasi multi-faktor (MFA) diaktifkan untuk Apigee. Gunakan flag --mfa setiap kali Anda menggunakan flag --legacy.
Container tanpa distro Adaptor ini sekarang menggunakan image distroless (gcr.io/distroless/base) Google, bukan 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 terputus (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. Tanda telah dihapus dari contoh.

v1.0.0

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

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 Membosankan

    Kini telah tersedia build baru yang menggunakan library Go BoringSSL yang mematuhi FIPS.

  • Perubahan tanda level log

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

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

    Flag baru telah ditambahkan ke perintah token CLI:

    Tanda Deskripsi
    --legacy Tetapkan flag ini jika Anda menggunakan Apigee Cloud.
    --opdk Tetapkan flag ini jika Anda menggunakan Apigee untuk Private Cloud.