20.04.06: Notas de la versión de Apigee Edge para la nube pública

Estás viendo la documentación de Apigee Edge.
Ir a la documentación de Apigee X.
info

En las siguientes fechas, comenzamos a lanzar actualizaciones de componentes para Apigee Edge para la nube pública:

  • Procesador de mensajes: viernes, 1 de mayo de 2020
  • Administración de APIs: Lunes, 20 de abril de 2020
  • Administración de la monetización: lunes, 20 de abril de 2020
  • Lanzamiento de parche de API Management: lunes, 22 de junio de 2020
  • Lanzamiento de parche de administración de la monetización: lunes, 6 de julio de 2020
  • Actualización de seguridad del servidor de administración: lunes, 24 de agosto de 2020
  • Lanzamiento de parches del Message Processor con correcciones de errores: jueves, 24 de septiembre de 2020
  • Lanzamiento de parche del procesador de mensajes con correcciones de errores: lunes, 26 de octubre de 2020
  • Lanzamiento de parche de Message Processor con correcciones de errores: lunes, 1 de febrero de 2021

Nuevas funciones y actualizaciones

A continuación, presentamos las nuevas funciones y actualizaciones de esta versión.

Políticas de JWT

  • Encriptación de JWT

    Las políticas de JWT te permiten generar, verificar y decodificar tokens encriptados. Los elementos nuevos en las políticas incluyen lo siguiente:

    • <Type>: Te permite establecer si los tokens están firmados o encriptados.
    • <EncryptionAlgorithms>: Te permite establecer los algoritmos de encriptación <Key> y <Content>.

    (67165581)

  • Compatibilidad con algoritmos PSS en tokens firmados

    Las políticas para generar y verificar JWT y JWS ahora admiten los algoritmos PS256, PS384 y PS512, como se describe en IETF RFC 7518. (119856499)

  • Hora de inicio relativa de GenerateJWT para el token

    Cuando generas un JWT con la política de GenerateJWT, el elemento <NotBefore> te permite especificar un tiempo relativo entre el momento en que se genera un token y el momento en que se vuelve válido. Por ejemplo, un valor de <NotBefore> de 2 h significa que un token no es válido hasta 2 horas después de que se genera. Puedes configurar el tiempo de <NotBefore> en milisegundos (ms), segundos (s), minutos (m), horas (h), días (d) o semanas (w). (126261970)

  • Cómo hacer referencia a PublicKey/Certificate en VerifyJWT

    En la política VerifyJWT, un elemento <PublicKey> / <Certificate> te permite hacer referencia al certificado con formato PEM con el que se verificarán las firmas de los JWT entrantes. Por ejemplo:

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

    (132918033)

Funciones de plantillas de mensajes

A continuación, se indican las nuevas funciones de plantillas de mensajes disponibles en esta versión:

  • firstnonull: Muestra el valor del primer argumento (el más a la izquierda) que no es nulo. (139698514)
  • xpath: Te permite aplicar una expresión de ruta XML (XPath) para analizar variables XML. (123246424)

Política AssignMessage: AssignVariable te permite hacer referencia a una plantilla de mensajes

En la política de AssignMessage, el elemento <AssignVariable> / <Template> permite un atributo ref, lo que te permite incorporar una plantilla predefinida en el tiempo de ejecución que puede cambiar sin tener que modificar la política. (118396082)

Varios alias de certificado

Cuando configuras TLS y usas varios certificados en un almacén de claves, cada uno con un alias diferente, Edge te permite hacer referencia a alias de certificados específicos en tu configuración de <SSLInfo><KeyAlias>. Para habilitar este comportamiento actualizado, establece una nueva propiedad HTTPClient.choose.alias.by.keyalias en true en el archivo http.properties de los procesadores de mensajes. Los usuarios de Edge para la nube pública deben comunicarse con el equipo de asistencia para agregar esta propiedad. (142141620)

Política JSONtoXML: Omitir la declaración XML, aplicar sangría al resultado

Dos nuevas opciones booleanas en la política de JSONtoXML te brindan más control sobre la salida XML.

  • <Options> <OmitXmlDeclaration>: Cuando se establece en verdadero (el valor predeterminado es falso), el elemento <OmitXmlDeclaration> omite la declaración XML <?xml version="1.0" encoding="UTF-8"?> predeterminada que genera la política.
  • <Options> <Indent>: Cuando se establece en verdadero (el valor predeterminado es falso), el elemento <Indent> aplica sangría al resultado XML. Por ejemplo, en lugar de este resultado:

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

    El elemento Indent produce lo siguiente:

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

(65142394)

Respuestas para el análisis de hosts virtuales

Si se realizó una solicitud a la dirección IP de un extremo de Apigee (no se especificó ningún host virtual), Edge devolvió una respuesta HTTP 200 y un documento HTML en blanco del host virtual predeterminado de Apigee asociado a esa dirección IP. Para evitar la impresión incorrecta de que tal respuesta podría representar una vulnerabilidad potencial que se podría explotar, se interrumpe la conexión y no se devuelve ninguna respuesta. (140005396)

Propiedades del servidor de destino en Trace para ayudar a solucionar problemas

Las siguientes propiedades de seguimiento nuevas ayudan a solucionar problemas de conexión de destino, ya que muestran si se almacenó en caché el objeto HTTPClient para el servidor de destino: isHttpClientCached y isFromClientPool. (140574604)

Política MessageLogging: Mensaje de Syslog

En la política de MessageLogging, un nuevo elemento <Syslog> / <PayloadOnly> (booleano) te permite determinar si se antepone automáticamente algo al <Message> que defines. Si configuras <PayloadOnly> como verdadero, no se antepone nada a la definición del mensaje (independientemente de la configuración de <FormatMessage>). Si se configura como falso (predeterminado), el parámetro de configuración <FormatMessage> determina qué se antepone al mensaje de registro. (68722102)

Vencimiento de las políticas de caché

Un nuevo elemento de vencimiento <TimeoutInSeconds> en la política ResponseCache y la política PopulateCache se comporta de la manera en que se pretendía que funcionara el elemento <TimeoutInSecs> existente originalmente. Usa el elemento nuevo. El elemento <TimeoutInSecs> obsoleto aún existe para la retrocompatibilidad. Si se configuran los elementos <TimeoutInSecs> y <TimeoutInSeconds>, Edge usa <TimeoutInSeconds>. (119172893)

Variable de flujo virtualhost.aliases.values

Una nueva variable de flujo de mensajes virtualhost.aliases.values de solo lectura devuelve un array con formato JSON de todos los alias asignados al host virtual al que se llamó en la solicitud entrante. (128453178)

Nuevo parámetro para garantizar el borrado de la revisión del proxy

Se agregó un nuevo parámetro de búsqueda force a la revisión de proxy de API de eliminación. En los casos en que la revisión aparece en la API de List API Proxies, pero no se puede consultar, este parámetro garantiza que se borre la revisión del proxy. (111691721)

Por ejemplo:

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

Nueva variable de flujo para los valores de alias de host virtual

Una nueva variable de flujo de mensajes virtualhost.aliases.values de solo lectura devuelve un array con formato JSON de todos los alias asignados al host virtual al que se llamó en la solicitud entrante. (128453178)

Fallas corregidas

En esta versión, se corrigieron los siguientes errores. Esta lista está dirigida principalmente a usuarios que verifican si sus tickets de asistencia se corrigieron. No está diseñada para proporcionar información detallada a todos los usuarios.

ID del problema Nombre del componente Descripción
143313772 Message Processor

Se corrigió un problema en la política de SpikeArrest que se producía cuando se habilitaba UseEffectiveCount y se realizaba un reinicio progresivo.

(En la versión del parche del 1/2/21)

154428338 Entorno de ejecución de API

El Message Processor no puede cargar entornos cuando los almacenes de claves se configuran con nombres o alias similares.

Se corrigió un conflicto de búsqueda de regex al cargar almacenes de claves que tienen una convención de nombres similar. Esto provocaba que el Message Processor no pudiera cargar los entornos asociados al almacén de claves o no pudiera iniciarse cuando se devolvían varios almacenes de claves en conflicto durante la búsqueda.

149507805 Administración de API

Habilita la implementación o configuración a través de HTTP para todos los servidores de MGMT de producción

Las actualizaciones de configuración se realizan a través de HTTP en lugar de RPC, lo que mejora la confiabilidad y el registro de errores.

137217974 Administración de API

Cuando se configuran los MPs a través de HTTP, se propaga el error correctamente cuando aún se usa un servidor de destino

Como resultado de las mejoras de confiabilidad introducidas en el problema 149507805, los errores de respuesta por la eliminación del servidor de destino se informaron incorrectamente como estado 200 (correcto) cuando la eliminación falló. Con esta corrección, los errores de respuesta ahora se informan correctamente como estado 400 si falla la eliminación. Ten en cuenta que la eliminación del servidor de destino puede fallar si un proxy implementado actualmente hace referencia a él. Antes de borrar un servidor de destino, verifica que ningún proxy de API implementado actualmente haga referencia a él.

69765558 Administración de API

La API de Resource Permissions devuelve el código 403

149545506 Administración de API

Se corrigió un problema de seguridad en la API para agregar un usuario a un rol.

131246911 Administración de API Para los correos electrónicos de desarrolladores en un portal, habilita la compatibilidad con dominios más nuevos, como *.games y *.asia

Se corrigió un problema por el que algunos nombres de dominio, como *.games, *.asia y *.africa, provocaban que fallara la creación de desarrolladores en Edge porque el validador de dominios no los reconocía. Ahora, Edge solo valida que el formato de una dirección de correo electrónico sea válido (contiene un símbolo "@").

142217645 Administración de API

PUT v1/o/{org_name}/apiproducts/{product_name} no quita las cuotas

162299668 Servidor de administración

Se corrigió una posible vulnerabilidad de seguridad.

135856488 Servidor de administración

Lentitud de la IU

139407965 Servidor de administración

Se corrigió un problema que permitía crear un KVM sin nombre.

112488235 Servidor de administración

Se agregó validación para evitar que se creen hosts virtuales con espacios en el nombre. Los caracteres de espacio no son válidos para usarse en nombres de host virtuales.

132433193 Administración de la monetización

Se corrigió un problema con la actualización de la aplicación.

152514520 Administración de la monetización

Se corrigió un problema con las llamadas a la API de administración para borrar entidades.

128450374 Entorno de ejecución de API

Las políticas de JWT/JWS deben respetar IgnoreUnresolvedVariables y arrojar la falla adecuada si no se define la variable

135354517 Entorno de ejecución de API

La organización falla en Release_190301 debido a la aplicación estricta del tipo de datos "String" en BasicAuth

131763486 Entorno de ejecución de API

Se debe ignorar la ruta base de un flujo compartido en el procesador de mensajes

135972575 Entorno de ejecución de API

Private Cloud 4.19.01 muestra un comportamiento diferente durante la implementación con override=true&delay=300

Esta corrección se incluirá en una versión futura de Edge para la nube privada.

141601836 Entorno de ejecución de API

Corrige el nombre de host en el mensaje de registro

116834109 Entorno de ejecución de API

Valores incorrectos para las variables failed, fault.cause y fault.name en Trace

130653816 Entorno de ejecución de API

Errores 404 intermitentes en el tráfico del tiempo de ejecución

132777537 Entorno de ejecución de API

La política ExtractVariables falla para un JSONPath válido

133713555 Entorno de ejecución de API

El router perimetral altera el encabezado de fecha

133253435 Entorno de ejecución de API

Uso alto de CPU por el subproceso Apigee-Main

111553402 Entorno de ejecución de API

Un producto de API con caracteres no válidos en la ruta no se detecta hasta el tiempo de ejecución

126240341 Entorno de ejecución de API

Mejora el mensaje genérico "No se pudo generar" en caso de falla de la política de GenerateJWT

119854424 Entorno de ejecución de API

El LoadBalancer con un solo servidor de destino no debe quedar inactivo si falla la conexión

129275412 Entorno de ejecución de API

Agrega encabezados HTTP al host virtual de respaldo para los análisis de IP genéricos

129351507 Entorno de ejecución de API

La política BasicAuthentication no puede decodificar cuando la contraseña contiene dos puntos

65852874 Entorno de ejecución de API

Asegúrate de que HTTPClient no intente reutilizar una conexión que tenía un encabezado de respuesta Connection:close

138951646 Entorno de ejecución de API

El límite de tiempo no funciona en JavaScript para httpClient

139051927 Entorno de ejecución de API

Alta latencia de procesamiento de solicitudes

132443137 Entorno de ejecución de API

Se cambió el comportamiento del procesador de mensajes para controlar encabezados x-apigee internos desconocidos

138310777 Entorno de ejecución de API

La llamada de implementación de flujo compartido devuelve 504 de forma aleatoria

67170148 Entorno de ejecución de API

Diferencias entre Elapsed Time y timeTaken en ServiceCallouts

124049692 Entorno de ejecución de API

NullPointerException en la política VerifyApiKey

135031506 Entorno de ejecución de API

Agrega un mensaje de registro para el formato de clave JWT inesperado

137312366 Entorno de ejecución de API

Validación de contenido por encabezado Content-Type

109871907 Entorno de ejecución de API

Demoras en la ejecución de ServiceCallout sin elemento Response

143722867 Entorno de ejecución de API

El JWT debe aplicar un límite configurable en la cantidad de iteraciones para PBKDF2

144286363 Registro híbrido

La máscara de depuración en env.json no enmascara los datos de respuesta en Apigee Hybrid

147769812 Entorno de ejecución de API

Declara las propiedades de hash de OAuth como mutables en las marcas de funciones

149037704 Entorno de ejecución de API

Se corrigió un problema por el que el valor asignado a la variable de flujo proxy.url podía devolver un alias de host incorrecto.

148972262 Entorno de ejecución de API

DecodeJWS emite la carga útil a una variable de contexto en una forma inútil

116580622 Entorno de ejecución de API

Respuesta incongruente

149739904 Entorno de ejecución de API

El enmascaramiento de datos para los encabezados HTTP no debe distinguir mayúsculas de minúsculas

149431545 Entorno de ejecución de API

GenerateJWT y VerifyJWT con SecretKey no aceptan ninguna codificación, excepto UTF-8

155448596 API Management-Patch

Faltan permisos en el rol predeterminado de apimonitoringadmin

Se agregaron los permisos faltantes al rol de apimonitoringadmin.

158592076 API Management-Patch

Faltan permisos en el rol predeterminado de devadmin

Se agregaron permisos faltantes al rol de devadmin.

152856311 API Management-Patch

Validaciones para rechazar certificados PKCS7 y DER en el almacén de claves y el almacén de certificados de confianza durante la creación y actualización del host virtual

Durante la creación o actualización del host virtual, se aplican validaciones para verificar si los certificados agregados en el alias del almacén de claves y el almacén de certificados de confianza están en formato PEM y no en formatos incompatibles, como PKCS7, DER, etcétera.

155478545 Monetization Management-Patch

Se corrigió un problema con las actualizaciones de estado de las notificaciones por correo electrónico.

154121499 Monetization Management-Patch

Se corrigió un problema en el que la API de /mint/org/orgname/delete-org-data generaba un error de estado 404.

152356393 Monetization Management-Patch

Se relajó la validación de la longitud del nombre de la empresa para la creación de empresas de monetización.

138542921 Monetization Management-Patch

Se corrigió un problema por el que fallaba la creación de un plan de tarifas con varios atributos personalizados en el paquete de productos.

150948843 Monetization Management-Patch

Se corrigió un problema por el que la API de Monetization /sync-developers generaba conflictos de persistencia.

155443118 Monetization Management-Patch

Se quitó el campo jsonMailProperties.

150948843 Monetization Management-Patch

Se corrigió un problema por el que la API de Monetization /sync-developers generaba conflictos de persistencia.