Informacje o wersji Apigee Adapter dla Envoy

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

v2.1.1

7 czerwca 2023 r. opublikowaliśmy wersję 2.1.1 adaptera Apigee dla Envoy.

Naprawiono problemy

  • Rozwiązaliśmy problem, który powodował nieprawidłowe duplikowanie limitów między operacjami a nie na poziomie usługi.

v2.1.0

5 czerwca 2023 r. opublikowaliśmy wersję 2.1.0 adaptera Apigee dla Envoy.

Naprawiono problemy

  • Roszczenie application_id zostało dodane do odpowiedzi /verifyApiKey.

v2.0.7

9 marca 2023 r. opublikowaliśmy wersję 2.0.7 adaptera Apigee dla Envoy.

Funkcje i ulepszenia

  • Tokeny JWT mogą teraz dodawać deklarację o nazwie customattributes, która będzie przekazywał wartość do celu w nagłówku o nazwie x-apigee-customattributes (jeśli append_metadata_headers jest skonfigurowane jako true).

Naprawiono problemy

  • Rozwiązaliśmy problem, który powodował, że nieprawidłowy klucz interfejsu API mógł tworzyć fałszywe wpisy logu i statystyki. .
  • Funkcja sprawdzania wycofanej wersji została usunięta na serwerze proxy, który powodował problemy w nowszych wersjach Apigee.

v2.0.6

18 października 2022 r. opublikowaliśmy wersję 2.0.6 adaptera Apigee dla Envoy.

Naprawiono problemy

  • Wersja zabezpieczająca lukę w zabezpieczeniach typu DoS (Denial of Service) w bibliotece zależności. Zobacz CVE-2022-28948.

v2.0.5

3 marca 2022 r. opublikowaliśmy wersję 2.0.5 adaptera Apigee dla Envoy.

Naprawiono problemy

  • Wersja zabezpieczeń chroniąca przed ryzykiem DoS (Denial of Service) w bibliotece Prometheus. Zobacz CVE-2022-21698.

v2.0.4

3 grudnia 2021 r. opublikowaliśmy wersję 2.0.4 adaptera Apigee dla Envoy.

Funkcje i ulepszenia

  • Lista obsługiwanych wersji Envoy i Istio dla polecenia interfejsu wiersza poleceń samples Zaktualizowano. Te wersje są teraz obsługiwane w przypadku przykładów:
    • Envoy w wersjach od 1.18 do 1.20
    • Istio w wersjach od 1.10 do 1.12

Naprawiono problemy

  • Dodano kontrolę nil podczas wczytywania klucza prywatnego bloku PEM, aby uniknąć paniki. (wydanie 360)
  • Błędy zdalnej autoryzacji usługi są teraz logowane na poziomie debugowania. Wyjątek od tej kategoryzacji jest przeznaczony dla błędów pobierania tokenów dla kluczy interfejsu API. W takim przypadku błędy są rejestrowane w wierszu błędu. aby były widoczne nawet wtedy, gdy poziom logu debugowania dla apigee-remote-service-envoy jest wyłączony. Zobacz też Ustawianie poziomów logów usługi zdalnej. (Problem nr 104)

v2.0.3

21 września 2021 r. opublikowaliśmy wersję 2.0.3 adaptera Apigee dla Envoy.

Naprawiono problemy

  • Naprawiono błąd logowania danych analitycznych z bezpośrednimi odpowiedziami. Problem wystąpił tylko w przypadku niektórych okoliczności. Na przykład:
    • W przypadku żądań, które nie wymagają kontroli uwierzytelniania/z, nie wygenerowano żadnego elementu authContext i brakowało metadanych dynamicznych, co spowodowało zignorowanie wpisu logu dostępu.
    • Odpowiedź odrzucona użyła kodu RPC zamiast kodu HTTP, przez co rekordy w interfejsie Apigee jako odczyt.

v2.0.2

7 czerwca 2021 r. opublikowaliśmy wersję 2.0.2 adaptera Apigee dla Envoy.

Naprawiono problemy

  • Naprawiono warunek wyścigu, który mógł powodować błędy 403 i paniki, gdy zakresy deklaracji JWT zostały usunięte nil.

2.0.0

We wtorek 6 kwietnia 2021 r. opublikowaliśmy wersję 2.0.0 adaptera Apigee dla Envoy.

Funkcje i ulepszenia

Funkcja Opis
Obsługa środowiska wielu najemców

Teraz możesz włączyć adapter, aby obsługiwał wiele w organizacji Apigee. Ta funkcja umożliwia korzystanie z 1 Apigee Adapter do Envoy powiązany z 1 organizacją Apigee do obsługi wielu środowisk. Przed po tej zmianie 1 adapter był zawsze powiązany z 1 środowiskiem Apigee. Więcej informacji na temat konfiguracji na temat tej funkcji, zobacz Obsługa środowiska wielu najemców.

Obsługa interfejsu Envoy v3 API
Obsługa metadanych Envoy

Envoy 1.16+ zezwala wysyłanie metadanych ext_authz bez konieczności używania nagłówków. Za pomocą i powiązane zmiany, zapewniamy teraz lepsze kody odpowiedzi HTTP dla żądań odmowy i nie musimy już instalować filtra RBAC w Envoy. Zobacz

Ta funkcja jest obsługiwana tylko w wersjach Envoy 1.16 i nowszych oraz Istio 1.9 i nowszych.

Po tej zmianie ta konfiguracja nie jest już dodawana do interfejsu Envoy plik konfiguracji (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

Jeśli chcesz dołączać nagłówki do żądań w szczególnym przypadku, ustaw właściwość append_metadata_headers:true w pliku config.yaml adaptera.

Podziel serwer proxy remote-token od serwera proxy remote-service

Serwer proxy usługi zdalnej został przekształcony w 2 osobne serwery proxy. Obsługa administracyjna wersji 2.0.x spowoduje zainstalowanie dwóch serwerów proxy interfejsu API: remote-service i remote-token. /token a punkty końcowe (/certs) zostały przeniesione z serwera proxy usługi zdalnej do tokena zdalnego.

Ta zmiana tworzy przydatny rozdzielenie funkcji. Teraz usługa zdalna serwer proxy jest używany tylko do wewnętrznej komunikacji karty, a token zdalny serwer proxy oferuje przykładowy przepływ pracy OAuth, który możesz dostosować. Nigdy zastąp niestandardowy serwer proxy tokena zdalnego, nawet jeśli używane jest polecenie provision --force-proxy-install.

Obsługa przechwytywania danych

Dostępne tylko w przypadku Apigee X i hybrydowego Apigee.

Adapter obsługuje teraz przekazywanie metadanych Envoy do funkcji przechwytywania danych Apigee, która wysyła dane zebrane przez określone przez Ciebie zmienne do narzędzia Apigee Analytics do wykorzystania w raportach niestandardowych.

RBAC nie jest wymagane

Jak wspomnieliśmy wcześniej w sekcji Obsługa metadanych Envoy, teraz odrzucania nieautoryzowanych żądań bez konieczności stosowania osobnego filtra RBAC. Ponieważ RBAC nie jest używany. Klienty będą teraz otrzymywać odpowiednie kody stanu HTTP z Adapter:

  • 401 Brak autoryzacji
  • 403 Dostęp zabroniony
  • 429 Zbyt wiele żądań
  • 500 – wewnętrzny błąd serwera

Jeśli chcesz, aby nieupoważnione żądania były kontynuowane, ustaw auth:allow_unauthorized:true w pliku config.yaml adaptera.

Nagłówki x-apigee-* nie są już domyślnie dołączane

Jak wspomnieliśmy wcześniej w sekcji Obsługa metadanych Envoy, Nagłówki x-apigee-* nie są już domyślnie dołączane. Jeśli chcesz je dodać, ustaw append_metadata_headers:true w pliku config.yaml. Ta konfiguracja jest całkowicie opcjonalny i należy go używać tylko wtedy, gdy jest pożądane przekazanie dalej nagłówki do nadrzędnej usługi docelowej.

Niestandardowe dopasowywanie żądania do celu usługi zdalnej

Semantyka właściwości api_header config zostaje zachowana taka sama jak poprzednia właściwość target_header (domyślna wartość to nadal docelowej nazwy hosta), a treść określonego nagłówka będzie nadal pasować do Atrybut Zdalna usługa docelowa produktu API lub pole apiSource w Operacja usługi API (tylko Apigee w modelu hybrydowym i Apigee X).

Aby zastąpić tę wartość nagłówka za pomocą metadanych Envoy, możesz przekazać apigee_api metadanych z Envoy do adaptera, aby bezpośrednio określić Zdalny cel usługi lub źródło API operacji produktu API usługi API. Aby to skonfigurować, dodaj kod podobny do tego do pliku konfiguracji Envoy (który można wygenerować za pomocą interfejsu wiersza poleceń adaptera):

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
Statystyki odrzuconych żądań są rejestrowane natychmiast

Envoy Adapter będzie teraz natychmiast rejestrować odrzucone żądania w statystykach jako wymagane bez czekania na zwrócenie żądania w dzienniku dostępu. To więcej efektywne i nie wymaga dołączania do żądania żadnych metadanych.

Wycofaliśmy obsługę UDCA

Strumieniowanie do uniwersalnego agenta gromadzenia danych (UDCA) Apigee w hybrydowym środowisku Apigee nie jest już potrzebne do prowadzenia analiz, ponieważ zastąpiliśmy przesyłaniem bezpośrednim. Ta zmiana spowoduje tylko usunięcie starszej funkcji obsługi dla tej opcji.

Dodano obsługę mTLS dla Edge dla Private Cloud w poleceniach interfejsu wiersza poleceń udostępniania/powiązań

Użytkownicy Apigee Edge dla Private Cloud mogą dostarczać certyfikaty TLS po stronie klienta i certyfikat główny za pomocą interfejsu ‑‑tls‑cert, ‑‑tls‑key i ‑‑tls‑ca odpowiednio podczas obsługi administracyjnej lub wyświetlania listy powiązań usług za pomocą interfejsu wiersza poleceń.

Obsługa mTLS między adapterem a środowiskiem wykonawczym Apigee

Certyfikaty TLS po stronie klienta możesz dostarczyć w sekcji tenant plik config.yaml adaptera, aby używać mTLS między adapterem a środowiskiem wykonawczym Apigee. Ten zmiana dotyczy wszystkich obsługiwanych platform Apigee. Umożliwia też korzystanie z mTLS na potrzeby analiz. dla Apigee Edge dla platformy Private Cloud. Więcej informacji: Konfigurowanie mTLS między adapterem a środowiskiem wykonawczym Apigee

Naprawiono problemy

  • Rozwiązaliśmy problem polegający na tym, że współużytkowano wiele konfiguracji operacji z tym samym źródłem interfejsu API te same identyfikatory zasobników limitu, co spowodowało konflikty podczas obliczania limitu. (Numer 34)
  • Rozwiązaliśmy problem, który powodował, że operacje bez określonych czasowników powodowały żądanie odmowa (oczekiwany sposób działania to zezwolenie na wszystkie czasowniki, jeśli nie podasz żadnego). (Numer #39)

v1.4.0

W środę 16 grudnia 2020 r. opublikowaliśmy wersję 1.4.0 adaptera Apigee dla Envoy.

Obsługiwane platformy

Publikujemy pliki binarne na systemy macOS, Linux i Windows.

Publikujemy obrazy Dockera z rozwijających się systemów Google, Ubuntu i Ubuntu z nudną kryptowalutą.

W tej wersji obsługujemy te platformy:

  • Hybrydowa wersja Apigee 1.3.x, 1.4.x (oczekująca data wydania), Apigee Edge dla chmury publicznej, Apigee Edge dla Private Cloud i Apigee w Google Cloud
  • Istio w wersjach 1.5, 1.6, 1.7, 1.8
  • Envoy w wersjach 1.14, 1.15, 1.16

Funkcje i ulepszenia

Funkcja Opis
Serwer proxy remote-service nie wymaga już powiązania z usługę API, która używa zdalnych celów usługi.

To powiązanie nie jest już wymagane, dlatego musisz zwrócić uwagę na te zmiany:

  • Produkt API usługi zdalnej nie jest już tworzony podczas obsługi administracyjnej.
  • Polecenie interfejsu wiersza poleceń bindings verify jest już nieaktualne i zostało wycofane.
Do obsługi administracyjnej nie jest już wymagana rola administratora organizacji Apigee.

Zamiast wymagać uprawnień administratora organizacji do obsługi administracyjnej, możesz teraz używać z rolami uprawnień: twórca i wdrażający interfejs API. Musisz przypisać obie te role .
(Dotyczy tylko Apigee w Google Cloud i hybrydowego modelu Apigee)

Inne problemy i rozwiązania

  • Rozwiązaliśmy problem polegający na tym, że ponownie udostępniano Apigee bez opcji --rotate zamknięto z błędem.
  • Interfejs wiersza poleceń obsługi administracyjnej odczytuje i ponownie wykorzystuje dane logowania do konta usługi Analytics z danego pliku config.yaml (wydanie 133).

1.3.0

W poniedziałek 23 listopada opublikowaliśmy wersję 1.3.0 adaptera Apigee dla Envoy.

Obsługiwane platformy

Publikujemy pliki binarne na systemy macOS, Linux i Windows.

Publikujemy obrazy Dockera z rozwijających się systemów Google, Ubuntu i Ubuntu z nudną kryptowalutą.

W tej wersji obsługujemy te platformy:

  • Hybrydowa wersja Apigee 1.3.x, 1.4.x (oczekująca data wydania), Apigee Edge dla chmury publicznej, Apigee Edge dla Private Cloud i Apigee w Google Cloud
  • Istio w wersjach 1.5, 1.6, 1.7, 1.8
  • Envoy w wersjach 1.14, 1.15, 1.16

Funkcje i ulepszenia

Funkcja Opis
Obsługa grup operacji w usługach API. Grupy operacji łączą zasoby i powiązane egzekwowanie limitów na serwerze proxy lub zdalną za pomocą metod HTTP.
(Dotyczy tylko Apigee w Google Cloud i hybrydowego modelu Apigee)
Usuń obsługę dynamicznego serwera proxy z procesem generowania przykładów. Z powodu tej zmiany klienci muszą uwzględniać nagłówek HOST, jeśli nazwa hosta to różni się od hosta docelowego usługi zdalnej ustawionego w usłudze API. Dla: przykład:
curl -i http://localhost:8080/httpbin/headers -H "HOST:httpbin.org"

Zobacz Tworzenie usługi API.

Obsługa kont usługi i Workload Identity. Aby umożliwić przesyłanie danych analitycznych do Apigee, gdy uruchamianiu adaptera poza klastrem hybrydowym Apigee, musisz użyć metody Parametr analytics-sa z wartością apigee-remote-service-cli provision . Oprócz tego adapter obsługuje teraz Workload Identity w Google Kubernetes Mechanizm (GKE). Zobacz Polecenie udostępniania.
(Dotyczy tylko Apigee w Google Cloud i hybrydowego modelu Apigee)
Nowy atrybut konfiguracji jwt_provider_key. Ten klucz jest dodawany do pliku konfiguracyjnego. Reprezentuje klucz payload_in_metadata dostawcy JWT w Konfiguracja Envoy lub wystawcę tokena JWT RequestAuthentication w konfiguracji Istio.
Aktualnie KeepAliveMaxConnectionAge atrybut konfiguracji domyślna wartość to 1 minuta. Poprzednia wartość domyślna to 10 minut. Ta zmiana umożliwia płynniejsze skalowanie. Ten jest też używana do określania czasu trwania strumienia logu dostępu. Zobacz plik konfiguracyjny.
Usunięto polecenia interfejsu wiersza poleceń. Poniższe polecenia interfejsu wiersza poleceń zostały wycofane. Zalecamy używanie metody Interfejsy API Edge aby zaktualizować cele usług zdalnych w przypadku usług API:
  • apigee-remote-service-cli bindings add
  • apigee-remote-service-cli bindings remove
Dodano nowe polecenie interfejsu wiersza poleceń. Polecenie:
apigee-remote-service-cli samples templates

zawiera listę dostępnych opcji których można użyć z flagą --template w poleceniu samples create. Zobacz informacje o interfejsie wiersza poleceń.

Zmieniono istniejące polecenie interfejsu wiersza poleceń. apigee-remote-service-cli samples create – zmiana . flagi specyficzne dla szablonów Envoy lub Istio są ściśle sprawdzane; są zwracane w przypadku niewłaściwie użytych flag. Opcja native szablonu to wycofane. Aby wyświetlić listę dostępnych szablonów, użyj polecenia apigee-remote-service-cli samples templates. Zobacz też dokumentację interfejsu wiersza poleceń.
Odpowiedź punktu końcowego /token następuje teraz po Specyfikacja OAuth2 Parametr access_token został dodany do odpowiedzi oraz parametr token został wycofany.

Wersja 1.2.0

W środę 30 września opublikowaliśmy wersję 1.2.0 adaptera Apigee dla Envoy.

Obsługiwane platformy

Publikujemy pliki binarne na systemy macOS, Linux i Windows.

Publikujemy obrazy Dockera z rozwijających się systemów Google, Ubuntu i Ubuntu z nudną kryptowalutą.

W tej wersji obsługujemy te platformy:

  • Hybrydowa wersja Apigee 1.3.x
  • Istio w wersjach 1.5, 1.6, 1.7
  • Envoy w wersjach 1.14 i 1.15

Funkcje i ulepszenia

Funkcja Opis
Pomoc dotycząca Apigee w Google Cloud Możesz teraz używać adaptera Apigee dla Envoy z Apigee w Google Cloud. Możesz uruchomić adapter we własnym klastrze lub usługę zdalną dla Envoy jako natywny plik binarny lub w kontenerze. Udostępnij adapter w Apigee używając polecenia obsługi administracyjnej.
Bezpośrednie przesyłanie danych analitycznych Możesz teraz skonfigurować adapter Apigee, aby przesyłał dane analityczne bezpośrednio do Apigee. Jeśli jesteś przy użyciu hybrydowego rozwiązania Apigee, pozwala wdrożyć adapter we własnym klastrze Kubernetes, poza klastra, w którym zainstalowano usługę Apigee Hybrid. Aby włączyć przesyłanie bezpośrednie, użyj nowej flagę --analytics-sa za pomocą polecenia provision. Zobacz polecenie obsługi administracyjnej.
Kontrola stanu zwraca stan „Ready” (Gotowe) po wczytaniu danych usługi API z Apigee Kontrola stanu Kubernetes nie zwraca stanu „Gotowe” dopóki dane produktu API nie zostaną wczytano z Apigee. Ta zmiana ułatwia skalowanie i uaktualnianie, ponieważ żaden ruch będzie wysyłana do nowo utworzonego adaptera, aż będzie gotowy.

Inne problemy i rozwiązania

  • Rozwiązaliśmy problem, aby rozwiązać potencjalny problem zakleszczenia w synchronizacji limitu (problem 17).
  • Adnotacje Prometheus zostały przeniesione do specyfikacji poda (problem nr 69).
  • Rozwiązaliśmy problem, aby rozwiązać nieprawidłowo wysyłane błędy weryfikacji (problem nr 62).

Wersja 1.1.0

W środę 26 sierpnia opublikowaliśmy wersję 1.1.0 adaptera Apigee dla Envoy.

Obsługiwane platformy

Publikujemy pliki binarne na systemy macOS, Linux i Windows.

Publikujemy obrazy Dockera z rozwijających się systemów Google, Ubuntu i Ubuntu z nudną kryptowalutą.

Wersja 1.1.0 obsługuje te platformy:

  • Hybrydowa wersja Apigee w wersji 1.3
  • Istio w wersjach 1.5, 1.6, 1.7
  • Envoy w wersjach 1.14 i 1.15

Funkcje i ulepszenia

Funkcja Opis
Zweryfikuj powiązania Dotychczasowe polecenie apigee-remote-service-cli bindings verify: dodany do interfejsu wiersza poleceń. To polecenie weryfikuje, czy określona powiązana usługa API i jej z powiązanymi aplikacjami dewelopera są też powiązane usługa zdalna. Zobacz Zweryfikuj powiązanie.
Wygeneruj przykłady Dodano nowe polecenie apigee-remote-service-cli samples create w interfejsie wiersza poleceń. To polecenie tworzy przykładowe pliki konfiguracji na potrzeby natywnych wdrożeń Envoy lub Istio. Konfiguracja wygenerowane za pomocą tego polecenia pliki zastąpią zainstalowane przykładowe pliki z Adapter for Envoy w poprzednich wersjach. Zobacz Polecenie Sample.
Uwierzytelnianie OAuth2 Adapter korzysta teraz z uwierzytelniania OAuth2, gdy jest używane uwierzytelnianie wielopoziomowe (MFA) Włączono Apigee Edge. Używaj flagi --mfa zawsze wtedy, gdy używasz --legacy.
Niezdrowy kontener Adapter korzysta teraz z obrazu bezwzględnego Google (gcr.io/distroless/base) scratch dla domyślnej bazy obrazów Dockera.

Inne problemy i rozwiązania

  • Usunięto problem z interfejsem wiersza poleceń w przypadku poleceń powiązań w OPDK. (29)
  • Limit mógł zostać zablokowany po utracie połączenia (apigee/apigee-remote-service-envoy. (31)
  • Obrazy Dockera są teraz tworzone z wykorzystaniem użytkownika innego niż użytkownik root (999).
  • Przykłady Kubernetes wymuszają, że użytkownik nie może być użytkownikiem root.
  • Interfejs --http1.1 nie jest już potrzebny do wykonywania poleceń curl względem punktów końcowych serwera proxy. Flaga została usunięte z przykładów.

Wersja 1.0.0

W piątek 31 lipca opublikowaliśmy wersję GA adaptera Apigee dla Envoy.

Obsługiwane platformy

Publikujemy pliki binarne na systemy macOS, Linux i Windows.

Publikujemy obrazy Dockera od podstaw oraz systemy Ubuntu i Ubuntu z nudną platformą Crypto.

Wersja 1.0.0 obsługuje te platformy:

  • Hybrydowa wersja Apigee w wersji 1.3
  • Istio w wersjach 1.5, 1.6
  • Envoy w wersjach 1.14 i 1.15

Dodane i zmiany

Między wersją 1.0-beta4 a Google Analytics wprowadziliśmy w adapterze te zmiany:

  • nudne kompilacje,

    Dostępna jest nowa kompilacja, która używa Biblioteki Go BoringSSL zgodne z FIPS.

  • Zmiany flag na poziomie logu

    Flagi poziomu logowania w usłudze apigee-remote-service-envoy zostały zmienione dla spójności:

    Stara flaga Nowa flaga
    log_level log-level
    json_log json-log
  • Nowe flagi interfejsu wiersza poleceń

    Do poleceń interfejsu wiersza poleceń token zostały dodane nowe flagi:

    Flaga Opis
    --legacy Ustaw tę flagę, jeśli korzystasz z Apigee Edge Cloud.
    --opdk Ustaw tę flagę, jeśli korzystasz z Apigee Edge dla Private Cloud.