NachrichtenKryptoNeoFS S3 Gateway v0.45.1 optimisiert Lese- und Schreibleistung mittels SDK RC21

NeoFS S3 Gateway v0.45.1 optimisiert Lese- und Schreibleistung mittels SDK RC21

Autor: CryptoNewsNet·

Wichtige Erkenntnisse

  • NeoFS S3 Gateway v0.45.1 führt eine Schreibpfad-Optimierung ein, die mindestens eine intermediäre Datenkopie während PUT-Operationen entfernt und dadurch die Speicherzuweisung sowie die CPU-Last senkt.
  • Ranged-GET-Anfragen rufen nun sowohl Objekt-Header als auch Payload-Daten in einem einzigen Netzwerkaufruf ab, anstatt einen separaten Round-Trip zu benötigen, was Streaming-Medien und Teil-Download-Workflows zugutekommt.
  • Extended Access Control Lists werden gleichzeitig mit der Containererstellung angewendet, wodurch eine Folgearfrage entfällt und ein Zeitfenster geschlossen wird, in dem neu erstellte Container ohne ihre vorgesehene Zugriffsrichtlinie existieren konnten.
  • Ein Metadaten-Fix filtert interne NeoFS-Systemattribute aus GetObject-Antworten heraus und stellt sicher, dass nur benutzerdefinierte Metadaten zurückgegeben werden, was das Risiko von Informationslecks in Multi-Tenant-Umgebungen verringert.
  • Der Patch umfasst ein gRPC-Abhängigkeits-Update auf v1.82.1, das HTTP/2-Frame-Flood-Denial-of-Service-Angriffe abschwächt und Autorisierungsumgehungs-Schwachstellen im xDS-Permission-Matching behebt.
NeoFS S3 Gateway v0.45.1 optimisiert Lese- und Schreibleistung mittels SDK RC21

Neo SPCC hat am 4. August NeoFS S3 Gateway v0.45.1 veröffentlicht. Dieses Patch-Update führt drei Leistungsoptimierungen und einen Metadaten-Fix für die S3-kompatible Schnittstelle des dezentralen NeoFS-Speichernetzwerks ein. Da die Amazon S3 API zum De-facto-Standard für Objektspeicher auf zentralen wie dezentralen Plattformen geworden ist, wirken sich Verbesserungen bei Durchsatz und Korrektheit des S3-Gateways unmittelbar darauf aus, wie einfach Entwickler Anwendungen auf NeoFS mit vertrauten Werkzeugen migrieren oder erstellen können.

Zwei dieser Leistungsverbesserungen werden durch das NeoFS SDK Go RC21 ermöglicht, das erst wenige Tage zuvor zusammen mit NeoFS Node v0.55.0 veröffentlicht wurde.

Das Update baut auf der großen Juli-Version von S3 Gateway v0.45.0 auf, die Namespace-Konfiguration, vereinfachte EACL-Regeln und die Entfernung der Unterstützung für Legacy-Access-Boxen brachte. Dieser neue Patch erfordert keine Migration für bestehende v0.45.0-Nutzer.

Schreibpufferung und Ranged-GET-Optimierungen

Die erste Optimierung implementiert das io.ReaderFrom-Interface für den Object-Payload-Writer, eine Funktion, die in SDK RC21 eingeführt wurde. Durch die Eliminierung mindestens einer intermediären Datenkopie während PUT-Operationen senkt dieses Update die Speicherzuweisung und die CPU-Last im Schreibpfad (#1320).

Die zweite Optimierung verbessert Ranged-GET-Anfragen. Bisher erforderlichen diese Anfragen einen separaten Round-Trip, um den Objekt-Header abzurufen, bevor der angegebene Datenbereich geladen werden konnte. Durch die Nutzung der HTTP-ähnlichen Byte-Range-Parameter von SDK RC21 kann das Gateway nun sowohl den Header als auch die abgegrenzte Payload in einem einzigen Netzwerkaufruf abrufen (#1319). Diese Verbesserung kommt Streaming-Medien, Teil-Downloads und Multipart-Upload-Workflows, die auf S3-Range-Reads angewiesen sind, erheblich zugute.

Extended Access Control Lists während der Containererstellung angewendet

Extended Access Control Lists (EACL) werden nun gleichzeitig mit der Containererstellung in einem einzigen Netzwerkaufruf angewendet, wodurch eine separate Folgearfrage entfällt (#1304). Diese Anpassung reduziert die Latenz bei der Erstellung von S3-Buckets und schließt ein kurzes Sicherheitsfenster, in dem ein neu erstellter Container ohne seine vorgesehene Zugriffsrichtlinie existieren konnte.

Korrektur der Systemattribute

Ein wesentlicher Korrekturfix filtert interne NeoFS-Systemattribute aus GetObject-Metadatenantworten heraus (#1321). In früheren Versionen wurden diese protokollspezifischen Attribute zusammen mit benutzerdefinierten Metadaten in S3-Antworten ausgegeben und setzten interne Implementierungsdetails versehentlich gegenüber Clients preis. Der Fix stellt sicher, dass nur benutzerdefinierte Metadaten zurückgegeben werden, was das System mit dem erwarteten S3-API-Verhalten in Einklang bringt und das Risiko von Informationslecks in Multi-Tenant-Umgebungen verringert.

Abhängigkeits-Updates

Zusätzlich zum SDK RC21-Upgrade integriert Version 0.45.1 verschiedene Sicherheits- und Wartungs-Updates, darunter:

  • golang.org/x/crypto v0.52.0
  • golang.org/x/net v0.55.0
  • google.golang.org/grpc v1.82.1

Das gRPC-Update beinhaltet spezifisch Maßnahmen gegen HTTP/2-Frame-Flood-Denial-of-Service-Angriffe und behebt Szenarien zur Autorisierungsumgehung im xDS-Permission-Matching. Diese Klassen von HTTP/2-Schwachstellen werden im breiteren Infrastruktur-Ökosystem aktiv ausgenutzt, sodass zeitnahe Abhängigkeits-Updates eine grundlegende Sicherheitsmaßnahme für Storage-Gateways darstellen, die nicht vertrauenswürdigen Clients ausgesetzt sind.

Die vollständigen Release Notes sind hier verfügbar: https://github.com/nspcc-dev/neofs-s3-gw/releases/tag/v0.45.1