S3 Object Lock bringt viele Vorteile mit sich und bietet sich insbesondere mit Blick auf regulatorische Anforderungen sowie Schutz vor Ransomware (und Malware generell) an.
Sie können die S3 Object Lock Funktion nutzen, um Objekte nach dem WORM-Prinzip (Write-Once-Read-Many) zu speichern und zu schützen. Mit S3 Object Lock kann verhindert werden, dass Benutzer Dateien löschen oder ändern können (für eine zuvor definierte Zeit).
Für S3 Object Locks stehen zwei Modi zur Verfügung:
Im Governance Mode können Benutzer keine Objektversion verändern oder löschen, ausser sie besitzen spezielle Berechtigungen. Im Governance-Modus verhindern Sie die Löschung und Veränderung von Objekten durch alle regulären Benutzer, aber Administratoren haben mittels spezieller Berechtigungen die Möglichkeit, den Schutz zu umgehen. Der Governance Mode kann auf den Compliance Mode hochgestuft werden.
Wenn Sie Objekte unter dem Governance Mode löschen möchten, benötigen Sie einen IAM-User mit der s3:BypassGovernanceRetention
Berechtigung. Dazu muss bei jedem Call, der diese Berechtigung Nutzer soll, der Header x-amz-bypass-governance-retention:true
mitgegeben werden.
Im Compliance Mode kann kein Benutzer, auch kein Root-Benutzer, eine Objektversion verändern oder löschen. In diesem Modus besteht keine Möglichkeit, den Schutz zu umgehen. Der Compliance Mode kann für die Erfüllung von regulatorischen Anforderungen genutzt werden (z.B. im Finanz- und Gesundheitswesen). Einmal gesetzt, kann die Object Lock Dauer im Compliance Mode nicht verkürzt oder entfernt werden (lediglich verlängert). Es ist auch nicht möglich, eine Policy vom Compliance Mode auf den Governance Mode herunterzustufen.
Bei der Wahl des richtigen Object Lock Mode ist also Vorsicht geboten. Ein unbeabsichtigtes Setzen von Object Lock für 99 Jahre (die höchste auswählbare Dauer) im Compliance Mode ist nicht reversibel. Gerne beraten wir Sie im Detail über die Vor- und Nachteile der beiden Modi und planen den für Sie passenden Einsatzzweck.
Retention Periods können auf Stufe Bucket oder auf Stufe Objekt definiert werden.
Wenn die Retention Period einem Objekt mitgegeben werden soll, dann wird bei dies mittels dem Retain Until Date Header für das Objekt bewerkstelligt.
Wenn die Retention Period auf deinem Bucket definiert wird, muss die Retain Until Date nicht manuell mitgegeben werden. Stattdessen berechnet der S3 Server diese Metadaten automatisch anhand der auf dem Bucket gesetzten Object Lock Dauer. Am Ende hat aber in beiden Fällen jedes Objekt seine eigene Retention Dauer, entweder weil explizit mitgegeben oder automatisch anhand der Bucket Policy berechnet.
Retention Periods beziehen sich immer auf eine Objektversion. Verschiedene Versionen eines Objektes können verschiedene Retention Periods besitzen.
Wird ein Löschversuch unternommen, wird dieser nur durchgeführt, wenn das "Retain Until Date" Datum in der Vergangenheit liegt. Eine Ausnahme besteht darin, dass die Löschung nicht erfolgreich ist, wenn auf einem Objekt bzw. einer Objektversion ein Legal Hold angewendet wurde. In diesem Fall kann eine Objektversion trotz abgelaufener Retention Period nicht gelöscht werden.
Ein Legal Hold ist eine von der Retention Period unabhängige Funktion, mit der S3-Objekte vor Löschung und Änderung geschützt werden können. Legal Holds können auf alle Objekte in einem Bucket angewendet werden, auf dem Object Lock aktiviert ist. Ein Legal Hold hat keinen Einfluss auf die Retention Period einer Objektversion. Ein Legal Hold kann so lange nicht umgangen werden, bis der berechtige Benutzer diesen wieder aufhebt. Ein Legal Hold ist immer auf unbestimmte Zeit aktiv. Wenn ein Legal Hold auf einem Objekt aktiviert ist, kann es nicht gelöscht werden, unabhängig der Retention Period.
Legal Holds können von allen Benutzern mit der s3:PutObjectLegalHold
Berechtigung auf Objekte angewendet und wieder zurückgezogen werden.
Das sind weitere Beiträge, die Sie interessieren könnten.
Zur Blogübersicht