Mit Object Lock kann sichergestellt werden, dass Objekte, welche von einem S3 Client oder einer Backuplösung gespeichert werden, nicht überschrieben oder gelöscht werden können.
Hierfür kann man im Object Storage Portal eine entsprechende Policy definieren. Dies ist in der folgenden Anleitung erklärt.
Bucket erstellen
Bei der Erstellung eines Buckets muss das entsprechende Flag «Object Lock» auf «Enable» gestellt werden. Beim Speichern wird eine Warnung angezeigt, dass dies eine nicht wiederrufbare Einstellung ist, sowie dass «Versioning» für den Bucket aktiviert wird.
Anschliessend wird der neu erstellte Bucket mit einem «Schlösschen» angezeigt. Dies bedeutet, dass Object Lock erfolgreich aktiviert wurde.
Jetzt kann über die Funktion «Properties» und dann im Reiter «Object Lock» die entsprechende Policy sowie der Aufbewahrungszeitraum definiert werden.
Generell gilt, dass die Konfiguration des Buckets (Aufbewahrungszeit) als Basis für die einzelnen Objekte genommen wird. Wird Datei A am Tag 1 hochgeladen und die Aufbewahrungszeit ist 7 Tage, kann sie am Tag 7 gelöscht werden. Datei B wird am Tag 3 hochgeladen und kann entsprechend an Tag 10 gelöscht werden.
Object Lock Policies
«Governance Mode» bedeutet, dass die Objekte im Bucket während der definierten Zeit (in diesem Fall 7 Tage) nicht verändert oder gelöscht werden können, ausser man benutzt dafür einen speziell dafür angelegten Benutzer mit Sonderrechten (oder der Inhaber des Buckets).
«Compliance Mode» bedeutet, dass die Objekte im Bucket gleich wie beim «Governance Mode» nicht verändert oder gelöscht werden können. Hierbei ist aber wichtig, dass es auch dem Administrator nicht mehr möglich sein wird, dies zu ändern. Die Daten sind geschrieben und fortan unveränderbar, bis die Frist abläuft.
«None» bedeutet, dass Object Lock grundsätzlich als Funktion auf dem Bucket aktiviert ist, jedoch keine default Policy definiert wird. Backuplösungen wie Veeam setzen die «Retention policies» selbstständig auf die Objekte direkt via API, somit muss/sollte hier kein Default gesetzt werden.
Auf den einzelnen Objekten sieht man nun, dass die «Löschfunktion» nicht angezeigt wird. Unter «Properties» kann eingesehen werden, wie lange die aktuelle Version noch gesperrt ist.