Die Veroffentlichung der UpdateObjectEncryption-API markiert einen bedeutenden Wandel in der Art und Weise, wie wir Datensicherheit im grossen Massstab verwalten. Historisch gesehen war die Anderung der Verschlusselung eines S3-Objekts eine "physische" Operation; man musste die Bits verschieben. Jetzt ist es eine "logische" Metadaten-Operation.

Technischer Deep Dive: Neuverschlusselung ohne Bewegung

Die "Magie" hinter diesem Update liegt in der Envelope Encryption. Im alten CopyObject-Workflow musste S3 die tatsachlichen Daten mit dem alten Schlussel entschlusseln und mit dem neuen Schlussel neu verschlusseln, wodurch effektiv eine neue Datei erstellt wurde.

Mit der UpdateObjectEncryption-API beruhrt S3 die zugrunde liegenden Datenblocke nicht. Stattdessen interagiert es nur mit dem Data Key (DK).

  1. S3 ruft den verschlusselten Data Key aus den Metadaten des Objekts ab.
  2. Es verwendet den alten Master Key, um diesen Data Key zu entschlusseln.
  3. Es verschlusselt denselben Data Key sofort mit dem neuen KMS Master Key.
  4. Die Objektmetadaten werden atomar mit dem neuen verschlusselten Data Key aktualisiert.

Da die Daten selbst (der Geheimtext) identisch bleiben, bleiben der ETag (ein Hash der Daten) und das Erstellungsdatum genau gleich.

Vor- und Nachteile

Vorteile

  • Null Latenz bei Daten: Da keine Daten bewegt werden, dauert die Operation Millisekunden, unabhangig von der Dateigrosse, von 1 KB bis 5 TB.
  • Storage-Integritat: Es bewahrt das Last-Modified-Datum, ETag und Version ID. Dies ist kritisch fur Anwendungen, die ETags zur Cache-Validierung verwenden.
  • Archive-freundlich: Du kannst die Verschlusselung von Glacier-Objekten aktualisieren, ohne sie zuerst "wiederherzustellen". Sie bleiben im Cold Storage.
  • Kosteneffizienz: Du vermeidest die Datenabrufgebuhren (GET) und Datenubertragungsgebuhren, die mit dem Kopieren verbunden sind. Du zahlst nur fur den API-Aufruf (PUT-Preis).
  • Intelligent-Tiering-Sicherheit: Objekte in S3 Intelligent-Tiering werden nicht auf den Frequent Access-Tier "zuruckgesetzt", wodurch dein Kostenoptimierungsfortschritt erhalten bleibt.

Nachteile

  • Nur KMS: Du kannst nur auf SSE-KMS aktualisieren. SSE-C oder DSSE-KMS werden nicht unterstutzt.
  • Keine "Unverschlusselt"-Unterstutzung: Das Quellobjekt muss bereits verschlusselt sein (SSE-S3 oder SSE-KMS). Wenn es eines der seltenen alten "Plaintext"-Objekte ist, wird diese API fehlschlagen.
  • Object Lock-Barriere: Wenn ein Objekt unter Legal Hold oder Retention Mode steht, kannst du seine Verschlusselung erst aktualisieren, wenn die Sperre aufgehoben ist.
  • KMS ARN-Anforderung: Du kannst keine KMS Key Aliase verwenden; du musst den vollstandigen Amazon Resource Name (ARN) angeben.

Vergleich: UpdateObjectEncryption vs. CopyObject

FeatureUpdateObjectEncryption (Neu)CopyObject (Legacy)
DatenbewegungKeine (nur Metadaten-Update)Vollstandige Datenkopie
Objekt-MetadatenErhalten (ETag, Erstellungsdatum)Zuruckgesetzt (Neuer ETag, Neues Datum)
Glacier-UnterstutzungFunktioniert im archivierten ZustandErfordert zuerst "Restore"
DurchsatzHoch (Atomar/Sofort)Begrenzt durch Objektgrosse/Bandbreite
KostenNur PUT Request ($0.005/1k)GET + PUT + Datenabrufgebuhren
Object LockBlockiertErstellt neue Version (wenn versioniert)

Entscheidungsleitfaden: Was solltest du bevorzugen?

1. Verwende UpdateObjectEncryption wenn:

  • Status: Compliance-Audit. Du musst von AWS-verwalteten Schlusseln (SSE-S3) zu kundenverwalteten Schlusseln (SSE-KMS) wechseln, um regulatorische Anforderungen zu erfullen.
  • Status: Archivierte Daten. Du hast Petabytes an Daten in Glacier Deep Archive, die ein Verschlusselungs-Upgrade ohne die massiven Kosten der Wiederherstellung benotigen.
  • Status: Massive Objekte. Du hast 5 TB Objekte, bei denen eine Kopieroperation Stunden dauern und ein Timeout riskieren wurde.
  • Status: ETag-abhangig. Deine Anwendungslogik ist darauf angewiesen, dass der ETag fur Sync/Caching konstant bleibt.

2. Verwende CopyObject wenn:

  • Status: Unverschlusselte Quelle. Du hast es mit sehr alten Objekten zu tun, die uberhaupt keine Verschlusselung haben.
  • Status: Cross-Region/Account. Du musst die Daten in einen anderen Bucket oder eine andere Region verschieben und gleichzeitig die Verschlusselung andern.
  • Status: SSE-C-Anforderungen. Du musst vom Kunden bereitgestellte Schlussel (SSE-C) verwenden, die die neue API nicht unterstutzt.
  • Status: Gesperrte Objekte. Du musst die Verschlusselung eines Objekts aktualisieren, das dauerhaft gesperrt ist (Compliance Mode); in diesem Fall ist eine neue Kopie/Version dein einziger Weg.

Hinweis zur Skalierung: Wenn du es mit Millionen von Objekten zu tun hast, rufe diese API nicht in einer Schleife auf. Verwende S3 Batch Operations. AWS hat diese neue API direkt in die Batch-Konsole integriert, sodass du einen "Neuverschlusselungs"-Job uber einen gesamten Bucket mit wenigen Klicks ausfuhren kannst.

Du kannst die offiziellen AWS-Nachrichten lesen unter https://aws.amazon.com/about-aws/whats-new/2026/01/change-the-server-side-encryption-type-of-s3-objects/

Offizielle AWS-Dokumentation fur Updating server-side encryption for existing data.