NeoFS S3 Gateway v0.45.1 optimiza el rendimiento de lectura y escritura mediante SDK RC21
Puntos clave
- •NeoFS S3 Gateway v0.45.1 introduce una optimización en la ruta de escritura que elimina al menos una copia intermedia de datos durante las operaciones PUT, reduciendo la asignación de memoria y la sobrecarga de CPU.
- •Las solicitudes GET por rango ahora recuperan tanto los encabezados de objeto como los datos de carga útil en una sola llamada de red en lugar de requerir un recorrido de ida y vuelta separado, beneficiando los flujos de trabajo de transmisión de medios y descargas parciales.
- •Las listas de control de acceso extendido se aplican simultáneamente con la creación de contenedores, eliminando una solicitud de seguimiento y cerrando una ventana donde los contenedores recién creados podían existir sin su política de acceso designada.
- •Una corrección de metadatos filtra los atributos internos del sistema NeoFS de las respuestas de GetObject, garantizando que solo se devuelvan los metadatos definidos por el usuario y reduciendo el riesgo de fuga de información en despliegues multiinquilino.
- •El parche incluye una actualización de dependencia de gRPC a v1.82.1 que mitiga los ataques de denegación de servicio por inundación de tramas HTTP/2 y resuelve vulnerabilidades de omisión de autorización en la coincidencia de permisos xDS.

Neo SPCC ha lanzado NeoFS S3 Gateway v0.45.1 el 4 de agosto. Esta actualización de parche introduce tres optimizaciones de rendimiento y una corrección de metadatos en la interfaz compatible con S3 para la red de almacenamiento descentralizado NeoFS. Dado que la API de Amazon S3 se ha convertido en el estándar de facto para el almacenamiento de objetos en plataformas tanto centralizadas como descentralizadas, las mejoras en el rendimiento y la corrección del gateway S3 afectan directamente la facilidad con la que los desarrolladores pueden migrar o construir aplicaciones sobre NeoFS utilizando herramientas familiares.
Dos de estas mejoras de rendimiento están impulsadas por NeoFS SDK Go RC21, que fue lanzado apenas unos días antes junto con NeoFS Node v0.55.0.
Basado en el importante lanzamiento de julio de S3 Gateway v0.45.0 —que incorporó configuración de espacios de nombres, simplificación de las reglas EACL y la eliminación del soporte heredado de access box—, este nuevo parche no requiere migración para los usuarios existentes de v0.45.0.
Optimizaciones de búfer de escritura y GET por rango
La primera optimización implementa la interfaz io.ReaderFrom para el escritor de carga útil de objetos, una capacidad introducida en SDK RC21. Al eliminar al menos una copia intermedia de datos durante las operaciones PUT, esta actualización reduce la asignación de memoria y la sobrecarga de CPU en la ruta de escritura (#1320).
La segunda optimización mejora las solicitudes GET por rango. Anteriormente, estas solicitudes requerían un recorrido de ida y vuelta separado para obtener el encabezado del objeto antes de recuperar el rango de datos especificado. Aprovechando los parámetros de rango de bytes tipo HTTP de SDK RC21, el gateway ahora puede recuperar tanto el encabezado como la carga útil por rango en una sola llamada de red (#1319). Esta mejora beneficia significativamente a los flujos de trabajo de transmisión de medios, descargas parciales y cargas multiparte que dependen de lecturas por rango de S3.
Listas de control de acceso extendido aplicadas durante la creación de contenedores
Las listas de control de acceso extendido (EACL) ahora se aplican simultáneamente con la creación del contenedor en una sola llamada de red, eliminando la necesidad de una solicitud de seguimiento (#1304). Este ajuste reduce la latencia durante la creación de buckets S3 y cierra una breve ventana de vulnerabilidad en la que un contenedor recién creado podía existir sin su política de acceso designada.
Corrección de atributos del sistema
Una corrección importante filtra los atributos internos del sistema NeoFS de las respuestas de metadatos de GetObject (#1321). En versiones anteriores, estos atributos a nivel de protocolo se incluían junto con los metadatos definidos por el usuario en las respuestas S3, exponiendo inadvertidamente detalles internos de implementación a los clientes. La corrección garantiza que solo se devuelvan los metadatos definidos por el usuario, alineando el sistema con el comportamiento esperado de la API S3 y reduciendo el riesgo de fuga de información en despliegues multiinquilino.
Actualizaciones de dependencias
Junto con la actualización a SDK RC21, la versión 0.45.1 incorpora varias actualizaciones de seguridad y mantenimiento, incluyendo:
golang.org/x/cryptov0.52.0golang.org/x/netv0.55.0google.golang.org/grpcv1.82.1
La actualización de gRPC aborda específicamente mitigaciones para ataques de denegación de servicio por inundación de tramas HTTP/2 y resuelve escenarios de omisión de autorización encontrados en la coincidencia de permisos xDS. Estas clases de vulnerabilidades HTTP/2 han sido explotadas activamente en el ecosistema de infraestructura en general, lo que hace que las actualizaciones oportunas de dependencias sean una práctica de seguridad básica para los gateways de almacenamiento expuestos a clientes no confiables.
Las notas completas de la versión están disponibles aquí: https://github.com/nspcc-dev/neofs-s3-gw/releases/tag/v0.45.1