Um Objekte vor versehentlichem Löschen zu schützen, können Sie die "Object Lock"-Optionen Legal Hold und Retention nutzen. Genauere Informationen darüber, inwiefern sich diese beiden Optionen unterscheiden, finden Sie in dem FAQ-Eintrag "Was ist der Unterschied zwischen Versioning und Object Locking?".
In diesem Getting Started geht es um Retention. Wie in der Liste unterstützter Actions bereits erwähnt, muss Object Lock bereits beim Erstellen des Buckets aktiviert werden.
Die Befehle zum Verwalten von Retention unterscheiden sich je nach S3-kompatiblem Tool. Die folgenden Schritte werden mittels Beispielbefehlen für MinIO Client und AWS CLI erklärt.
-
Neuen Bucket mit Object Lock erstellen
-
mc mb <alias_name>/<bucket_name> --with-lock --region fsn1
-
aws s3api create-bucket \ --bucket <bucket_name> \ --region fsn1 \ --object-lock-enabled-for-bucket
Falls ein Fehler angezeigt wird, prüfen Sie den Inhalt von
~/.aws/config
. Wenn die Datei folgende Zeilen enthält, kommentieren Sie diese mit einem#
-Symbol aus:#s3 = # addressing_style = virtual
-
-
"Object Lock"-Status prüfen
-
mc stat <alias_name>/<bucket_name>
-
aws s3api get-object-lock-configuration --bucket <bucket_name>
-
-
Retention definieren
Als Modus kann angegeben werden: GOVERNANCE oder COMPLIANCE
-
Standard für neue Objekte im Bucket:
mc retention set GOVERNANCE 30d --default <alias_name>/<bucket_name>
Für ein existierendes Objekt:
mc retention set GOVERNANCE 30d <alias_name>/<bucket_name>/<object_name>
In beiden Befehlen kann entweder die Anzahl der Tage
#d
oder die Anzahl der Jahre#y
angegeben werden.
-
AWS CLI
Standard für neue Objekte im Bucket:
aws s3api put-object-lock-configuration --bucket <bucket_name> --object-lock-configuration \ '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "GOVERNANCE", "Days": 30 }}}'
Für ein existierendes Objekt:
aws s3api put-object-retention --bucket <bucket_name> --key <object_name> \ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "2025-01-01T12:00:00.00Z" }'
Im ersten Befehl kann entweder die Anzahl der Tage
"Days": #
oder die Anzahl der Jahre"Years": #
festgelegt werden. Im zweiten Befehl muss eine genaue Zeit angegeben werden.
-
-
Status vom Object Lock prüfen
-
Bucket-Standard:
mc retention info --json --default <alias_name>/<bucket_name>
Objekt-Status:
mc retention info --json <alias_name>/<bucket_name>/<object_name>
-
AWS CLI
aws s3api get-object-lock-configuration --bucket <bucket_name>
aws s3api get-object-retention --bucket <bucket_name> --key <object_name>
-
-
Retention-Zeitraum entfernen oder verkürzen
Beachten Sie, dass es nicht möglich ist den "Compliance Mode" frühzeitig zu beenden.
-
Standard Modus und Zeit für neue Objekte im Bucket entfernen:
mc retention clear --default --json <alias_name>/<bucket_name>
Für ein existierendes Objekt ändern:
mc retention set GOVERNANCE "1d" --bypass <alias_name>/<bucket_name>/<object_name>
-
AWS CLI
Standard Modus und Zeit für neue Objekte im Bucket entfernen:
aws s3api put-object-lock-configuration --bucket <bucket_name> --object-lock-configuration \ '{ "ObjectLockEnabled": "Enabled" }'
Für ein existierendes Objekt ändern:
aws s3api put-object-retention --bucket <bucket_name> --key <object_name> \ --retention '{ "Mode": "GOVERNANCE", "RetainUntilDate": "<current_timestamp>" }' \ --bypass-governance
-
Ihre Objekte sollten nun vor versehentlichem Löschen geschützt sein.
Nächste Schritte: