20.04.06 – примечания к выпуску Apigee Edge для общедоступного облака

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Ниже указаны даты, когда мы начали выпускать обновления компонентов для Apigee Edge в общедоступном облаке:

  • Message Processor: пятница, 1 мая 2020 г.
  • Управление API: понедельник, 20 апреля 2020 г.
  • Управление монетизацией: понедельник, 20 апреля 2020 г.
  • Выпуск исправлений для API Management: понедельник, 22 июня 2020 г.
  • Исправление для управления монетизацией: понедельник, 6 июля 2020 г.
  • Обновление системы безопасности сервера управления: понедельник, 24 августа 2020 г.
  • Выпуск исправления для Message Processor с исправлениями ошибок: четверг, 24 сентября 2020 г.
  • Выпуск исправлений для Message Processor с исправлениями ошибок: понедельник, 26 октября 2020 г.
  • Выпуск исправления для Message Processor с исправлениями ошибок: понедельник, 1 февраля 2021 г.

Новые функции и обновления

Ниже перечислены новые функции и изменения в этом выпуске.

Правила JWT

  • Шифрование JWT

    Правила JWT позволяют создавать, проверять и декодировать зашифрованные токены. Новые элементы правил:

    • <Type> – позволяет указать, должны ли токены быть подписаны или зашифрованы.
    • <EncryptionAlgorithms> – позволяет задать алгоритмы шифрования <Key> и <Content>.

    (67165581)

  • Поддержка алгоритмов PSS в подписанных токенах

    Правила для создания и проверки JWT и JWS теперь поддерживают алгоритмы PS256, PS384 и PS512, как описано в IETF RFC 7518. (119856499)

  • GenerateJWT relative start time for token

    При создании токена JWT с помощью правила GenerateJWT элемент <NotBefore> позволяет указать относительное время между созданием токена и моментом, когда он становится действительным. Например, если значение <NotBefore> равно 2h, токен будет действителен только через два часа после создания. Вы можете задать время <NotBefore> в миллисекундах (мс), секундах (с), минутах (м), часах (ч), днях (д) или неделях (н). (126261970)

  • Как указать открытый ключ или сертификат в VerifyJWT

    В правиле VerifyJWT элемент <PublicKey> / <Certificate> позволяет ссылаться на сертификат в формате PEM, с помощью которого можно проверять входящие подписи JWT. Пример:

    <PublicKey>
      <Certificate ref='public.certificate_pem'/>
    </PublicKey>

    (132918033)

Функции шаблонов сообщений

В этом выпуске добавлены следующие новые функции шаблонов сообщений:

  • firstnonull – возвращает значение первого (самого левого) аргумента, не являющегося нулевым. (139698514)
  • xpath – позволяет применить выражение XML Path (XPath) для синтаксического анализа переменных XML. (123246424)

Правило AssignMessage: AssignVariable позволяет ссылаться на шаблон сообщения

В правиле AssignMessage элемент <AssignVariable> / <Template> позволяет использовать атрибут ref, чтобы во время выполнения вставлять заранее заданный шаблон, который можно изменить без необходимости модифицировать правило. (118396082)

Несколько псевдонимов сертификатов

При настройке TLS и использовании нескольких сертификатов в хранилище ключей, у каждого из которых свой псевдоним, Edge позволяет ссылаться на определенные псевдонимы сертификатов в конфигурации <SSLInfo><KeyAlias>. Чтобы включить обновленное поведение, задайте для нового свойства HTTPClient.choose.alias.by.keyalias значение true в файле http.properties на процессорах сообщений. Чтобы добавить это свойство, пользователям Edge для общедоступного облака необходимо обратиться в службу поддержки. (142141620)

Правило JSONtoXML: пропустить объявление XML, добавить отступы в выходных данных

Два новых логических параметра в правиле JSONtoXML позволяют более точно управлять выходными данными XML.

  • <Options> <OmitXmlDeclaration> – если задано значение true (по умолчанию false), элемент <OmitXmlDeclaration> пропускает декларацию XML <?xml version="1.0" encoding="UTF-8"?>, сгенерированную правилом.
  • <Options> <Indent> – если задано значение true (по умолчанию false), элемент <Indent> добавляет отступы в XML-код. Например, вместо следующих выходных данных:

    <Array><n>1</n><n>2</n><n>3</n></Array>

    Элемент Indent создает следующий результат:

    <Array>
     <n>1</n>
     <n>2</n>
     <n>3</n>
    </Array>

(65142394)

Ответы при сканировании виртуального хоста

Если запрос был отправлен на IP-адрес конечной точки Apigee (без указания виртуального хоста), Edge возвращал ответ HTTP 200 и пустой HTML-документ от виртуального хоста Apigee по умолчанию, связанного с этим IP-адресом. Чтобы избежать неправильного впечатления, что такой ответ может представлять собой потенциальную уязвимость, которую можно использовать, соединение разрывается и ответ не возвращается. (140005396)

Свойства целевого сервера в Trace для устранения неполадок

Следующие новые свойства трассировки помогают устранять неполадки с подключением к целевому серверу, показывая, был ли кеширован HTTPClient для целевого сервера: isHttpClientCached и isFromClientPool. (140574604)

Правило MessageLogging: сообщение Syslog

В правиле MessageLogging новый элемент <Syslog> / <PayloadOnly> (логическое значение) позволяет определить, нужно ли автоматически добавлять что-либо к элементу <Message>, который вы задаете. Если вы зададите для параметра <PayloadOnly> значение true, к определению сообщения ничего не будет добавлено (независимо от значения параметра <FormatMessage>). Если задано значение False (по умолчанию), параметр <FormatMessage> определяет, что добавляется в начало сообщения в журнале. (68722102)

Срок действия правил кеширования

Новый элемент <TimeoutInSeconds> для срока действия в правиле ResponseCache и правиле PopulateCache работает так, как изначально предполагалось для существующего элемента <TimeoutInSecs>. Используйте новый элемент. Устаревший элемент <TimeoutInSecs> по-прежнему существует для обеспечения обратной совместимости. Если настроены оба элемента – <TimeoutInSecs> и <TimeoutInSeconds>, Edge использует <TimeoutInSeconds>. (119172893)

Переменная потока virtualhost.aliases.values

Новая переменная потока сообщений virtualhost.aliases.values, доступная только для чтения, возвращает массив всех псевдонимов, назначенных виртуальному хосту, который был вызван во входящем запросе. Массив отформатирован в JSON. (128453178)

Новый параметр для удаления версий прокси

В API для удаления ревизии прокси добавлен новый параметр запроса force. Если ревизия указана в List API Proxies API, но ее нельзя запросить, этот параметр позволяет удалить ревизию прокси. (111691721)

Пример:

DELETE /v1/organizations/myorg/apis/myproxy/revisions/2?force=true

Новая переменная потока для значений псевдонимов виртуального хоста

Новая переменная потока сообщений virtualhost.aliases.values, доступная только для чтения, возвращает массив всех псевдонимов, назначенных виртуальному хосту, который был вызван во входящем запросе, в формате JSON. (128453178)

Исправлены ошибки

В этой версии исправлены следующие ошибки: Этот список предназначен в основном для пользователей, которые хотят проверить, решены ли проблемы, о которых они сообщили в службу поддержки. Он не предназначен для предоставления подробной информации всем пользователям.

Идентификатор проблемы Название компонента Описание
143313772 Message Processor

Исправлена проблема в правиле SpikeArrest, которая возникала, когда был включен параметр UseEffectiveCount и выполнялся последовательный перезапуск.

(в выпуске с исправлениями от 1 февраля 2021 г.)

154428338 API Runtime

Message Processor не может загрузить среды, если хранилища ключей настроены с похожими именами или псевдонимами.

Мы устранили конфликт поиска по регулярному выражению при загрузке хранилищ ключей с похожими названиями. Из-за этого Message Processor не мог загрузить среды, связанные с хранилищем ключей, или не запускался, когда при поиске возвращалось несколько конфликтующих хранилищ ключей.

149507805 Управление API

Включить развертывание/настройку через HTTP для всех рабочих серверов MGMT

Обновления конфигурации выполняются по протоколу HTTP, а не RPC, что повышает надежность и улучшает ведение журнала ошибок.

137217974 Управление API

При настройке многопутевых маршрутов по протоколу HTTP правильно распространяйте ошибку, если целевой сервер все ещё используется

В результате улучшений надежности, внесенных в рамках проблемы 149507805, ошибки ответа целевого сервера при удалении некорректно сообщались как статус 200 (успешно), когда удаление не удавалось. Теперь при сбое удаления ошибки ответа корректно сообщаются как статус 400. Обратите внимание, что удаление целевого сервера может завершиться неудачей, если на него ссылается развернутый прокси-сервер. Прежде чем удалять целевой сервер, убедитесь, что на него не ссылаются развернутые прокси API.

69765558 Управление API

API разрешений для ресурсов возвращает код ошибки 403

149545506 Управление API

Устранена проблема безопасности в API для добавления пользователя в роль.

131246911 Управление API Для электронных адресов разработчиков на портале включите поддержку новых доменов, например *.games и *.asia

Исправлена проблема, из-за которой некоторые доменные имена, например *.games, *.asia и *.africa, приводили к сбою при создании разработчика в Edge, поскольку валидатор домена не распознавал их. Теперь Edge проверяет только формат адреса электронной почты (наличие символа "@").

142217645 Управление API

PUT v1/o/{org_name}/apiproducts/{product_name} не удаляет квоты

162299668 Сервер управления

Устранена потенциальная уязвимость системы безопасности.

135856488 Сервер управления

Медленная работа интерфейса

139407965 Сервер управления

Исправлена ошибка, из-за которой можно было создать хранилище пар "ключ-значение" без названия.

112488235 Сервер управления

Добавлена проверка, которая не позволяет создавать виртуальные хосты с пробелами в названии. Пробелы недопустимы в именах виртуальных хостов.

132433193 Управление монетизацией

Устранена проблема с обновлением приложения.

152514520 Управление монетизацией

Исправлена проблема с вызовами API управления для удаления объектов.

128450374 API Runtime

Правила JWT/JWS должны учитывать IgnoreUnresolvedVariables и вызывать соответствующую ошибку, если переменная не определена

135354517 API Runtime

Организация не работает в версии Release_190301 из-за строгого применения типа данных "Строка" в BasicAuth

131763486 API Runtime

Базовый путь общего потока должен игнорироваться в процессоре сообщений

135972575 API Runtime

В Private Cloud 4.19.01 при развертывании с параметрами override=true&delay=300 наблюдается другое поведение

Исправление будет включено в будущий выпуск Edge для частного облака.

141601836 API Runtime

Как исправить имя хоста в сообщении в журнале

116834109 API Runtime

Неправильные значения переменных failed, fault.cause и fault.name в Trace

130653816 API Runtime

Временами возникающие ошибки 404 при обращении к трафику во время выполнения

132777537 API Runtime

Правило ExtractVariables не работает с действительным JSONPath

133713555 API Runtime

Пограничный маршрутизатор изменяет заголовок даты

133253435 API Runtime

Высокая загрузка ЦП основным потоком Apigee

111553402 API Runtime

Продукт API с недопустимыми символами в пути не обнаруживается до времени выполнения

126240341 API Runtime

Улучшено общее сообщение "Не удалось создать" при сбое правила GenerateJWT

119854424 API Runtime

Балансировщик нагрузки с одним целевым сервером не должен становиться неактивным при сбое подключения

129275412 API Runtime

Как добавить заголовки HTTP в резервный виртуальный хост для сканирования IP-адресов

129351507 API Runtime

Правило BasicAuthentication не может декодировать пароль, если в нем есть двоеточие

65852874 API Runtime

Убедитесь, что HTTPClient не пытается повторно использовать подключение, в заголовке ответа которого указано Connection:close.

138951646 API Runtime

Ограничение по времени не работает в JavaScript для httpClient

139051927 API Runtime

Высокая задержка при обработке запросов

132443137 API Runtime

Как изменить поведение процессора сообщений для обработки неизвестных внутренних заголовков x-apigee

138310777 API Runtime

При развертывании общего потока случайным образом возвращается ошибка 504

67170148 API Runtime

Различия между значениями Elapsed Time и timeTaken в ServiceCallouts

124049692 API Runtime

NullPointerException в правиле VerifyApiKey

135031506 API Runtime

Добавление сообщения в журнале для ключа JWT в неожиданном формате

137312366 API Runtime

Проверка контента по заголовку Content-Type

109871907 API Runtime

Задержки выполнения элемента ServiceCallout без элемента Response

143722867 API Runtime

Токен JWT должен обеспечивать настраиваемое ограничение на количество итераций для PBKDF2

144286363 Гибридная трассировка

Маска отладки в файле env.json не маскирует данные ответа в Apigee Hybrid

147769812 API Runtime

Объявите свойства хеша OAuth как изменяемые во флагах функций

149037704 API Runtime

Исправлена проблема, из-за которой переменная потока proxy.url могла возвращать неправильный псевдоним хоста.

148972262 API Runtime

DecodeJWS передает полезную нагрузку в переменную контекста в бесполезном виде

116580622 API Runtime

Несоответствие ответа

149739904 API Runtime

Деидентификация данных в HTTP-заголовках должна быть нечувствительна к регистру

149431545 API Runtime

Функции GenerateJWT и VerifyJWT с SecretKey не принимают никакую кодировку, кроме UTF-8

155448596 API Management-Patch

Отсутствуют разрешения для роли apimonitoringadmin по умолчанию

В роль apimonitoringadmin были добавлены недостающие разрешения.

158592076 API Management-Patch

Отсутствующие разрешения в роли devadmin по умолчанию

В роль devadmin были добавлены недостающие разрешения.

152856311 API Management-Patch

Проверки, позволяющие отклонять сертификаты PKCS7 и DER в хранилище ключей и хранилище доверенных сертификатов при создании и обновлении виртуального хоста

При создании или обновлении виртуального хоста выполняется проверка, чтобы убедиться, что сертификаты, добавленные в псевдоним хранилища ключей и хранилище доверенных сертификатов, имеют формат PEM, а не несовместимый формат, например PKCS7, DER и т. д.

155478545 Monetization Management-Patch

Исправлена проблема с уведомлениями по электронной почте об изменении статуса.

154121499 Monetization Management-Patch

Устранена проблема, из-за которой API /mint/org/orgname/delete-org-data возвращал ошибку со статусом 404.

152356393 Monetization Management-Patch

Длина названия компании больше не ограничивается при создании компании для монетизации.

138542921 Monetization Management-Patch

Исправлена проблема, из-за которой не удавалось создать тарифный план с несколькими специальными атрибутами в пакете продуктов.

150948843 Monetization Management-Patch

Исправлена ошибка, из-за которой API монетизации /sync-developers вызывал конфликты сохранения.

155443118 Monetization Management-Patch

Поле jsonMailProperties удалено.

150948843 Monetization Management-Patch

Исправлена ошибка, из-за которой API монетизации /sync-developers вызывал конфликты сохранения.