Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Verwenden Sie die S3 REST API, um S3 Object Lock zu konfigurieren

Wenn die globale S3-Objektsperre-Einstellung für Ihr StorageGRID System aktiviert ist, können Sie Buckets mit aktivierter S3-Objektsperre erstellen. Sie können die Standardaufbewahrung für jeden Bucket oder Aufbewahrungseinstellungen für jede Objektversion angeben.

So aktivieren Sie die S3-Objektsperre für einen Bucket

Wenn die globale S3-Objektsperre-Einstellung für Ihr StorageGRID System aktiviert ist, können Sie die S3-Objektsperre optional aktivieren, wenn Sie jeden Bucket erstellen.

S3 Object Lock ist eine permanente Einstellung, die nur aktiviert werden kann, wenn Sie einen Bucket erstellen. Sie können die S3-Objektsperre nicht hinzufügen oder deaktivieren, nachdem ein Bucket erstellt wurde.

Um die S3-Objektsperre für einen Bucket zu aktivieren, verwenden Sie eine der folgenden Methoden:

  • Erstellen Sie den Bucket mit dem Tenant Manager. Sehen "S3-Bucket erstellen" .

  • Erstellen Sie den Bucket mithilfe einer CreateBucket-Anforderung mit dem x-amz-bucket-object-lock-enabled Anforderungsheader. Sehen "Operationen an Buckets" .

S3 Object Lock erfordert eine Bucket-Versionierung, die beim Erstellen des Buckets automatisch aktiviert wird. Sie können die Versionsverwaltung für den Bucket nicht aussetzen. Sehen "Objektversionierung" .

Standardaufbewahrungseinstellungen für einen Bucket

Wenn S3 Object Lock für einen Bucket aktiviert ist, können Sie optional die Standardaufbewahrung für den Bucket aktivieren und einen Standardaufbewahrungsmodus und eine Standardaufbewahrungsdauer angeben.

Standardaufbewahrungsmodus

  • Im COMPLIANCE-Modus:

    • Das Objekt kann erst gelöscht werden, wenn sein Aufbewahrungsdatum erreicht ist.

    • Das Aufbewahrungsdatum des Objekts kann erhöht, aber nicht verringert werden.

    • Das Aufbewahrungsdatum des Objekts kann erst entfernt werden, wenn dieses Datum erreicht ist.

  • Im GOVERNANCE-Modus:

    • Benutzer mit der s3:BypassGovernanceRetention Berechtigung kann die x-amz-bypass-governance-retention: true Anforderungsheader zum Umgehen der Aufbewahrungseinstellungen.

    • Diese Benutzer können eine Objektversion löschen, bevor ihr Aufbewahrungsdatum erreicht ist.

    • Diese Benutzer können das Aufbewahrungsdatum eines Objekts erhöhen, verringern oder entfernen.

Standardaufbewahrungsdauer

Für jeden Bucket kann eine Standardaufbewahrungsdauer in Jahren oder Tagen angegeben werden.

So legen Sie die Standardaufbewahrung für einen Bucket fest

Um die Standardaufbewahrung für einen Bucket festzulegen, verwenden Sie eine der folgenden Methoden:

PutObjectLockConfiguration

Mit der PutObjectLockConfiguration-Anforderung können Sie den Standardaufbewahrungsmodus und die Standardaufbewahrungsdauer für einen Bucket festlegen und ändern, bei dem S3 Object Lock aktiviert ist. Sie können auch zuvor konfigurierte Standardaufbewahrungseinstellungen entfernen.

Wenn neue Objektversionen in den Bucket aufgenommen werden, wird der Standardaufbewahrungsmodus angewendet, wenn x-amz-object-lock-mode Und x-amz-object-lock-retain-until-date sind nicht angegeben. Die Standardaufbewahrungsfrist wird zur Berechnung des Aufbewahrungs-bis-Datums verwendet, wenn x-amz-object-lock-retain-until-date ist nicht angegeben.

Wenn die Standardaufbewahrungsfrist nach der Aufnahme einer Objektversion geändert wird, bleibt das Aufbewahrungsdatum der Objektversion gleich und wird nicht anhand der neuen Standardaufbewahrungsfrist neu berechnet.

Sie müssen über die s3:PutBucketObjectLockConfiguration Berechtigung oder Root-Konto sein, um diesen Vorgang abzuschließen.

Der Content-MD5 Der Anforderungsheader muss in der PUT-Anforderung angegeben werden.

Anforderungsbeispiel

Dieses Beispiel aktiviert S3 Object Lock für einen Bucket und legt den Standardaufbewahrungsmodus auf COMPLIANCE und die Standardaufbewahrungsdauer auf 6 Jahre fest.

PUT /bucket?object-lock HTTP/1.1
Accept-Encoding: identity
Content-Length: 308
Host: host
Content-MD5: request header
User-Agent: s3sign/1.0.0 requests/2.24.0 python/3.8.2
X-Amz-Date: date
X-Amz-Content-SHA256: authorization-string
Authorization: authorization-string

<ObjectLockConfiguration>
    <ObjectLockEnabled>Enabled</ObjectLockEnabled>
    <Rule>
        <DefaultRetention>
            <Mode>COMPLIANCE</Mode>
            <Years>6</Years>
        </DefaultRetention>
    </Rule>
</ObjectLockConfiguration>

So bestimmen Sie die Standardaufbewahrung für einen Bucket

Um festzustellen, ob S3 Object Lock für einen Bucket aktiviert ist, und um den Standardaufbewahrungsmodus und die Aufbewahrungsdauer anzuzeigen, verwenden Sie eine der folgenden Methoden:

  • Zeigen Sie den Bucket im Mandanten-Manager an. Sehen "S3-Buckets anzeigen" .

  • Geben Sie eine GetObjectLockConfiguration-Anforderung aus.

GetObjectLockConfiguration

Mit der GetObjectLockConfiguration-Anforderung können Sie feststellen, ob die S3-Objektsperre für einen Bucket aktiviert ist. Wenn dies der Fall ist, können Sie prüfen, ob für den Bucket ein Standardaufbewahrungsmodus und eine Standardaufbewahrungsdauer konfiguriert sind.

Wenn neue Objektversionen in den Bucket aufgenommen werden, wird der Standardaufbewahrungsmodus angewendet, wenn x-amz-object-lock-mode ist nicht angegeben. Die Standardaufbewahrungsfrist wird zur Berechnung des Aufbewahrungs-bis-Datums verwendet, wenn x-amz-object-lock-retain-until-date ist nicht angegeben.

Sie müssen über die s3:GetBucketObjectLockConfiguration Berechtigung oder Root-Konto sein, um diesen Vorgang abzuschließen.

Anforderungsbeispiel

GET /bucket?object-lock HTTP/1.1
Host: host
Accept-Encoding: identity
User-Agent: aws-cli/1.18.106 Python/3.8.2 Linux/4.4.0-18362-Microsoft botocore/1.17.29
x-amz-date: date
x-amz-content-sha256: authorization-string
Authorization: authorization-string

Antwortbeispiel

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIXk=
x-amz-request-id: B34E94CACB2CEF6D
Date: Fri, 04 Sep 2020 22:47:09 GMT
Transfer-Encoding: chunked
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<ObjectLockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <ObjectLockEnabled>Enabled</ObjectLockEnabled>
    <Rule>
        <DefaultRetention>
            <Mode>COMPLIANCE</Mode>
            <Years>6</Years>
        </DefaultRetention>
    </Rule>
</ObjectLockConfiguration>

So legen Sie Aufbewahrungseinstellungen für ein Objekt fest

Ein Bucket mit aktivierter S3 Object Lock kann eine Kombination aus Objekten mit und ohne S3 Object Lock-Aufbewahrungseinstellungen enthalten.

Aufbewahrungseinstellungen auf Objektebene werden mithilfe der S3 REST-API angegeben. Die Aufbewahrungseinstellungen für ein Objekt überschreiben alle Standardaufbewahrungseinstellungen für den Bucket.

Sie können für jedes Objekt die folgenden Einstellungen festlegen:

  • Aufbewahrungsmodus: Entweder COMPLIANCE oder GOVERNANCE.

  • Aufbewahrungsdatum: Ein Datum, das angibt, wie lange die Objektversion von StorageGRID aufbewahrt werden muss.

    • Wenn das Aufbewahrungsdatum im COMPLIANCE-Modus in der Zukunft liegt, kann das Objekt zwar abgerufen, aber nicht geändert oder gelöscht werden. Das Aufbewahrungsdatum kann verlängert werden, es kann jedoch nicht verkürzt oder entfernt werden.

    • Im GOVERNANCE-Modus können Benutzer mit Sonderberechtigung die Einstellung „Aufbewahren bis Datum“ umgehen. Sie können eine Objektversion löschen, bevor ihre Aufbewahrungsfrist abgelaufen ist. Sie können das Aufbewahrungsdatum auch verlängern, verkürzen oder sogar entfernen.

  • Rechtliche Sperre: Durch Anwenden einer rechtlichen Sperre auf eine Objektversion wird dieses Objekt sofort gesperrt. Beispielsweise müssen Sie möglicherweise ein Objekt, das mit einer Untersuchung oder einem Rechtsstreit in Zusammenhang steht, rechtlich sperren. Eine rechtliche Sperre hat kein Ablaufdatum, sondern bleibt bestehen, bis sie ausdrücklich aufgehoben wird.

    Die Einstellung für die rechtliche Aufbewahrung eines Objekts ist unabhängig vom Aufbewahrungsmodus und dem Aufbewahrungsdatum. Wenn eine Objektversion einer rechtlichen Sperre unterliegt, kann niemand diese Version löschen.

Um S3 Object Lock-Einstellungen anzugeben, wenn Sie einem Bucket eine Objektversion hinzufügen, führen Sie einen"PutObject" ,"Objekt kopieren" , oder"CreateMultipartUpload" Anfrage.

Sie können Folgendes verwenden:

  • x-amz-object-lock-mode, wobei COMPLIANCE oder GOVERNANCE (Groß-/Kleinschreibung beachten) lauten kann.

    Hinweis Wenn Sie angeben x-amz-object-lock-mode müssen Sie außerdem angeben x-amz-object-lock-retain-until-date .
  • x-amz-object-lock-retain-until-date

    • Der Wert für das Retain-until-Datum muss das Format haben 2020-08-10T21:46:00Z . Sekundenbruchteile sind zulässig, es bleiben jedoch nur 3 Dezimalstellen erhalten (Millisekundengenauigkeit). Andere ISO 8601-Formate sind nicht zulässig.

    • Das Aufbewahrungsdatum muss in der Zukunft liegen.

  • x-amz-object-lock-legal-hold

    Wenn die rechtliche Sperre aktiviert ist (Groß-/Kleinschreibung beachten), wird das Objekt einer rechtlichen Sperre unterzogen. Wenn die rechtliche Sperre deaktiviert ist, wird keine rechtliche Sperre verhängt. Jeder andere Wert führt zu einem 400 Bad Request (InvalidArgument)-Fehler.

Wenn Sie einen dieser Anforderungsheader verwenden, beachten Sie die folgenden Einschränkungen:

  • Der Content-MD5 Anforderungsheader ist erforderlich, falls vorhanden x-amz-object-lock-* Der Anforderungsheader ist in der PutObject-Anforderung vorhanden. Content-MD5 ist für CopyObject oder CreateMultipartUpload nicht erforderlich.

  • Wenn für den Bucket die S3-Objektsperre nicht aktiviert ist und ein x-amz-object-lock-* Wenn kein Anforderungsheader vorhanden ist, wird der Fehler „400 Bad Request (InvalidRequest)“ zurückgegeben.

  • Die PutObject-Anforderung unterstützt die Verwendung von x-amz-storage-class: REDUCED_REDUNDANCY um dem AWS-Verhalten zu entsprechen. Wenn jedoch ein Objekt in einen Bucket mit aktivierter S3-Objektsperre aufgenommen wird, führt StorageGRID immer eine Aufnahme mit doppeltem Commit durch.

  • Eine nachfolgende GET- oder HeadObject-Versionsantwort enthält die Header x-amz-object-lock-mode , x-amz-object-lock-retain-until-date , Und x-amz-object-lock-legal-hold , sofern konfiguriert und der Absender der Anfrage über die richtige s3:Get* Berechtigungen.

Sie können die s3:object-lock-remaining-retention-days Richtlinienbedingungsschlüssel, um die minimal und maximal zulässigen Aufbewahrungsfristen für Ihre Objekte zu begrenzen.

So aktualisieren Sie die Aufbewahrungseinstellungen für ein Objekt

Wenn Sie die Einstellungen für die gesetzliche Aufbewahrungspflicht oder die Aufbewahrungsdauer für eine vorhandene Objektversion aktualisieren müssen, können Sie die folgenden Vorgänge für die Objektunterressource ausführen:

  • PutObjectLegalHold

    Wenn der neue Wert für die rechtliche Sperre EIN ist, wird das Objekt einer rechtlichen Sperre unterzogen. Wenn der Legal-Hold-Wert auf „AUS“ gesetzt ist, wird der Legal Hold aufgehoben.

  • PutObjectRetention

    • Der Moduswert kann COMPLIANCE oder GOVERNANCE sein (Groß-/Kleinschreibung beachten).

    • Der Wert für das Retain-until-Datum muss das Format haben 2020-08-10T21:46:00Z . Sekundenbruchteile sind zulässig, es bleiben jedoch nur 3 Dezimalstellen erhalten (Millisekundengenauigkeit). Andere ISO 8601-Formate sind nicht zulässig.

    • Wenn für eine Objektversion ein vorhandenes Aufbewahrungsdatum vorhanden ist, können Sie dieses nur erhöhen. Der neue Wert muss in der Zukunft liegen.

So verwenden Sie den GOVERNANCE-Modus

Benutzer mit der s3:BypassGovernanceRetention Die Berechtigung kann die aktiven Aufbewahrungseinstellungen eines Objekts umgehen, das den GOVERNANCE-Modus verwendet. Alle DELETE- oder PutObjectRetention-Vorgänge müssen Folgendes enthalten: x-amz-bypass-governance-retention:true Anforderungsheader. Diese Benutzer können die folgenden zusätzlichen Vorgänge ausführen:

  • Führen Sie die Vorgänge „DeleteObject“ oder „DeleteObjects“ aus, um eine Objektversion zu löschen, bevor ihre Aufbewahrungsfrist abgelaufen ist.

    Objekte, die einer rechtlichen Sperre unterliegen, können nicht gelöscht werden. Die rechtliche Sperre muss deaktiviert sein.

  • Führen Sie PutObjectRetention-Vorgänge durch, die den Modus einer Objektversion von GOVERNANCE in COMPLIANCE ändern, bevor die Aufbewahrungsfrist des Objekts abgelaufen ist.

    Ein Wechsel des Modus von COMPLIANCE zu GOVERNANCE ist niemals zulässig.

  • Führen Sie PutObjectRetention-Vorgänge durch, um die Aufbewahrungsdauer einer Objektversion zu erhöhen, zu verringern oder zu entfernen.