Note di rilascio di Apigee Adapter per Envoy

Questa pagina si applica a Apigee e Apigee ibridi.

Visualizza documentazione di Apigee Edge.

Questa pagina contiene le note di rilascio di tutto il software Apigee Adapter for Envoy per il 2021 e le versioni precedenti.

Consulta Adapter for Envoy per le note di rilascio attuali (2022 e versioni successive).

v2.0.4

Il 3 dicembre 2021 abbiamo rilasciato la versione 2.0.4 di Apigee Adapter per Envoy.

Funzionalità e miglioramenti

  • L'elenco di versioni Envoy e Istio supportate per il comando samples dell'interfaccia a riga di comando è stato aggiornato. Ora queste versioni sono supportate per i sample:
    • Versioni di Envoy da 1.18 a 1.20
    • Versioni di Istio da 1.10 a 1.12

Problemi risolti

  • Per evitare un panico, è stato aggiunto un controllo di nullità per il caricamento della chiave privata del blocco PEM. (Issue #360)
  • Gli errori di autorizzazione del servizio remoto vengono ora registrati a livello di debug. Un'eccezione a questa categorizzazione per gli errori di recupero dei token per le chiavi API. In questo caso, gli errori vengono registrati nel campo in modo che siano visibili anche se il livello di log di debug per apigee-remote-service-envoy è disattivato. Vedi anche Impostazione dei livelli di log di servizio remoto. (Issue #104)

v2.0.3

Il 21 settembre 2021 abbiamo rilasciato la versione 2.0.3 di Apigee Adapter per Envoy.

Problemi risolti

  • È stato risolto un problema di logging delle analisi con le risposte dirette. Il problema si è verificato solo in determinate circostanze. Ad esempio:
    • Per le richieste che non richiedono il controllo authn/z, non è stato generato alcun authContext e i metadati dinamici erano nulli, causando l'ignoramento della voce del log di accesso.
    • La risposta negata ha utilizzato codice RPC anziché codice HTTP, causando la mancata approvazione dei record indicato nella UI di Apigee come operazione completata.

v2.0.2

Il 7 giugno 2021 abbiamo rilasciato la versione 2.0.2 di Apigee Adapter per Envoy.

Problemi risolti

  • È stata corretta una condizione di gara che poteva causare errori 403 e panic quando gli ambiti delle rivendicazioni JWT erano null.

v2.0.1

Martedì 29 aprile 2021 abbiamo rilasciato la versione 2.0.1 di Apigee Adapter for Envoy.

Problemi risolti

Funzionalità Descrizione
Insetto

È stato risolto un problema che causava il malfunzionamento della versione 2.0.0 se utilizzata con Apigee hybrid 1.5.0 o Apigee. Se stai eseguendo l'upgrade dell'installazione di Apigee hybrid alla versione 1.5.x, il percorso di upgrade consigliato per l'adattatore è:

  1. Esegui l'upgrade di Apigee Adapter for Envoy alla versione 2.0.1.
  2. Esegui l'upgrade di Apigee hybrid alla versione 1.5.1.

Se utilizzi Apigee, esegui l'upgrade dell'adattatore alla versione 2.0.1.

v2.0.0

Martedì 6 aprile 2021 abbiamo rilasciato la versione 2.0.0 di Apigee Adapter per Envoy.

Funzionalità e miglioramenti

Funzionalità Descrizione
Supporto dell'ambiente multi-tenant

Ora puoi consentire all'adattatore di gestire più ambienti in un'organizzazione Apigee. Questa funzionalità ti consente di utilizzare un Apigee Adapter for Envoy associato a un'organizzazione Apigee per gestire più ambienti. Prima del giorno questa modifica, un adattatore era sempre legato a un ambiente Apigee. Per ulteriori informazioni su questa funzione, vedi Supporto dell'ambiente multi-tenant.

Supporto dell'API Envoy v3
Supporto dei metadati di Envoy

Envoy 1.16 e versioni successive consente inviare metadati a ext_authz senza dover utilizzare le intestazioni. Utilizzando questa e le relative modifiche, ora forniamo codici di risposta HTTP migliori per le richieste e non è più necessario installare un filtro RBAC in Envoy. Consulta

Questa funzionalità è supportata solo per Envoy 1.16 e versioni successive e Istio 1.9 e versioni successive.

Con questa modifica, la seguente configurazione non viene più aggiunta al file di configurazione di 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

Se vuoi aggiungere intestazioni alle richieste per un caso speciale, imposta la proprietà append_metadata_headers:true nel file config.yaml dell'adattatore.

Separare il proxy remote-token dal proxy remote-service

Il proxy remote-service è stato sottoposto a refactoring in due proxy distinti. Il provisioning della versione 2.0.x installerà due proxy API: remote-service e remote-token. /token e /certs endpoint sono stati spostati dal proxy remote-service a remote-token.

Questa modifica crea un'utile separazione tra le funzioni. Ora il proxy remote-service viene utilizzato solo per le comunicazioni interne dell'adattatore, mentre il proxy remote-token fornisce un flusso di lavoro OAuth di esempio che puoi personalizzare. Non eseguiremo mai la sovrascrittura del proxy remote-token personalizzato, anche se viene utilizzato il comando provision --force-proxy-install.

Assistenza per l'acquisizione dei dati

Ora l'adattatore supporta il passaggio dei metadati di Envoy alla funzionalità di acquisizione dei dati di Apigee, che invia i dati acquisiti nelle variabili specificate ad Apigee Analytics per l'utilizzo nei report personalizzati. Questa funzionalità offre una funzionalità simile ad Apigee Norme di acquisizione dei dati. Per ulteriori informazioni su questa funzionalità, consulta Acquisizione dei dati per i report personalizzati.

RBAC non richiesto

Come indicato in precedenza nella sezione Supporto dei metadati di Envoy, ora respingiamo immediatamente le richieste non autorizzate senza richiedere un filtro RBAC separato. Poiché RBAC non viene utilizzato. Ora i client riceveranno questi codici di stato HTTP come appropriato l'adattatore:

  • 401 Non autorizzato
  • 403 Accesso negato
  • 429 Too Many Requests
  • 500 - Errore interno del server

Se vuoi consentire la continuazione delle richieste non autorizzate, puoi farlo impostando auth:allow_unauthorized:true nel file config.yaml dell'adattatore.

Le intestazioni x-apigee-* non vengono più aggiunte per impostazione predefinita

Come indicato in precedenza nella sezione Supporto dei metadati di Envoy, le intestazioni x-apigee-* non vengono più aggiunte per impostazione predefinita. Se vuoi aggiungerli, imposta append_metadata_headers:true nel file config.yaml. Questa configurazione è completamente facoltativa e deve essere utilizzata solo quando è opportuno inoltrare le intestazioni al servizio di destinazione a monte.

Corrispondenza personalizzata di una richiesta a un'operazione di prodotto API Apigee

La semantica della proprietà di configurazione api_header rimane immutata rispetto alla precedente proprietà target_header (il valore predefinito è ancora il nome dell'host di destinazione) e i contenuti dell'intestazione specificata corrisponderanno comunque all'attributo Destinazione servizio remoto del prodotto API o al campo Origine in una configurazione delle operazioni del prodotto API.

Per eseguire l'override di questo valore di intestazione utilizzando i metadati Envoy, puoi trasmettere apigee_api l'elemento di metadati da Envoy all'adattatore per specificare direttamente Destinazione del servizio remoto o Origine API del funzionamento del prodotto API. Per eseguire la configurazione, aggiungi al file di configurazione Envoy un codice simile al seguente (che puoi generare utilizzando l'interfaccia a riga di comando di 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
Le analisi relative alle richieste rifiutate vengono registrate immediatamente

Ora l'adattatore Envoy registrerà immediatamente le richieste rifiutate in Analytics come richiesto, anziché attendere che la richiesta venga restituita nel log di accesso. Questo è altro efficiente e non richiede l'aggiunta di metadati alla richiesta.

Il supporto di UDCA è stato rimosso

Lo streaming verso l'Universal Data Collection Agent (UDCA) di Apigee in Apigee Hybrid e Apigee non è più necessario per le analisi, in quanto è stato sostituito dal caricamento diretto. Questa modifica rimuove semplicemente il supporto precedente per questa opzione.

È stato aggiunto il supporto di mTLS per Edge for Private Cloud nei comandi CLI di provision/bindings

Gli utenti di Apigee Edge per Private Cloud possono fornire i certificati TLS lato client e il certificato principale tramite ‑‑tls‑cert, ‑‑tls‑key e ‑‑tls‑ca rispettivamente durante il provisioning o la visualizzazione delle associazioni dei prodotti utilizzando la CLI.

Supporto di mTLS tra l'adattatore e il runtime Apigee

Puoi fornire certificati TLS lato client nella sezione tenant del file config.yaml dell'adattatore per utilizzare mTLS tra l'adattatore e il runtime Apigee. Questa modifica si applica a tutte le piattaforme Apigee supportate. Inoltre, abilita mTLS per le analisi per la piattaforma Apigee Edge for Private Cloud. Per ulteriori informazioni, consulta Configurare mTLS tra l'adattatore e il runtime Apigee.

Altri problemi e correzioni

  • È stato risolto un problema per cui più configurazioni di operazioni con la stessa origine API condividevano gli stessi identificatori dei bucket delle quote e causavano conflitti nel calcolo delle quote. (Numero 34)
  • È stato risolto un problema per cui operazioni senza verbi specificati causavano l'invio della richiesta negata (il comportamento previsto è consentire tutti i verbi se non ne viene specificato nessuno). (Numero 39)

v1.4.0

Mercoledì 16 dicembre 2020 abbiamo rilasciato la versione 1.4.0 di Apigee Adapter for Envoy.

Piattaforme supportate

Pubblichiamo i binari per MacOS, Linux e Windows.

Pubblichiamo immagini Docker da Ubuntu e Ubuntu senza distro di Google con Boring Crypto.

In questa versione sono supportate le seguenti piattaforme:

  • Apigee versione ibrida 1.3.x, 1.4.x (data di rilascio in sospeso), Apigee per il cloud pubblico, Apigee per il Private Cloud e Apigee su Google Cloud
  • Versioni di Istio 1.5, 1.6, 1.7, 1.8
  • Versioni di Envoy 1.14, 1.15, 1.16

Funzionalità e miglioramenti

Funzionalità Descrizione
Il proxy remote-service non richiede più l'associazione con un prodotto API che usa target di servizio remoti.

Poiché questa associazione non è più necessaria, tieni presente le seguenti modifiche:

  • Durante il provisioning non viene più creato un prodotto API remote-service.
  • Il comando bindings verify della CLI non è più pertinente ed è stato ritirato.
Il ruolo Amministratore dell'organizzazione Apigee non è più necessario per il provisioning.

Anziché richiedere l'autorizzazione di amministratore dell'organizzazione per il provisioning, ora puoi utilizzare i ruoli API Creator e Deployer IAM. Devi concedere entrambi questi ruoli per eseguire correttamente il provisioning.
(si applica solo ad Apigee su Google Cloud e ad Apigee hybrid)

Altri problemi e correzioni

  • È stato risolto un problema relativo al nuovo provisioning di Apigee senza l'opzione --rotate è uscito con un errore.
  • L'interfaccia a riga di comando di provisioning ora legge e riutilizza le credenziali dell'account di servizio di analisi da un determinato file config.yaml (Numero 133).

v1.3.0

Lunedì 23 novembre 2020 abbiamo rilasciato la versione 1.3.0 di Apigee Adapter for Envoy.

Piattaforme supportate

Pubblichiamo i binari per MacOS, Linux e Windows.

Pubblichiamo immagini Docker da Ubuntu e Ubuntu senza distro di Google con Boring Crypto.

In questa versione sono supportate le seguenti piattaforme:

  • Apigee versione ibrida 1.3.x, 1.4.x (data di rilascio in sospeso), Apigee per il cloud pubblico, Apigee per il Private Cloud e Apigee su Google Cloud
  • Versioni di Istio 1.5, 1.6, 1.7, 1.8
  • Versioni di Envoy 1.14, 1.15, 1.16

Funzionalità e miglioramenti

Funzionalità Descrizione
Supporto per OperationGroups dei prodotti API. OperationGroups vincola le risorse e l'applicazione della quota associata in un proxy servizio remoto con metodi HTTP. Per maggiori dettagli, consulta OperationGroup.
(Solo per Apigee su Google Cloud e Apigee hybrid)
Rimuovi il supporto del proxy inoltrante dinamico dalla generazione di sample. A causa di questa modifica, i client devono includere l'intestazione HOST se il nome host è diverso dall'host di destinazione del servizio remoto impostato nel prodotto API. Per esempio:
curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"

Consulta Creare un prodotto API.

Account di servizio di assistenza e Workload Identity. Consentire il caricamento dei dati di analisi su Apigee durante che esegue l'adattatore all'esterno di un cluster ibrido Apigee, devi utilizzare Parametro analytics-sa con apigee-remote-service-cli provision . Inoltre, l'adattatore ora supporta Workload Identity su Google Kubernetes (GKE). Vedi Comando di provisioning.
(si applica solo ad Apigee su Google Cloud e ad Apigee hybrid)
Nuovo attributo di configurazione jwt_provider_key. Questa chiave viene aggiunta al file di configurazione. Rappresenta la chiave payload_in_metadata del provider JWT in Configurazione di Envoy o l'emittente JWT RequestAuthentication nella configurazione di Istio.
L'attributo di configurazione KeepAliveMaxConnectionAge ora è impostato per impostazione predefinita su 1 minuto. Il valore predefinito precedente era 10 minuti. Questa modifica consente una scalabilità più fluida. Questo valore viene utilizzato anche per la durata dello stream del log di accesso. Vedi il file di configurazione.
Comandi dell'interfaccia a riga di comando rimossi. I seguenti comandi dell'interfaccia a riga di comando sono deprecati. Ti consigliamo di utilizzare API Apigee per aggiornare le destinazioni dei servizi remoti per i prodotti API:
  • apigee-remote-service-cli bindings add
  • apigee-remote-service-cli bindings remove
È stato aggiunto un nuovo comando dell'interfaccia a riga di comando. Il comando:
apigee-remote-service-cli samples templates

elenca le opzioni disponibili che puoi utilizzare con il flag --template nel comando samples create. Consulta Riferimento CLI.

È stato modificato il comando CLI esistente. È stata apportata una modifica al comando apigee-remote-service-cli samples create. I flag specifici per i modelli Envoy o Istio vengono controllati rigorosamente e vengono restituiti errori per i flag utilizzati in modo errato. L'opzione di modello native è deprecata. Per ottenere un elenco dei modelli disponibili, utilizza il comando apigee-remote-service-cli samples templates. Consulta anche il riferimento all'interfaccia a riga di comando.
La risposta dell'endpoint /token ora segue la specifica OAuth2. Il parametro access_token è stato aggiunto alla risposta e il parametro token è stato ritirato.

v1.2.0

Mercoledì 30 settembre 2020 abbiamo rilasciato la versione 1.2.0 di Apigee Adapter for Envoy.

Piattaforme supportate

Pubblichiamo i binari per MacOS, Linux e Windows.

Pubblichiamo immagini Docker da Ubuntu e Ubuntu senza distro di Google con Boring Crypto.

In questa versione supportiamo le seguenti piattaforme:

  • Apigee versione ibrida 1.3.x
  • Versioni di Istio 1.5, 1.6, 1.7
  • Versioni di Envoy 1.14, 1.15

Funzionalità e miglioramenti

Funzionalità Descrizione
Assistenza per Apigee su Google Cloud Ora puoi utilizzare Apigee Adapter per Envoy con Apigee su Google Cloud. Puoi eseguire l'adattatore nel proprio cluster oppure eseguendo il servizio remoto per Envoy come programma binario nativo o in un container. Esegui il provisioning dell'adattatore su Apigee utilizzando il comando di provisioning.
Caricamento diretto dei dati di analisi Ora puoi configurare l'Apigee Adapter per caricare i dati di analisi direttamente in Apigee. Se utilizzi Apigee hybrid, questa nuova funzionalità consente di eseguire il deployment dell'adattatore nel proprio cluster Kubernetes, al di fuori del cluster in cui è installato Apigee hybrid. Per attivare il caricamento diretto, utilizza il nuovo --analytics-sa flag con il comando provision. Vedi comando di provisioning.
Il controllo dell'integrità restituisce "Pronto" dopo il caricamento dei dati di prodotto dell'API da Apigee Il controllo di integrità di Kubernetes non restituirà lo stato "Ready" finché i dati di prodotto dell'API non saranno caricato da Apigee. Questa modifica è utile per la scalabilità e l'upgrade, in quanto il traffico non verrà verrà inviato all'adattatore appena creato finché non è pronto.

Altri problemi e correzioni

  • È stato risolto un problema per risolvere un potenziale deadlock di sincronizzazione della quota (Problema n. 17).
  • Le annotazioni Prometheus sono state spostate nella specifica del pod (Problema n. 69).
  • È stato risolto un problema relativo agli errori di verifica emessi in modo improprio (Issue #62).

v1.1.0

Mercoledì 26 agosto 2020 abbiamo rilasciato la versione 1.1.0 di Apigee Adapter for Envoy.

Piattaforme supportate

Pubblichiamo i binari per MacOS, Linux e Windows.

Pubblichiamo immagini Docker da distroless, Ubuntu e Ubuntu con Boring Crypto di Google.

Nella versione 1.1.0 supportiamo le seguenti piattaforme:

  • Versione 1.3 di Apigee hybrid
  • Versioni di Istio 1.5, 1.6, 1.7
  • Versioni di Envoy 1.14, 1.15

Funzionalità e miglioramenti

Funzionalità Descrizione
Verifica le associazioni Un nuovo comando apigee-remote-service-cli bindings verify era aggiunto all'interfaccia a riga di comando. Questo comando verifica che il prodotto API associato specificato e i relativi alle app sviluppatore associate è associato anche un prodotto di servizio remoto. Consulta: Verifica un'associazione.
Genera campioni È stato aggiunto un nuovo comando apigee-remote-service-cli samples create all'interfaccia a riga di comando. Questo comando crea file di configurazione di esempio per i deployment di Envoy o Istio nativi. I file di configurazione generati con questo comando sostituiscono i file di esempio installati con l'adattatore per Envoy nelle versioni precedenti. Consulta: Comando di esempio.
Autenticazione OAuth2 L'adattatore ora utilizza l'autenticazione OAuth2 quando l'autenticazione a più fattori (MFA) è abilitato per Apigee. Utilizza il flag --mfa ogni volta che utilizzi il --legacy.
Contenitore Distroless Ora l'adattatore utilizza invece l'immagine distroless di Google (gcr.io/distroless/base) di scratch per la base di immagini Docker predefinita.

Altri problemi e correzioni

  • È stato risolto un problema dell'interfaccia a riga di comando per i comandi di associazione in OPDK. (n. 29)
  • La quota potrebbe bloccarsi quando la connessione viene persa (apigee/apigee-remote-service-envoy. (#31)
  • Le immagini Docker vengono ora create con un utente non root (999).
  • Gli esempi di Kubernetes applicano in modo forzato che l'utente non deve essere root.
  • --http1.1 non è più necessario per i comandi curl contro gli endpoint proxy. L'indicatore è stato rimosso dagli esempi.

v1.0.0

Venerdì 31 luglio 2020 abbiamo rilasciato la versione GA di Apigee Adapter for Envoy.

Piattaforme supportate

Pubblichiamo programmi binari per MacOS, Linux e Windows.

Pubblichiamo immagini Docker da zero, Ubuntu e Ubuntu con Boring Crypto.

Nella versione 1.0.0 supportiamo le seguenti piattaforme:

  • Versione 1.3 di Apigee hybrid
  • Versioni Istio 1.5, 1.6
  • Versioni di Envoy 1.14, 1.15

Aggiunte e modifiche

Tra la versione v1.0-beta4 e la GA, sono state apportate le seguenti modifiche all'adattatore:

  • Crea build noiose

    È ora disponibile una nuova build che utilizza Librerie Go BoringSSL conformi a FIPS.

  • Modifiche ai flag a livello di log

    I flag di livello di logging per il servizio apigee-remote-service-envoy sono stati modificati per motivi di coerenza:

    Bandiera vecchia Nuova segnalazione
    log_level log-level
    json_log json-log
  • Nuovi flag della CLI

    Sono stati aggiunti nuovi flag ai comandi token dell'interfaccia a riga di comando:

    Bandiera Descrizione
    --legacy Imposta questo flag se utilizzi Apigee Cloud.
    --opdk Imposta questo flag se utilizzi Apigee per il cloud privato.