Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. info
W tych dniach rozpoczęliśmy udostępnianie aktualizacji komponentów w Apigee Edge na chmurę publiczną:
- Procesor komunikatów: piątek, 1 maja 2020 r.
- API Management: poniedziałek, 20 kwietnia 2020 r.
- Zarządzanie zarabianiem: poniedziałek, 20 kwietnia 2020 r.
- Wersja poprawiająca API Management: poniedziałek, 22 czerwca 2020 r.
- Poprawka w zakresie zarządzania zarabianiem: poniedziałek, 6 lipca 2020 r.
- Aktualizacja zabezpieczeń serwera zarządzającego: poniedziałek, 24 sierpnia 2020 r.
- Wersja poprawiająca błędy w procesorze komunikatów: czwartek, 24 września 2020 r.
- Wersja poprawki procesora komunikatów z poprawkami błędów: poniedziałek, 26 października 2020 r.
- Wersja poprawiająca błędy w procesorze komunikatów: poniedziałek, 1 lutego 2021 r.
Nowe funkcje i aktualizacje
Oto nowe funkcje i aktualizacje wprowadzone w tej wersji.
Zasady JWT
-
Szyfrowanie JWT
Zasady JWT umożliwiają generowanie, weryfikowanie i dekodowanie zaszyfrowanych tokenów. Nowe elementy w zasadach:
<Type>– umożliwia określenie, czy tokeny mają być podpisane czy zaszyfrowane.<EncryptionAlgorithms>– umożliwia ustawienie algorytmów szyfrowania<Key>i<Content>.
(67165581)
Obsługa algorytmów PSS w podpisanych tokenach
Zasady generowania i weryfikowania tokenów JWT i JWS obsługują teraz algorytmy PS256, PS384 i PS512, zgodnie z opisem w dokumencie IETF RFC 7518. (119856499)
Względny czas rozpoczęcia tokena GenerateJWT
Podczas generowania tokena JWT za pomocą zasady GenerateJWT element
<NotBefore>umożliwia określenie względnego czasu między wygenerowaniem tokena a jego ważnością. Na przykład wartość<NotBefore>2h oznacza, że token jest ważny dopiero 2 godziny po jego wygenerowaniu. Możesz ustawić<NotBefore>czas w milisekundach (ms), sekundach (s), minutach (m), godzinach (h), dniach (d) lub tygodniach (w). (126261970)-
Odwoływanie się do klucza publicznego lub certyfikatu w zasadzie VerifyJWT
W zasadach VerifyJWT element
<PublicKey>/<Certificate>umożliwia odwoływanie się do certyfikatu w formacie PEM, za pomocą którego można weryfikować przychodzące podpisy JWT. Na przykład:<PublicKey> <Certificate ref='public.certificate_pem'/> </PublicKey>
(132918033)
Funkcje szablonu wiadomości
W tej wersji dostępne są te nowe funkcje szablonów wiadomości:
- firstnonull – zwraca wartość pierwszego (najbardziej po lewej) argumentu, który nie jest wartością null. (139698514)
- xpath – umożliwia zastosowanie wyrażenia XML Path (XPath) do analizowania zmiennych XML. (123246424)
Zasady AssignMessage: AssignVariable umożliwiają odwoływanie się do szablonu wiadomości
W zasadach AssignMessage element <AssignVariable> / <Template> umożliwia użycie atrybutu ref, co pozwala wstrzykiwać w czasie działania wstępnie zdefiniowany szablon, który można zmieniać bez konieczności modyfikowania zasad. (118396082)
Wiele aliasów certyfikatów
Podczas
konfigurowania TLS i używania w magazynie kluczy wielu certyfikatów, z których każdy ma inny alias, Edge umożliwia odwoływanie się do konkretnych aliasów certyfikatów w konfiguracji <SSLInfo><KeyAlias>. Aby włączyć to zaktualizowane działanie, ustaw w pliku http.properties na procesorach wiadomości wartość true dla nowego HTTPClient.choose.alias.by.keyalias. Użytkownicy Edge w chmurze publicznej muszą skontaktować się z
zespołem pomocy, aby dodać tę usługę. (142141620)
Zasady JSONtoXML: pomijanie deklaracji XML, wcięcie danych wyjściowych
Dwie nowe opcje logiczne w zasadach JSONtoXML zapewniają większą kontrolę nad danymi wyjściowymi XML.
<Options> <OmitXmlDeclaration>– gdy ma wartość true (domyślnie false), element<OmitXmlDeclaration>pomija domyślną deklarację XML<?xml version="1.0" encoding="UTF-8"?>wygenerowaną przez zasadę.<Options> <Indent>– jeśli ma wartość „true” (domyślnie „false”), element<Indent>wcięcie w wyjściowym pliku XML. Na przykład zamiast tych danych wyjściowych:<Array><n>1</n><n>2</n><n>3</n></Array>
Element Indent generuje:
<Array> <n>1</n> <n>2</n> <n>3</n> </Array>
(65142394)
Odpowiedzi dotyczące skanowania hosta wirtualnego
Jeśli żądanie zostało wysłane na adres IP punktu końcowego Apigee (bez określonego hosta wirtualnego), Edge zwracał odpowiedź HTTP 200 i pusty dokument HTML z domyślnego hosta wirtualnego Apigee powiązanego z tym adresem IP. Aby uniknąć błędnego wrażenia, że taka odpowiedź może stanowić potencjalną lukę w zabezpieczeniach, którą można wykorzystać, połączenie jest przerywane i nie jest zwracana żadna odpowiedź. (140005396)
Właściwości serwera docelowego w narzędziu Trace, które pomagają w rozwiązywaniu problemów
Te nowe właściwości śledzenia pomagają rozwiązywać problemy z połączeniem z miejscem docelowym, ponieważ pokazują, czy obiekt HTTPClient serwera docelowego został zapisany w pamięci podręcznej: isHttpClientCached i isFromClientPool. (140574604)
Zasady MessageLogging: komunikat Syslog
W zasadach MessageLogging nowy element
<Syslog> / <PayloadOnly>
(wartość logiczna) umożliwia określenie, czy do zdefiniowanego przez Ciebie elementu <Message> ma być automatycznie dodawany prefiks. Jeśli ustawisz wartość <PayloadOnly> na true, do definicji wiadomości nie zostanie dodany żaden prefiks (niezależnie od ustawienia <FormatMessage>). Jeśli to ustawienie ma wartość „false” (domyślną), ustawienie <FormatMessage> określa, co jest dodawane na początku komunikatu logu. (68722102)
Wygasanie zasad pamięci podręcznej
Nowy element <TimeoutInSeconds> w zasadach ResponseCache i PopulateCache działa tak, jak pierwotnie miał działać istniejący element <TimeoutInSecs>. Użyj nowego elementu.
Wycofany element <TimeoutInSecs>
nadal istnieje, aby zapewnić zgodność wsteczną. Jeśli skonfigurowane są oba elementy <TimeoutInSecs> i <TimeoutInSeconds>, Edge używa elementu <TimeoutInSeconds>. (119172893)
Zmienna przepływu virtualhost.aliases.values
Nowa zmienna przepływu wiadomości virtualhost.aliases.values tylko do odczytu zwraca tablicę w formacie JSON zawierającą wszystkie aliasy przypisane do hosta wirtualnego, który został wywołany w ramach żądania przychodzącego. (128453178)
Nowy parametr zapewniający usunięcie wersji proxy
Do usuwania wersji proxy interfejsu API dodaliśmy nowy parametr zapytania force.
W przypadku, gdy wersja jest wymieniona w interfejsie API do wyświetlania listy serwerów proxy interfejsu API, ale nie można jej wysłać zapytania, ten parametr zapewnia usunięcie wersji serwera proxy. (111691721)
Na przykład:
DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true
Nowa zmienna przepływu dla wartości aliasów hosta wirtualnego
Nowa zmienna przepływu wiadomości virtualhost.aliases.values tylko do odczytu zwraca tablicę w formacie JSON zawierającą wszystkie aliasy przypisane do hosta wirtualnego, który został wywołany w żądaniu przychodzącym. (128453178)
Usunięte błędy
W tej wersji naprawiliśmy te błędy: Ta lista jest przeznaczona głównie dla użytkowników, którzy chcą sprawdzić, czy ich zgłoszenia zostały rozwiązane. Nie jest on przeznaczony do dostarczania szczegółowych informacji wszystkim użytkownikom.
| Identyfikator problemu | Nazwa komponentu | Opis |
|---|---|---|
| 143313772 | procesor komunikatów |
Rozwiązaliśmy problem w zasadach SpikeArrest, który występował, gdy włączona była funkcja
(W wersji poprawki z 1 lutego 2021 r.) |
| 154428338 | Środowisko wykonawcze interfejsu API |
Procesor komunikatów nie może wczytać środowisk, gdy magazyny kluczy są skonfigurowane z podobnymi nazwami lub aliasami. Rozwiązaliśmy problem z konfliktem wyszukiwania wyrażeń regularnych podczas wczytywania magazynów kluczy o podobnej konwencji nazewnictwa. Powodowało to, że procesor komunikatów nie mógł wczytać środowisk powiązanych z magazynem kluczy lub nie mógł się uruchomić, gdy podczas wyszukiwania zwracano wiele sprzecznych magazynów kluczy. |
| 149507805 | Zarządzanie interfejsami API |
Włącz wdrożenie/konfigurację przez HTTP na wszystkich serwerach produkcyjnych MGMT Aktualizacje konfiguracji odbywają się przez HTTP zamiast RPC, co zwiększa niezawodność i ułatwia rejestrowanie błędów. |
| 137217974 | Zarządzanie interfejsami API |
Podczas konfigurowania MP przez HTTP prawidłowo propaguj błąd, gdy serwer docelowy jest nadal używany W wyniku ulepszeń niezawodności wprowadzonych w ramach problemu 149507805 błędy odpowiedzi z serwera docelowego po usunięciu były nieprawidłowo zgłaszane jako stan 200 (powodzenie), mimo że usunięcie się nie powiodło. Dzięki tej poprawce błędy odpowiedzi są teraz prawidłowo zgłaszane jako stan 400, jeśli usunięcie się nie powiedzie. Pamiętaj, że usunięcie serwera docelowego może się nie udać, jeśli serwer docelowy jest używany przez aktualnie wdrożony serwer proxy. Zanim usuniesz serwer docelowy, sprawdź, czy nie odwołują się do niego żadne wdrożone obecnie serwery proxy interfejsu API. |
| 69765558 | Zarządzanie interfejsami API |
Interfejs Resource Permissions API zwraca kod 403 |
| 149545506 | Zarządzanie interfejsami API |
Rozwiązuje problem z bezpieczeństwem w interfejsie API do dodawania użytkownika do roli. |
| 131246911 | Zarządzanie interfejsami API |
W przypadku adresów e-mail deweloperów w portalu włącz obsługę nowszych domen, takich jak *.games czy *.asia.
Rozwiązaliśmy problem, który powodował, że tworzenie deweloperów w Edge kończyło się niepowodzeniem w przypadku niektórych nazw domen, takich jak |
| 142217645 | Zarządzanie interfejsami API |
PUT v1/o/{org_name}/apiproducts/{product_name} nie usuwa limitów |
| 162299668 | Serwer zarządzania |
Usunięto potencjalną lukę w zabezpieczeniach. |
| 135856488 | Serwer zarządzania |
Powolne działanie interfejsu |
| 139407965 | Serwer zarządzania |
Rozwiązaliśmy problem, który umożliwiał tworzenie mapy wartości klucza bez nazwy. |
| 112488235 | Serwer zarządzania |
Dodano weryfikację, aby zapobiec tworzeniu hostów wirtualnych z nazwami zawierającymi spacje. Spacje nie są dozwolone w nazwach hostów wirtualnych. |
| 132433193 | Zarządzanie zarabianiem |
Rozwiązaliśmy problem z aktualizacją aplikacji. |
| 152514520 | Zarządzanie zarabianiem |
Rozwiązaliśmy problem z wywołaniami interfejsu Management API służącymi do usuwania elementów. |
| 128450374 | Środowisko wykonawcze interfejsu API |
Zasady JWT/JWS powinny uwzględniać IgnoreUnresolvedVariables – jeśli zmienna nie jest zdefiniowana, należy zgłosić odpowiedni błąd |
| 135354517 | Środowisko wykonawcze interfejsu API |
Organizacja nie działa w wersji Release_190301 z powodu ścisłego egzekwowania typu danych „String” w przypadku uwierzytelniania BasicAuth |
| 131763486 | Środowisko wykonawcze interfejsu API |
Ścieżka podstawowa współdzielonego przepływu powinna być ignorowana w procesorze komunikatów |
| 135972575 | Środowisko wykonawcze interfejsu API |
Private Cloud w wersji 4.19.01 zachowuje się inaczej podczas wdrażania z ustawieniami override=true&delay=300 Ta poprawka zostanie uwzględniona w przyszłej wersji Edge dla chmury prywatnej. |
| 141601836 | Środowisko wykonawcze interfejsu API |
Poprawianie nazwy hosta w komunikacie logu |
| 116834109 | Środowisko wykonawcze interfejsu API |
Nieprawidłowe wartości zmiennych failed, fault.cause i fault.name w śledzeniu |
| 130653816 | Środowisko wykonawcze interfejsu API |
Sporadyczne błędy 404 w ruchu w czasie działania |
| 132777537 | Środowisko wykonawcze interfejsu API |
Błąd zasady ExtractVariables w przypadku prawidłowego wyrażenia JSONPath |
| 133713555 | Środowisko wykonawcze interfejsu API |
Router brzegowy zmieniający nagłówek daty |
| 133253435 | Środowisko wykonawcze interfejsu API |
Wysokie wykorzystanie procesora przez wątek główny Apigee |
| 111553402 | Środowisko wykonawcze interfejsu API |
Usługa API ze znakami niedozwolonymi w ścieżce, która nie została wykryta do czasu wykonania |
| 126240341 | Środowisko wykonawcze interfejsu API |
Ulepszono ogólny komunikat „Nie udało się wygenerować” w przypadku niepowodzenia zasady GenerateJWT |
| 119854424 | Środowisko wykonawcze interfejsu API |
LoadBalancer z jednym serwerem docelowym nie powinien stać się nieaktywny w przypadku nieudanego połączenia |
| 129275412 | Środowisko wykonawcze interfejsu API |
Dodawanie nagłówków HTTP do rezerwowego hosta wirtualnego w przypadku ogólnych skanów IP |
| 129351507 | Środowisko wykonawcze interfejsu API |
Dekodowanie zasady BasicAuthentication nie powiodło się, gdy hasło zawiera dwukropek |
| 65852874 | Środowisko wykonawcze interfejsu API |
Sprawdź, czy HTTPClient nie próbuje ponownie użyć połączenia, które miało nagłówek odpowiedzi Connection:close. |
| 138951646 | Środowisko wykonawcze interfejsu API |
Limit czasu nie działa w JavaScript w przypadku |
| 139051927 | Środowisko wykonawcze interfejsu API |
Długi czas przetwarzania żądań |
| 132443137 | Środowisko wykonawcze interfejsu API |
Zmiana działania procesora wiadomości w celu obsługi nieznanych wewnętrznych nagłówków x-apigee |
| 138310777 | Środowisko wykonawcze interfejsu API |
Wywołanie wdrożenia współdzielonego przepływu losowo zwraca kod 504 |
| 67170148 | Środowisko wykonawcze interfejsu API |
Różnice między wartościami Elapsed Time i timeTaken w przypadku wywołań ServiceCallouts |
| 124049692 | Środowisko wykonawcze interfejsu API |
NullPointerException w zasadach VerifyApiKey |
| 135031506 | Środowisko wykonawcze interfejsu API |
Dodawanie komunikatu logu w przypadku nieoczekiwanego formatu klucza JWT |
| 137312366 | Środowisko wykonawcze interfejsu API |
Weryfikacja treści na podstawie nagłówka Content-Type |
| 109871907 | Środowisko wykonawcze interfejsu API |
Opóźnienia w wykonywaniu wywołania ServiceCallout bez elementu Response |
| 143722867 | Środowisko wykonawcze interfejsu API |
Token JWT musi wymuszać konfigurowalny limit liczby iteracji w przypadku PBKDF2 |
| 144286363 | Śledzenie hybrydowe |
Maska debugowania w pliku env.json nie maskuje danych odpowiedzi w Apigee Hybrid |
| 147769812 | Środowisko wykonawcze interfejsu API |
Deklarowanie właściwości skrótu OAuth jako zmiennych w flagach funkcji |
| 149037704 | Środowisko wykonawcze interfejsu API |
Rozwiązaliśmy problem, który powodował, że wartość przypisana do zmiennej przepływu |
| 148972262 | Środowisko wykonawcze interfejsu API |
Funkcja DecodeJWS emituje ładunek do zmiennej kontekstowej w bezużytecznej formie |
| 116580622 | Środowisko wykonawcze interfejsu API |
Niespójna odpowiedź |
| 149739904 | Środowisko wykonawcze interfejsu API |
Maskowanie danych w nagłówkach HTTP powinno być niezależne od wielkości liter |
| 149431545 | Środowisko wykonawcze interfejsu API |
Funkcje GenerateJWT i VerifyJWT z parametrem SecretKey nie akceptują żadnego kodowania poza UTF-8 |
| 155448596 | API Management-Patch |
Brak uprawnień w domyślnej roli apimonitoringadmin Do roli apimonitoringadmin dodano brakujące uprawnienia. |
| 158592076 | API Management-Patch |
Brak uprawnień w domyślnej roli administratora dewelopera Do roli administratora dewelopera dodano brakujące uprawnienia. |
| 152856311 | API Management-Patch |
Weryfikacje odrzucające certyfikaty PKCS7 i DER w magazynie kluczy i magazynie zaufanych certyfikatów podczas tworzenia i aktualizowania hosta wirtualnego Podczas tworzenia lub aktualizowania hosta wirtualnego wymuszane są weryfikacje, które sprawdzają, czy certyfikaty dodane w aliasie magazynu kluczy i magazynie zaufanych certyfikatów są w formacie PEM, a nie w niekompatybilnych formatach, takich jak PKCS7, DER itp. |
| 155478545 | Monetization Management-Patch |
Rozwiązaliśmy problem z aktualizacjami stanu powiadomień e-mail. |
| 154121499 | Monetization Management-Patch |
Rozwiązaliśmy problem, który powodował, że interfejs |
| 152356393 | Monetization Management-Patch |
Wymagania dotyczące długości nazwy firmy zostały złagodzone w przypadku tworzenia firmy w celu zarabiania. |
| 138542921 | Monetization Management-Patch |
Rozwiązaliśmy problem, który powodował, że tworzenie planu cenowego kończyło się niepowodzeniem, gdy pakiet produktów zawierał wiele atrybutów niestandardowych. |
| 150948843 | Monetization Management-Patch |
Rozwiązaliśmy problem, który powodował, że interfejs Monetization |
| 155443118 | Monetization Management-Patch |
Usunięto pole |
| 150948843 | Monetization Management-Patch |
Rozwiązaliśmy problem, który powodował, że interfejs Monetization |