Erstellen und verwalten Sie eine Object Lock im Object Storage
Zuletzt aktualisiert am
Die Object Lock verhindert, dass Objekte gelöscht oder überschrieben werden, bis eine bestimmte Aufbewahrungsfrist abgelaufen ist. In dieser Anleitung werden alle Vorgänge der Object Lock behandelt: Aktivieren der Compliance-Sperre, Erstellen eines Buckets mit Object Lock, Konfigurieren der Standardaufbewahrung und Verwalten der Aufbewahrung auf Objektebene.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Ein STACKIT-Projekt mit aktiviertem Object Storage
- Entsprechende Projektberechtigungen
- S3-kompatible Anmeldeinformationen (Zugriffsschlüssel + geheimer Zugriffsschlüssel) für Vorgänge auf Objektebene
Aktivieren Sie die Compliance-Sperre
Abschnitt betitelt „Aktivieren Sie die Compliance-Sperre“Die Compliance-Sperre ist der Schalter auf Projektebene, der die S3-Object Lock für alle Buckets in einem STACKIT-Projekt aktiviert. Es muss aktiviert werden, bevor Sie Buckets mit Object Lock erstellen oder Aufbewahrungsrichtlinien konfigurieren können.
Aktivieren Sie die Compliance-Sperre
Abschnitt betitelt „Aktivieren Sie die Compliance-Sperre“curl -X POST \ "https://object-storage.api.{region}.stackit.cloud/v1/project/{projectId}/compliance-lock" \ -H "Authorization: Bearer $TOKEN"Antwort (HTTP 201):
{ "project": "cd5e788d-5b7b-4ab9-a20d-e790205df10b", "maxRetentionDays": 365}Mögliche Fehler
Abschnitt betitelt „Mögliche Fehler“| Status | Grund |
|---|---|
| 404 | Projekt nicht gefunden |
| 409 | Die Compliance-Sperre ist bereits aktiv |
Überprüfen Sie den Status der Compliance-Sperre
Abschnitt betitelt „Überprüfen Sie den Status der Compliance-Sperre“curl -X GET \ "https://object-storage.api.{region}.stackit.cloud/v1/project/{projectId}/compliance-lock" \ -H "Authorization: Bearer $TOKEN"Antwort (HTTP 200):
{ "project": "cd5e788d-5b7b-4ab9-a20d-e790205df10b", "maxRetentionDays": 365}Gibt HTTP 404 zurück, wenn die Compliance-Sperre nicht aktiv ist.
Deaktivieren Sie die Compliance-Sperre
Abschnitt betitelt „Deaktivieren Sie die Compliance-Sperre“curl -X DELETE \ "https://object-storage.api.{region}.stackit.cloud/v1/project/{projectId}/compliance-lock" \ -H "Authorization: Bearer $TOKEN"Antwort (HTTP 200):
{ "project": "cd5e788d-5b7b-4ab9-a20d-e790205df10b", "maxRetentionDays": 365}Mögliche Fehler
Abschnitt betitelt „Mögliche Fehler“| Status | Grund |
|---|---|
| 404 | Die Compliance-Sperre ist nicht aktiv |
| 409 | Es gibt weiterhin Buckets mit Object Lock |
Löschschutz
Abschnitt betitelt „Löschschutz“Ein Projekt mit aktiver Compliance-Sperre kann nicht gelöscht werden. Sowohl die Endpunkte zum regulären Projektlöschen als auch zum erzwungenen Löschen geben HTTP 409-Konflikt zurück, wenn die Compliance-Sperre aktiv ist.
Um ein Projekt zu löschen, müssen Sie zunächst die Compliance-Sperre deaktivieren.
Erstellen Sie einen Bucket mit Object Lock
Abschnitt betitelt „Erstellen Sie einen Bucket mit Object Lock“Die Object Lock kann nur zum Zeitpunkt der Bucket-Erstellung aktiviert werden. Es kann nicht für vorhandene Buckets aktiviert oder nach der Erstellung deaktiviert werden.
Die Compliance-Sperre muss aktiv sein, bevor ein Bucket mit Object Lock erstellt wird.
Erstellen Sie den Bucket
Abschnitt betitelt „Erstellen Sie den Bucket“Fügen Sie beim Erstellen eines Buckets den Query-Parameter objectLockEnabled=true hinzu:
curl -X POST \ "https://object-storage.api.{region}.stackit.cloud/v1/project/{projectId}/bucket/{bucketName}?objectLockEnabled=true" \ -H "Authorization: Bearer $TOKEN"Antwort (HTTP 201):
{ "project": "cd5e788d-5b7b-4ab9-a20d-e790205df10b", "bucket": "my-compliant-bucket"}Mögliche Fehler
Abschnitt betitelt „Mögliche Fehler“| Status | Grund |
|---|---|
| 404 | Projekt nicht gefunden |
| 409 | Compliance Lock ist nicht aktiv (muss zuerst aktiviert werden) |
| 409 | Ein Bucket mit diesem Namen existiert bereits |
Was als nächstes passiert
Abschnitt betitelt „Was als nächstes passiert“Sobald ein Bucket mit aktivierter Object Lock erstellt wurde:
- Die Versionierung ist automatisch aktiviert. Die Object Lock erfordert eine Bucket-Versionierung. Es wird automatisch eingeschaltet und kann nicht ausgesetzt werden.
- Sie können eine Standardaufbewahrungsrichtlinie konfigurieren, um einen automatischen Aufbewahrungszeitraum für alle hochgeladenen Objekte festzulegen. Siehe Konfigurieren Sie die Standardaufbewahrung.
- Sie können die Aufbewahrung pro Objekt festlegen mithilfe der S3-kompatiblen API. Siehe Verwalten Sie die Aufbewahrung auf Objektebene.
Wichtige Hinweise
Abschnitt betitelt „Wichtige Hinweise“- Die Object Lock kann nach der Bucket-Erstellung nicht deaktiviert werden.
- Sie können in einem Projekt mit aktivierter Compliance-Sperre auch Buckets ohne Object Lock erstellen. Lassen Sie den Parameter
objectLockEnabledweg oder setzen Sie ihn auffalse. - Ein Bucket-Name muss DNS-konform sein (3–63 Zeichen).
Konfigurieren Sie die Standardaufbewahrung
Abschnitt betitelt „Konfigurieren Sie die Standardaufbewahrung“Eine Standardaufbewahrungsrichtlinie wendet automatisch einen Aufbewahrungszeitraum auf jedes in einen Bucket hochgeladene Objekt an. Dies erspart Ihnen die Notwendigkeit, die Aufbewahrung für jedes Objekt einzeln festzulegen.
Der Bucket muss erstellt mit aktivierter Object Lock sein.
Aufbewahrungsmodi
Abschnitt betitelt „Aufbewahrungsmodi“| Modus | Verhalten |
|---|---|
| EINHALTUNG | Bis zum Ablauf der Aufbewahrungsfrist können Objekte von niemandem gelöscht oder überschrieben werden. Dieser Modus ist für regulatorische Anforderungen geeignet. |
| GOVERNANCE | Objekte sind geschützt, aber Benutzer mit der Berechtigung s3:BypassGovernanceRetention können sie vor Ablauf der Aufbewahrungsfrist ändern oder löschen. Das ist nützlich als Schutz vor versehentlichem Löschen. |
Legen Sie die Standardaufbewahrung fest oder aktualisieren Sie sie
Abschnitt betitelt „Legen Sie die Standardaufbewahrung fest oder aktualisieren Sie sie“curl -X PUT \ "https://object-storage.api.{region}.stackit.cloud/v1/project/{projectId}/bucket/{bucketName}/default-retention" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "mode": "COMPLIANCE", "days": 90 }'Antwort (HTTP 200):
{ "project": "cd5e788d-5b7b-4ab9-a20d-e790205df10b", "bucket": "my-compliant-bucket", "mode": "COMPLIANCE", "days": 90}Parameter
Abschnitt betitelt „Parameter“| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
mode | string | Yes | COMPLIANCE oder GOVERNANCE |
days | integer | Yes | Aufbewahrungszeitraum in Tagen. Muss größer als 0 sein und darf 365 Tage nicht überschreiten. |
Mögliche Fehler
Abschnitt betitelt „Mögliche Fehler“| Status | Grund |
|---|---|
| 400 | days überschreitet den maximalen Aufbewahrungszeitraum von 365 Tagen |
| 404 | Projekt, Bucket oder Object Lock nicht gefunden |
| 409 | Die Compliance-Sperre ist für das Projekt nicht aktiv |
Sie können den Standardaufbewahrungsmodus und die Standarddauer jederzeit ändern, indem Sie den PUT-Endpunkt erneut aufrufen. Änderungen gelten nur für Objekte, die nach dem Update hochgeladen wurden.
Rufen Sie die aktuelle Standardaufbewahrung ab
Abschnitt betitelt „Rufen Sie die aktuelle Standardaufbewahrung ab“curl -X GET \ "https://object-storage.api.{region}.stackit.cloud/v1/project/{projectId}/bucket/{bucketName}/default-retention" \ -H "Authorization: Bearer $TOKEN"Antwort (HTTP 200):
{ "project": "cd5e788d-5b7b-4ab9-a20d-e790205df10b", "bucket": "my-compliant-bucket", "mode": "COMPLIANCE", "days": 90}Gibt HTTP 404 zurück, wenn keine Standardaufbewahrung konfiguriert ist, wenn der Object Lock für den Bucket nicht aktiviert ist oder wenn der Bucket nicht vorhanden ist.
Entfernen Sie die Standardaufbewahrung
Abschnitt betitelt „Entfernen Sie die Standardaufbewahrung“curl -X DELETE \ "https://object-storage.api.{region}.stackit.cloud/v1/project/{projectId}/bucket/{bucketName}/default-retention" \ -H "Authorization: Bearer $TOKEN"Antwort (HTTP 200):
{ "project": "cd5e788d-5b7b-4ab9-a20d-e790205df10b", "bucket": "my-compliant-bucket"}Verwalten Sie die Aufbewahrung auf Objektebene mit der S3-API
Abschnitt betitelt „Verwalten Sie die Aufbewahrung auf Objektebene mit der S3-API“Zusätzlich zur Standardaufbewahrung auf Bucket-Ebene können Sie Aufbewahrungseinstellungen für einzelne Objekte mithilfe der S3-kompatiblen API verwalten. Auf diese Weise können Sie die Aufbewahrung pro Objekt festlegen, erweitern oder abfragen.
Der Bucket muss über eine Object Lock aktiviert verfügen.
Aufbewahrung für ein Objekt festlegen
Abschnitt betitelt „Aufbewahrung für ein Objekt festlegen“Verwenden Sie put-object-retention, um den Aufbewahrungszeitraum für ein Objekt festzulegen oder zu verlängern:
aws s3api put-object-retention \ --bucket my-compliant-bucket \ --key my-document.pdf \ --retention '{"Mode": "COMPLIANCE", "RetainUntilDate": "2025-12-31T00:00:00Z"}' \ --endpoint-url https://object.storage.eu01.onstackit.cloudParameter
Abschnitt betitelt „Parameter“| Feld | Typ | Beschreibung |
|---|---|---|
Mode | string | COMPLIANCE oder GOVERNANCE |
RetainUntilDate | ISO 8601 timestamp | Datum, bis zu dem das Objekt geschützt ist |
Erhalten Sie die Aufbewahrung eines Objekts
Abschnitt betitelt „Erhalten Sie die Aufbewahrung eines Objekts“aws s3api get-object-retention \ --bucket my-compliant-bucket \ --key my-document.pdf \ --endpoint-url https://object.storage.eu01.onstackit.cloudAntwort:
{ "Retention": { "Mode": "COMPLIANCE", "RetainUntilDate": "2025-12-31T00:00:00Z" }}Rechtliche Aufbewahrungsfrist
Abschnitt betitelt „Rechtliche Aufbewahrungsfrist“Eine gesetzliche Aufbewahrungsfrist verhindert, dass ein Objekt gelöscht wird, unabhängig von seinen Aufbewahrungseinstellungen. Im Gegensatz zur Aufbewahrung hat eine gesetzliche Aufbewahrungsfrist kein Ablaufdatum. Sie bleibt gültig, bis sie ausdrücklich entfernt wird.
Legal Hold aktivieren
Abschnitt betitelt „Legal Hold aktivieren“aws s3api put-object-legal-hold \ --bucket my-compliant-bucket \ --key my-document.pdf \ --legal-hold '{"Status": "ON"}' \ --endpoint-url https://object.storage.eu01.onstackit.cloudLegal Hold deaktivieren
Abschnitt betitelt „Legal Hold deaktivieren“aws s3api put-object-legal-hold \ --bucket my-compliant-bucket \ --key my-document.pdf \ --legal-hold '{"Status": "OFF"}' \ --endpoint-url https://object.storage.eu01.onstackit.cloudÜberprüfen Sie den Status der rechtlichen Sperre
Abschnitt betitelt „Überprüfen Sie den Status der rechtlichen Sperre“aws s3api get-object-legal-hold \ --bucket my-compliant-bucket \ --key my-document.pdf \ --endpoint-url https://object.storage.eu01.onstackit.cloudWechselwirkung zwischen Aufbewahrung und gesetzlicher Aufbewahrungsfrist
Abschnitt betitelt „Wechselwirkung zwischen Aufbewahrung und gesetzlicher Aufbewahrungsfrist“Für ein Objekt kann gleichzeitig eine Aufbewahrungsfrist und eine gesetzliche Aufbewahrungsfrist gelten. Damit das Objekt gelöscht werden kann, müssen beide Bedingungen erfüllt sein:
- Der Aufbewahrungszeitraum muss abgelaufen sein (oder es ist keine Aufbewahrung festgelegt).
- Legal Hold muss AUS sein (oder nicht eingestellt sein).
| Aufbewahrung aktiv? | Legal Hold aktiv? | Objekt kann gelöscht werden? |
|---|---|---|
| NEIN | NEIN | Ja |
| Ja | NEIN | Nein (bis zum Ablauf der Aufbewahrung) |
| NEIN | Ja | Nein (bis die gesetzliche Aufbewahrungspflicht aufgehoben wird) |
| Ja | Ja | Nein (beides muss gelöst werden) |